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


Reply via email to