You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2011/04/08 05:09:48 UTC

svn commit: r1090095 - in /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config: DeploymentsResolver.java NewLoaderLogic.java

Author: dblevins
Date: Fri Apr  8 03:09:48 2011
New Revision: 1090095

URL: http://svn.apache.org/viewvc?rev=1090095&view=rev
Log:
Include all by default and only invoke the default excludes if the user hasn't taken action to adjust filtering.
Small baby step toward reworking the include/exclude logic

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java?rev=1090095&r1=1090094&r2=1090095&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java Fri Apr  8 03:09:48 2011
@@ -23,6 +23,8 @@ import org.apache.openejb.loader.Options
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.Logger;
 import org.apache.xbean.finder.UrlSet;
+import org.apache.xbean.finder.filter.Filters;
+import org.apache.xbean.finder.filter.IncludeExcludeFilter;
 
 import java.io.File;
 import java.io.IOException;
@@ -171,20 +173,12 @@ public class DeploymentsResolver impleme
      */
     public static void loadFromClasspath(FileUtils base, List<URL> jarList, ClassLoader classLoader) {
         Options options = SystemInstance.get().getOptions();
-        String include = options.get(CLASSPATH_INCLUDE, "");
-        String exclude = options.get(CLASSPATH_EXCLUDE, ".*");
+        String include = options.get(CLASSPATH_INCLUDE, ".*");
+        String exclude = options.get(CLASSPATH_EXCLUDE, "");
         Set<RequireDescriptors> requireDescriptors = options.getAll(CLASSPATH_REQUIRE_DESCRIPTOR, RequireDescriptors.CLIENT);
         boolean filterDescriptors = options.get(CLASSPATH_FILTER_DESCRIPTORS, false);
         boolean filterSystemApps = options.get(CLASSPATH_FILTER_SYSTEMAPPS, true);
 
-        loadFromClasspath(base, jarList, classLoader,
-                include, exclude, requireDescriptors, filterDescriptors, filterSystemApps);
-    }
-
-    public static void loadFromClasspath(FileUtils base, List<URL> jarList, ClassLoader classLoader,
-                                         String include, String exclude, Set<RequireDescriptors> requireDescriptors,
-                                         boolean filterDescriptors, boolean filterSystemApps) {
-
         try {
             UrlSet urlSet = new UrlSet(classLoader);
             UrlSet includes = urlSet.matching(include);
@@ -195,22 +189,28 @@ public class DeploymentsResolver impleme
             urlSet = urlSet.excludePaths(System.getProperty("sun.boot.class.path", ""));
             urlSet = urlSet.exclude(".*/JavaVM.framework/.*");
 
-            if (shouldFilter(include, exclude, requireDescriptors)) {
-                urlSet = applyBuiltinExcludes(urlSet);
-            }
+//            if (shouldFilter(include, exclude, requireDescriptors)) {
+//                urlSet = NewLoaderLogic.applyBuiltinExcludes(urlSet);
+//            }
 
             // save the prefiltered list of jars before excluding system apps
             // so that we can choose not to filter modules with descriptors on the full list
             UrlSet prefiltered = urlSet;
 
             // we should exclude system apps before and apply user properties after
-            if (filterSystemApps){
-                urlSet = urlSet.exclude(".*/openejb-[^/]+(.(jar|ear|war)(!/)?|/target/(test-)?classes/?)");
-            }
+//            if (filterSystemApps){
+//                urlSet = urlSet.exclude(".*/openejb-[^/]+(.(jar|ear|war)(!/)?|/target/(test-)?classes/?)");
+//            }
 
+            final IncludeExcludeFilter filter = new IncludeExcludeFilter(Filters.patterns(include), Filters.patterns(exclude));
             // filter using user parameters
-            urlSet = urlSet.exclude(exclude);
-            urlSet = urlSet.include(includes);
+            urlSet = urlSet.filter(filter);
+
+            if (prefiltered.size() == urlSet.size()) {
+                urlSet = NewLoaderLogic.applyBuiltinExcludes(urlSet);
+            }
+//            urlSet = urlSet.exclude(exclude);
+//            urlSet = urlSet.include(includes);
 
             List<URL> urls = urlSet.getUrls();
             int size = urls.size();

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java?rev=1090095&r1=1090094&r2=1090095&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java Fri Apr  8 03:09:48 2011
@@ -244,7 +244,7 @@ public class NewLoaderLogic {
                 "xmlunit-"
         );
 
-        filter = Filters.optimize(filter, new PatternFilter(".*/openejb-.*"));
+//        filter = Filters.optimize(filter, new PatternFilter(".*/openejb-.*"));
         List<URL> urls = urlSet.getUrls();
         Iterator<URL> iterator = urls.iterator();
         while (iterator.hasNext()) {