Author: rmannibucau
Date: Tue Oct 29 16:40:38 2013
New Revision: 1536800

URL: http://svn.apache.org/r1536800
Log:
seems MetaRunner needs finder.link() so forcing the linkage

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
    
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java?rev=1536800&r1=1536799&r2=1536800&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
 Tue Oct 29 16:40:38 2013
@@ -62,7 +62,7 @@ public class FinderFactory {
     }
 
     public IAnnotationFinder create(DeploymentModule module) throws Exception {
-        IAnnotationFinder finder;
+        final AnnotationFinder finder;
         if (module instanceof WebModule) {
             WebModule webModule = (WebModule) module;
             final AnnotationFinder annotationFinder = newFinder(new 
WebappAggregatedArchive(webModule, webModule.getScannableUrls()));
@@ -92,13 +92,14 @@ public class FinderFactory {
 
             if (module instanceof Module) {
                 final DebugArchive archive = new DebugArchive(new 
ConfigurableClasspathArchive((Module) module, url));
-                final AnnotationFinder annotationFinder = newFinder(archive);
-                enableFinderOptions(annotationFinder);
-                finder = annotationFinder;
+                finder = newFinder(archive);
             } else {
-                final AnnotationFinder annotationFinder = newFinder(new 
DebugArchive(new ConfigurableClasspathArchive(module.getClassLoader(), url)));
-                enableFinderOptions(annotationFinder);
-                finder = annotationFinder;
+                finder = newFinder(new DebugArchive(new 
ConfigurableClasspathArchive(module.getClassLoader(), url)));
+            }
+            if ("true".equals(module.getProperties().getProperty(FORCE_LINK, 
"false"))) {
+                finder.link();
+            } else {
+                enableFinderOptions(finder);
             }
         } else {
             finder = new AnnotationFinder(new ClassesArchive());

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java?rev=1536800&r1=1536799&r2=1536800&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
 Tue Oct 29 16:40:38 2013
@@ -27,6 +27,7 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.config.AppModule;
 import org.apache.openejb.config.ConfigurationFactory;
 import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.config.FinderFactory;
 import org.apache.openejb.jee.ContainerTransaction;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.EnterpriseBean;
@@ -163,6 +164,9 @@ public @interface MetaTest {
                 }
 
                 final AppModule app = 
factory.loadApplication(this.getClass().getClassLoader(), "test", files);
+                for (final EjbModule ejbModule : app.getEjbModules()) {
+                    
ejbModule.getProperties().setProperty(FinderFactory.FORCE_LINK, 
Boolean.TRUE.toString());
+                }
 
                 OpenEjbConfiguration conf = factory.getOpenEjbConfiguration();
 
@@ -249,7 +253,9 @@ public @interface MetaTest {
             OpenejbJar openejbJar = new OpenejbJar();
             
openejbJar.addEjbDeployment(ejbJar.getEnterpriseBeans()[0]).setContainerId("foo");
 
-            return new EjbModule(ejbJar, openejbJar);
+            final EjbModule ejbModule = new EjbModule(ejbJar, openejbJar);
+            ejbModule.getProperties().setProperty(FinderFactory.FORCE_LINK, 
Boolean.TRUE.toString());
+            return ejbModule;
         }
 
         private <T> T newBean(Class<T> beanType, Class ejbClass) {


Reply via email to