You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by je...@apache.org on 2009/01/04 00:15:35 UTC

svn commit: r731124 - /struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java

Author: jeromy
Date: Sat Jan  3 15:15:34 2009
New Revision: 731124

URL: http://svn.apache.org/viewvc?rev=731124&view=rev
Log:
WW-2947 added LOG.warn()'s for includeJars patterns that fail to match any jars


Modified:
    struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.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=731124&r1=731123&r2=731124&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 15:15:34 2009
@@ -150,8 +150,7 @@
     }
 
     /**
-     * @param exlcudeJars Comma separated list of regular expressions of jars to be included.
-     *                    Ignored if "struts.convention.action.disableJarScanning" is true
+     * @param includeJars Comma separated list of regular expressions of jars to be included.                         
      */
     @Inject(value = "struts.convention.action.includeJars", required = false)
     public void setIncludeJars(String includeJars) {
@@ -336,13 +335,16 @@
             //TODO: add this functionality to UrlSet in xwork for next release
             List<URL> rawIncludedUrls = urlSet.getUrls();
             Set<URL> includeUrls = new HashSet<URL>();
+            boolean[] patternUsed = new boolean[includeJars.length];
 
             for (URL url : rawIncludedUrls) {
                 if ("jar".equalsIgnoreCase(url.getProtocol())) {
                     //it is a jar file, make sure it macthes at least a url regex
-                    for (String includeJar : includeJars) {
+                    for (int i = 0; i < includeJars.length; i++) {
+                        String includeJar = includeJars[i];
                         if (Pattern.matches(includeJar, url.toExternalForm())) {
                             includeUrls.add(url);
+                            patternUsed[i] = true;
                             break;
                         }
                     }
@@ -352,6 +354,13 @@
                 }
             }
 
+            if (LOG.isWarnEnabled()) {
+                for (int i = 0; i < patternUsed.length; i++) {
+                    if (!patternUsed[i]) {
+                        LOG.warn("The includeJars pattern \""+includeJars[i]+"\" did not match any jars in the classpath");
+                    }
+                }
+            }
             return new UrlSet(includeUrls);
         }