You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/12 21:36:40 UTC

svn commit: r1243321 - in /openejb/trunk/openejb: container/openejb-core/src/main/java/org/apache/openejb/config/ utils/openejb-spring/src/test/java/org/apache/openejb/spring/

Author: rmannibucau
Date: Sun Feb 12 20:36:40 2012
New Revision: 1243321

URL: http://svn.apache.org/viewvc?rev=1243321&view=rev
Log:
adding openejb.exclude-include.order system property to configure the way inclusion/exclusion are managed (relevant for intersection)

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java
    openejb/trunk/openejb/utils/openejb-spring/src/test/java/org/apache/openejb/spring/SpringTest.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java?rev=1243321&r1=1243320&r2=1243321&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java Sun Feb 12 20:36:40 2012
@@ -23,6 +23,7 @@ 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.ExcludeIncludeFilter;
 import org.apache.xbean.finder.filter.Filter;
 import org.apache.xbean.finder.filter.Filters;
 import org.apache.xbean.finder.filter.IncludeExcludeFilter;
@@ -44,6 +45,7 @@ import static org.apache.openejb.util.UR
  * @version $Rev$ $Date$
  */
 public class DeploymentsResolver implements DeploymentFilterable {
+    private static final String EXCLUDE_INCLUDE_ORDER = System.getProperty("openejb.exclude-include.order", "include-exclude");
 
     private static final Logger logger = DeploymentLoader.logger;
 
@@ -207,7 +209,15 @@ public class DeploymentsResolver impleme
 
             // we should exclude system apps before and apply user properties after
             if (!".*".equals(include) || !"".equals(exclude)) { // if we are using default this will not do anything
-                final IncludeExcludeFilter filter = new IncludeExcludeFilter(includeFilter, Filters.patterns(exclude));
+                // the next line should probably replaced by:
+                // final Filter filter = new ExcludeIncludeFilter(includeFilter, Filters.patterns(exclude));
+                final Filter filter;
+                if (EXCLUDE_INCLUDE_ORDER.startsWith("include")) { // this test should be simply enough
+                    filter = new IncludeExcludeFilter(includeFilter, Filters.patterns(exclude));
+                } else {
+                    filter = new ExcludeIncludeFilter(includeFilter, Filters.patterns(exclude));
+                }
+
                 // filter using user parameters
                 urlSet = urlSet.filter(filter);
             } else {

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java?rev=1243321&r1=1243320&r2=1243321&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/NewLoaderLogic.java Sun Feb 12 20:36:40 2012
@@ -28,6 +28,7 @@ import org.apache.xbean.finder.UrlSet;
 import org.apache.xbean.finder.archive.Archive;
 import org.apache.xbean.finder.archive.ClasspathArchive;
 import org.apache.xbean.finder.archive.FilteredArchive;
+import org.apache.xbean.finder.filter.ExcludeIncludeFilter;
 import org.apache.xbean.finder.filter.Filter;
 import org.apache.xbean.finder.filter.Filters;
 import org.apache.xbean.finder.filter.IncludeExcludeFilter;
@@ -295,7 +296,7 @@ public class NewLoaderLogic {
         final String exclude = "";
         final PatternFilter classpathInclude = new PatternFilter(options.get(DeploymentFilterable.CLASSPATH_INCLUDE, ".*"));
         final PatternFilter classpathExclude = new PatternFilter(options.get(DeploymentFilterable.CLASSPATH_EXCLUDE, ""));
-        final IncludeExcludeFilter classpathFilter = new IncludeExcludeFilter(classpathInclude, classpathExclude);
+        final Filter classpathFilter = new ExcludeIncludeFilter(classpathInclude, classpathExclude);
 
 
         final PatternFilter packageInclude = new PatternFilter(options.get(DeploymentFilterable.PACKAGE_INCLUDE, ".*"));

Modified: openejb/trunk/openejb/utils/openejb-spring/src/test/java/org/apache/openejb/spring/SpringTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/utils/openejb-spring/src/test/java/org/apache/openejb/spring/SpringTest.java?rev=1243321&r1=1243320&r2=1243321&view=diff
==============================================================================
--- openejb/trunk/openejb/utils/openejb-spring/src/test/java/org/apache/openejb/spring/SpringTest.java (original)
+++ openejb/trunk/openejb/utils/openejb-spring/src/test/java/org/apache/openejb/spring/SpringTest.java Sun Feb 12 20:36:40 2012
@@ -35,6 +35,7 @@ import java.util.Map;
 public class SpringTest extends TestCase {
     public void test() throws Exception {
         System.setProperty("openejb.deployments.classpath.include","openejb-spring");
+        System.setProperty("openejb.exclude-include.order", "exclude-include");
 
         ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("org/apache/openejb/spring/spring.xml");