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);
         }
 


Reply via email to