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