WW-4068 Extracts method to accept parameter names to allow easier overriding

git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1483950 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Lukasz Lenart
2013-05-17 18:58:39 +00:00
parent 7caf810099
commit 294d380398
@@ -273,9 +273,6 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
}
protected void setParameters(Object action, ValueStack stack, final Map<String, Object> parameters) {
ParameterNameAware parameterNameAware = (action instanceof ParameterNameAware)
? (ParameterNameAware) action : null;
Map<String, Object> params;
Map<String, Object> acceptableParameters;
if (ordered) {
@@ -289,11 +286,7 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
for (Map.Entry<String, Object> entry : params.entrySet()) {
String name = entry.getKey();
boolean acceptableName = acceptableName(name)
|| (parameterNameAware != null && parameterNameAware.acceptableParameterName(name));
if (acceptableName) {
if (isAcceptableParameter(name, action)) {
acceptableParameters.put(name, entry.getValue());
}
}
@@ -346,6 +339,18 @@ public class ParametersInterceptor extends MethodFilterInterceptor {
addParametersToContext(ActionContext.getContext(), acceptableParameters);
}
/**
* Checks if name of parameter can be accepted or thrown away
*
* @param name parameter name
* @param action current action
* @return true if parameter is accepted
*/
protected boolean isAcceptableParameter(String name, Object action) {
ParameterNameAware parameterNameAware = (action instanceof ParameterNameAware) ? (ParameterNameAware) action : null;
return acceptableName(name) || (parameterNameAware != null && parameterNameAware.acceptableParameterName(name));
}
/**
* Gets an instance of the comparator to use for the ordered sorting. Override this
* method to customize the ordering of the parameters as they are set to the