You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/10/29 17:40:39 UTC

svn commit: r1536800 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/config/FinderFactory.java test/java/org/apache/openejb/meta/MetaTest.java

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) {