/** * EJB 3.1 Lite functionality is supported in Web project targeting Java EE 6 * web profile and wherever full EJB 3.1 is supported. */ public boolean isEjb31LiteSupported() { J2eeModule.Type moduleType = provider.getJ2eeModule().getType(); boolean ee6or7Web = ejbJarProfile != null && (ejbJarProfile.equals(Profile.JAVA_EE_6_WEB) || ejbJarProfile.equals(Profile.JAVA_EE_7_WEB)); return isEjb31Supported() || (J2eeModule.Type.WAR.equals(moduleType) && ee6or7Web); }
@Override public String[] getRecommendedTypes() { checkEnvironment(); if (isArchive) { return TYPES_ARCHIVE; } else if (projectCap.isEjb31LiteSupported()) { Set<String> set = new HashSet(Arrays.asList(TYPES)); if (projectCap.isEjb31Supported() || serverSupportsEJB31) { set.addAll(Arrays.asList(TYPES_EJB31)); } if (projectCap.isEjb32LiteSupported()) { set.addAll(Arrays.asList(TYPES_EJB32_LITE)); } else { set.addAll(Arrays.asList(TYPES_EJB31_LITE)); } return set.toArray(new String[set.size()]); } else { return TYPES; } }
@Override public String[] getPrivilegedTemplates() { checkEnvironment(); if (isArchive) { return PRIVILEGED_NAMES_ARCHIVE; } else { Set<String> set = new HashSet<String>(); if (projectCap.isEjb31LiteSupported()) { set.addAll(getPrivilegedTemplatesEE5()); if (projectCap.isEjb31Supported() || serverSupportsEJB31) { set.addAll(Arrays.asList(PRIVILEGED_NAMES_EE6_FULL)); } if (projectCap.isEjb32LiteSupported()) { set.addAll(Arrays.asList(PRIVILEGED_NAMES_EE7_WEB)); } else { set.addAll(Arrays.asList(PRIVILEGED_NAMES_EE6_WEB)); } } else if (isEE5) { set.addAll(getPrivilegedTemplatesEE5()); } else { set.addAll(WebProject.this.getPrivilegedTemplates()); } return set.toArray(new String[set.size()]); } }
@Override public boolean isInjectionTarget(CompilationController controller, TypeElement typeElement) { if (controller == null || typeElement==null) { throw new NullPointerException("Passed null to EEInjectiontargetQueryImplementation.isInjectionTarget(CompilationController, TypeElement)"); // NOI18N } FileObject fo = controller.getFileObject(); Project project = FileOwnerQuery.getOwner(fo); J2eeProjectCapabilities j2eeProjectCapabilities = J2eeProjectCapabilities.forProject(project); if (j2eeProjectCapabilities == null) { return false; } boolean ejb31 = j2eeProjectCapabilities.isEjb31Supported() || j2eeProjectCapabilities.isEjb31LiteSupported();//it's foe ee6 only or common annotations 1.1 if (ejb31 && !(ElementKind.INTERFACE==typeElement.getKind())) { List<? extends AnnotationMirror> annotations = typeElement.getAnnotationMirrors(); boolean found = false; for (AnnotationMirror m : annotations) { Name qualifiedName = ((TypeElement)m.getAnnotationType().asElement()).getQualifiedName(); if (qualifiedName.contentEquals("javax.annotation.ManagedBean")) { //NOI18N found = true; break; } } if (found) return true; } return false; }