You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by db...@apache.org on 2011/07/22 05:22:25 UTC
svn commit: r1149445 -
/geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java
Author: dblevins
Date: Fri Jul 22 03:22:24 2011
New Revision: 1149445
URL: http://svn.apache.org/viewvc?rev=1149445&view=rev
Log:
More tweaks to GERONIMO-6090 Attempting to get the algorithm to work
Modified:
geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java
Modified: geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java?rev=1149445&r1=1149444&r2=1149445&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/openwebbeans/geronimo-openwebbeans-builder/src/main/java/org/apache/geronimo/openwebbeans/deployment/OpenWebBeansModuleBuilderExtension.java Fri Jul 22 03:22:24 2011
@@ -32,8 +32,11 @@ import java.util.Set;
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
+import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.enterprise.inject.Produces;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.deployment.ModuleIDBuilder;
@@ -229,6 +232,8 @@ public class OpenWebBeansModuleBuilderEx
@Override
public boolean zipFileDiscoveryRequired(String zipFileName) {
+ // There is no path information here so we can only go by file name
+ // We were attempting to filter down to only jars in WEB-INF/lib/
return zipFileName.endsWith(".jar");
}
@@ -242,6 +247,8 @@ public class OpenWebBeansModuleBuilderEx
@Override
public boolean foundInJar(Bundle bundle, String zipFileName, ZipEntry zipEntry, InputStream in) throws Exception {
+ // TODO This line is never reached, we end up scanning all jar files by default
+ // this will no doubt cause a lot of issues in the EE TCK
String zipEntryName = zipEntry.getName();
if (zipEntryName.equals("META-INF/beans.xml")) {
annotationScanRequiredJarFiles.add(zipFileName);
@@ -250,11 +257,10 @@ public class OpenWebBeansModuleBuilderEx
}
});
- final String webInfClassesFolder = moduleNamePrefix + "WEB-INF/classes";
- final boolean webInfClassesScanRequired = bundle.getResource(moduleNamePrefix + "WEB-INF/beans.xml") != null;
+ final String webInfClassesFolder = moduleNamePrefix + "WEB-INF/classes/";
+ final boolean webInfClassesScanRequired = bundle.getEntry(moduleNamePrefix + "WEB-INF/beans.xml") != null;
//2. Scan annotations
- Map<Class<? extends Annotation>, Set<Class>> annotationClassSetMap = new HashMap<Class<? extends Annotation>, Set<Class>>();
BundleAnnotationFinder bundleAnnotationFinder = new BundleAnnotationFinder(packageAdmin, bundle, new ResourceDiscoveryFilter() {
@Override
@@ -275,10 +281,21 @@ public class OpenWebBeansModuleBuilderEx
final List<Member> members = new ArrayList<Member>();
- members.addAll(bundleAnnotationFinder.findAnnotatedMethods(Produces.class));
- members.addAll(bundleAnnotationFinder.findAnnotatedFields(Produces.class));
- members.addAll(bundleAnnotationFinder.findAnnotatedFields(EJB.class));
- members.addAll(bundleAnnotationFinder.findAnnotatedMethods(EJB.class));
+
+
+ final Class<? extends Annotation>[] annotation = new Class[]{
+ Produces.class,
+ EJB.class,
+ PersistenceContext.class,
+ PersistenceUnit.class,
+ Resource.class,
+ };
+
+ for (Class<? extends Annotation> annotationClass : annotation) {
+ members.addAll(bundleAnnotationFinder.findAnnotatedMethods(annotationClass));
+ members.addAll(bundleAnnotationFinder.findAnnotatedFields(annotationClass));
+
+ }
final Set<Class<?>> classes = new HashSet<Class<?>>();
for (Member member : members) {