Author: jlmonteiro
Date: Mon Jan 10 12:59:09 2011
New Revision: 1057174

URL: http://svn.apache.org/viewvc?rev=1057174&view=rev
Log:
SystemApps filtering should be done before user include/exclude

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

Modified: 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1057174&r1=1057173&r2=1057174&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 (original)
+++ 
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 Mon Jan 10 12:59:09 2011
@@ -611,7 +611,6 @@ public class DeploymentLoader implements
         ClassLoader webClassLoader = webModule.getClassLoader();
 
         // get include/exclude properties from context-param
-        // using a Set instead of a list would be easier ...
         Options contextParams = new 
Options(getContextParams(webModule.getWebApp().getContextParam()));
         String include = contextParams.get(CLASSPATH_INCLUDE, "");
         String exclude = contextParams.get(CLASSPATH_EXCLUDE, ".*");
@@ -624,6 +623,7 @@ public class DeploymentLoader implements
         DeploymentsResolver.loadFromClasspath(base, urls, webClassLoader, 
include, exclude, requireDescriptors, filterDescriptors, filterSystemApps);
 
         // we need to exclude previously deployed modules
+        // using a Set instead of a list would be easier ...
         UrlSet urlSet = new UrlSet(urls);
         urlSet = urlSet.exclude(new 
UrlSet(appModule.getAdditionalLibraries())); // there should not be modules in 
/lib
         for (EjbModule ejbModule : appModule.getEjbModules()) {

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=1057174&r1=1057173&r2=1057174&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
 Mon Jan 10 12:59:09 2011
@@ -198,15 +198,17 @@ public class DeploymentsResolver impleme
             if (shouldFilter(include, exclude, requireDescriptors)) {
                 urlSet = applyBuiltinExcludes(urlSet);
             }
-            
-            UrlSet prefiltered = urlSet;
-            urlSet = urlSet.exclude(exclude);
-            urlSet = urlSet.include(includes);
 
+            // we should exclude system apps before and apply user properties 
after
             if (filterSystemApps){
                 urlSet = 
urlSet.exclude(".*/openejb-[^/]+(.(jar|ear|war)(!/)?|/target/(test-)?classes/?)");
             }
 
+            // filter using user parameters
+            UrlSet prefiltered = urlSet;
+            urlSet = urlSet.exclude(exclude);
+            urlSet = urlSet.include(includes);
+
             List<URL> urls = urlSet.getUrls();
             int size = urls.size();
             if (size == 0 && include.length() > 0) {


Reply via email to