Hi guys, sorry for this commit message, a bad copy/paste
the real one was "skipping more known jars + trying to check jar without version in exclusions + trying to avoid to scan multiple times the same jars in ears" *Romain Manni-Bucau* *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* *Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* *Github: https://github.com/rmannibucau* ---------- Forwarded message ---------- From: <[email protected]> Date: 2013/2/9 Subject: svn commit: r1444411 - in /tomee/tomee/trunk/container/openejb-core/src/main: java/org/apache/openejb/config/ resources/ To: [email protected] Author: rmannibucau Date: Sat Feb 9 19:15:58 2013 New Revision: 1444411 URL: http://svn.apache.org/r1444411 Log: svn diff container/openejb-core/src/main/resources/default.exclusions Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1444411&r1=1444410&r2=1444411&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Sat Feb 9 19:15:58 2013 @@ -1215,6 +1215,18 @@ public class AnnotationDeployer implemen if (beans != null) { managedClasses = beans.getManagedClasses(); final List<String> classNames = getBeanClasses(finder); + + if (ejbModule.isWebapp()) { // add parent classes to let them be injectable (note we skipped scanning so we do it now) + final AppModule appModule = ejbModule.getAppModule(); + if (appModule != null) { + for (final EjbModule module : appModule.getEjbModules()) { + if (!module.isWebapp()) { + classNames.addAll(getBeanClasses(module.getFinder())); + } + } + } + } + for (String rawClassName : classNames) { final String className = realClassName(rawClassName); try { Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1444411&r1=1444410&r2=1444411&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java Sat Feb 9 19:15:58 2013 @@ -699,8 +699,6 @@ public class DeploymentLoader implements public void addWebModule(final AppModule appModule, final URL warUrl, final ClassLoader parentClassLoader, final String contextRoot, final String moduleName) throws OpenEJBException { final WebModule webModule = createWebModule(appModule.getJarLocation(), URLs.toFilePath(warUrl), parentClassLoader, contextRoot, moduleName); - final List<URL> parentUrls = filterWebappUrls(appModule.getAdditionalLibraries().toArray(new URL[appModule.getAdditionalLibraries().size()]), (URL) webModule.getAltDDs().get(NewLoaderLogic.EXCLUSION_FILE)); - webModule.getScannableUrls().addAll(parentUrls); addWebModule(webModule, appModule); } 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=1444411&r1=1444410&r2=1444411&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 Sat Feb 9 19:15:58 2013 @@ -34,7 +34,6 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; import java.util.ArrayList; -import java.util.Collection; import java.util.Iterator; import java.util.List; Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java?rev=1444411&r1=1444410&r2=1444411&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java Sat Feb 9 19:15:58 2013 @@ -33,6 +33,7 @@ import org.apache.xbean.finder.filter.Fi import org.apache.xbean.finder.filter.Filters; import org.apache.xbean.finder.filter.IncludeExcludeFilter; import org.apache.xbean.finder.filter.PatternFilter; +import org.apache.xbean.finder.filter.PrefixFilter; import java.io.BufferedReader; import java.io.File; @@ -266,7 +267,12 @@ public class NewLoaderLogic { public static Filter getFilter() { if (filter == null) { - filter = Filters.prefixes(getExclusions()); + final List<Filter> filters = new ArrayList<Filter>(); + for (String s : getExclusions()) { + filters.add(new PrefixOrStringFilter(s)); + } + + filter = Filters.optimize(filters); } return filter; } @@ -533,4 +539,23 @@ public class NewLoaderLogic { } } + + private static class PrefixOrStringFilter extends PrefixFilter { + protected final String simplePrefix; + + public PrefixOrStringFilter(final String s) { + super(s); + if (s.endsWith("-")) { + simplePrefix = s.substring(0, s.length() - 1); + } else { + simplePrefix = s; + } + } + + @Override + public boolean accept(final String name) { + return super.accept(name) + || (name.endsWith(".jar") && name.substring(0, name.length() - ".jar".length()).equals(simplePrefix)); + } + } } Modified: tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions?rev=1444411&r1=1444410&r2=1444411&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions Sat Feb 9 19:15:58 2013 @@ -51,7 +51,7 @@ deploy.jar derby- derbyclient- derbynet- -dom4j- +dom4j ecj- eclipselink- fusemq-leveldb- @@ -59,7 +59,7 @@ geronimo- google- gragent.jar groovy- -gson +gson- guice- hamcrest- hawtbuf- @@ -79,6 +79,7 @@ jackson-core- jackson-databind- jackson-mapper-asl- jackson-module-jaxb-annotations- +janino- jansi- jasper.jar jasper-el.jar @@ -147,6 +148,7 @@ openejb-rest openejb-server openejb-webservices openjpa- +openmdx- opensaml- openwebbeans- openws- @@ -156,8 +158,10 @@ org.junit. org.osgi.core- oro- pax-url +PDFBox plexus- plugin.jar +poi- quartz- resources.jar rmock- @@ -168,11 +172,12 @@ scannotation- serializer- serp- servlet-api- -servlet-api.jar sisu-inject sisu-guice shrinkwrap- slf4j- +smack- +smackx- snappy-java- spring- sshd- @@ -183,6 +188,7 @@ sxc- testng- tomcat- tomee- +twitter4j- velocity- wagon- webbeans-ee @@ -190,6 +196,7 @@ webbeans-ejb webbeans-impl webbeans-spi woodstox-core-asl- +ws-commons-util- wsdl4j- wss4j- wstx-asl- @@ -198,6 +205,7 @@ xbean- xercesImpl- xml-apis- xml-resolver- +xmlbeans- xmlrpc- xmlschema- xmlsec-
