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