You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/01/03 20:36:36 UTC

svn commit: r731070 - in /struts/struts2/trunk/plugins/convention/src: main/java/org/apache/struts2/convention/ main/resources/ test/java/org/apache/struts2/convention/

Author: musachy
Date: Sat Jan  3 11:36:36 2009
New Revision: 731070

URL: http://svn.apache.org/viewvc?rev=731070&view=rev
Log:
WW-2947 Remove convention's "excludeJars" and add "includeJars" instead

Modified:
    struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
    struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml
    struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java

Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java (original)
+++ struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java Sat Jan  3 11:36:36 2009
@@ -82,7 +82,6 @@
     private String[] packageLocators;
     private String[] includeJars;
     private String packageLocatorsBasePackage;
-    private boolean disableJarScanning = true;
     private boolean disableActionScanning = false;
     private boolean disablePackageLocatorsScanning = false;
     private String actionSuffix = "Action";
@@ -161,14 +160,6 @@
     }
 
     /**
-     * @param disableJarScanning Disable scanning jar files for actions
-     */
-    @Inject(value = "struts.convention.action.disableJarScanning", required = false)
-    public void setDisableJarScanning(String disableJarScanning) {
-        this.disableJarScanning = "true".equals(disableJarScanning);
-    }
-
-    /**
      * @param disableActionScanning If set to true, only the named packages will be scanned
      */
     @Inject(value = "struts.convention.package.locators.disable", required = false)
@@ -338,20 +329,26 @@
         urlSet = urlSet.excludePaths(System.getProperty("sun.boot.class.path", ""));
         urlSet = urlSet.exclude(".*/JavaVM.framework/.*");
 
-        if (disableJarScanning || includeJars == null) {
+        if (includeJars == null) {
             urlSet = urlSet.exclude(".*?jar(!/)?");
-        } else if (includeJars != null) {
+        } else {
+            //jar urls regexes were specified
             //TODO: add this functionality to UrlSet in xwork for next release
-
             List<URL> rawIncludedUrls = urlSet.getUrls();
             Set<URL> includeUrls = new HashSet<URL>();
+
             for (URL url : rawIncludedUrls) {
-                //check if the url matches one of the "includeJars"
-                for (String includeJar : includeJars) {
-                    if (Pattern.matches(includeJar, url.toExternalForm())) {
-                        includeUrls.add(url);
-                        break;
+                if ("jar".equalsIgnoreCase(url.getProtocol())) {
+                    //it is a jar file, make sure it macthes at least a url regex
+                    for (String includeJar : includeJars) {
+                        if (Pattern.matches(includeJar, url.toExternalForm())) {
+                            includeUrls.add(url);
+                            break;
+                        }
                     }
+                } else {
+                    //it is not a jar
+                    includeUrls.add(url);
                 }
             }
 

Modified: struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml (original)
+++ struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml Sat Jan  3 11:36:36 2009
@@ -42,7 +42,6 @@
   <constant name="struts.convention.result.flatLayout" value="true"/>
   <constant name="struts.convention.action.suffix" value="Action"/>
   <constant name="struts.convention.action.disableScanning" value="false"/>
-  <constant name="struts.convention.action.disableJarScanning" value="true"/>
   <constant name="struts.convention.action.mapAllMatches" value="false"/>
   <constant name="struts.convention.action.checkImplementsAction" value="true"/>
   <constant name="struts.convention.default.parent.package" value="convention-default"/>

Modified: struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java (original)
+++ struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java Sat Jan  3 11:36:36 2009
@@ -279,7 +279,6 @@
         interceptorBuilder.setConfiguration(configuration);
         PackageBasedActionConfigBuilder builder = new PackageBasedActionConfigBuilder(configuration,
             actionNameBuilder, resultMapBuilder, interceptorBuilder ,of, "false", "struts-default");
-        builder.setDisableJarScanning("true");
         if (actionPackages != null) {
             builder.setActionPackages(actionPackages);
         }