You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2012/09/26 21:45:24 UTC

svn commit: r1390696 - /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

Author: lukaszlenart
Date: Wed Sep 26 19:45:24 2012
New Revision: 1390696

URL: http://svn.apache.org/viewvc?rev=1390696&view=rev
Log:
WW-3880 adds logging when parameter wasn't accepted

Modified:
    struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java

Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java?rev=1390696&r1=1390695&r2=1390696&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java Wed Sep 26 19:45:24 2012
@@ -380,10 +380,14 @@ public class ParametersInterceptor exten
     }
 
 	protected boolean isWithinLengthLimit( String name ) {
-		return name.length() <= paramNameMaxLength;
+        boolean matchLength = name.length() <= paramNameMaxLength;
+        if (!matchLength) {
+            notifyDeveloper("Parameter [#0] is too long, allowed length is [#1]", name, String.valueOf(paramNameMaxLength));
+        }
+        return matchLength;
 	}
 
-	protected boolean isAccepted(String paramName) {
+    protected boolean isAccepted(String paramName) {
         if (!this.acceptParams.isEmpty()) {
             for (Pattern pattern : acceptParams) {
                 Matcher matcher = pattern.matcher(paramName);
@@ -391,9 +395,15 @@ public class ParametersInterceptor exten
                     return true;
                 }
             }
+            notifyDeveloper("Parameter [#0] didn't match acceptParams list of patterns!", paramName);
             return false;
-        } else
-            return acceptedPattern.matcher(paramName).matches();
+        } else {
+            boolean matches = acceptedPattern.matcher(paramName).matches();
+            if (!matches) {
+                notifyDeveloper("Parameter [#0] didn't match acceptedPattern pattern!", paramName);
+            }
+            return matches;
+        }
     }
 
     protected boolean isExcluded(String paramName) {
@@ -405,9 +415,20 @@ public class ParametersInterceptor exten
                 }
             }
         }
+        notifyDeveloper("Parameter [#0] is on the excludeParams list of patterns!", paramName);
         return false;
     }
 
+    private void notifyDeveloper(String message, String... parameters) {
+        if (devMode) {
+            LOG.warn(message, parameters);
+        } else {
+            if (LOG.isDebugEnabled()) {
+                LOG.debug(message, parameters);
+            }
+        }
+    }
+
     /**
      * Whether to order the parameters or not
      *