mirror of
https://github.com/apache/struts.git
synced 2026-08-06 23:27:07 +00:00
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:
+13
-8
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user