diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java index f81ba15fd..ff962c895 100644 --- a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java +++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java @@ -272,7 +272,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { ParameterNameAware parameterNameAware = (action instanceof ParameterNameAware) ? (ParameterNameAware) action : null; return acceptableName(name) && (parameterNameAware == null || parameterNameAware.acceptableParameterName(name)); } - + /** * Checks if parameter value can be accepted or thrown away * @@ -316,13 +316,13 @@ public class ParametersInterceptor extends MethodFilterInterceptor { return logEntry.toString(); } - + /** * Validates the name passed is: * * Within the max length of a parameter name * * Is not excluded * * Is accepted - * + * * @param name - Name to check * @return true if accepted */ @@ -351,19 +351,24 @@ public class ParametersInterceptor extends MethodFilterInterceptor { * * Value is null/blank * * Value is not excluded * * Value is accepted - * + * * @param name - Param name (for logging) * @param value - value to check * @return true if accepted */ protected boolean acceptableValue(String name, String value) { - boolean accepted = (value == null || value.isEmpty() || (!isParamValueExcluded(value) && isParamValueAccepted(value))); + boolean accepted = (value == null || value.isEmpty() || (!isParamValueExcluded(value) && isParamValueAccepted(value))); if (!accepted) { - LOG.warn("Parameter [{}] was not accepted with value [{}] and will be dropped!", name, value); + String message = "Value [{}] of parameter [{}] was not accepted and will be dropped!"; + if (devMode) { + LOG.warn(message, value, name); + } else { + LOG.debug(message, value, name); + } } return accepted; } - + protected boolean isWithinLengthLimit(String name) { boolean matchLength = name.length() <= paramNameMaxLength; if (!matchLength) { @@ -407,7 +412,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { } return false; } - + public void setAcceptedValuePatterns(String commaDelimitedPatterns) { Set patterns = TextParseUtil.commaDelimitedStringToSet(commaDelimitedPatterns); @@ -427,7 +432,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { acceptedValuePatterns = Collections.unmodifiableSet(acceptedValuePatterns); } } - + public void setExcludeValuePatterns(String commaDelimitedPatterns) { Set patterns = TextParseUtil.commaDelimitedStringToSet(commaDelimitedPatterns); if (excludedValuePatterns == null) { @@ -446,7 +451,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor { excludedValuePatterns = Collections.unmodifiableSet(excludedValuePatterns); } } - + protected boolean isParamValueExcluded(String value) { if (hasParamValuesToExclude()) { for (Pattern excludedPattern : excludedValuePatterns) { @@ -478,15 +483,15 @@ public class ParametersInterceptor extends MethodFilterInterceptor { LOG.warn("Parameter value [{}] did not match any acceptedValuePattern pattern and will be dropped.", value); return false; } - + private boolean hasParamValuesToExclude() { return excludedValuePatterns != null && excludedValuePatterns.size() > 0; } - + private boolean hasParamValuesToAccept() { return acceptedValuePatterns != null && acceptedValuePatterns.size() > 0; } - + /** * Whether to order the parameters or not *