Author: jafl Date: Fri Jan 6 23:19:32 2012 New Revision: 1228497 URL: http://svn.apache.org/viewvc?rev=1228497&view=rev Log: WW-3740 apply allowed-methods filter to wildcard actions
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java?rev=1228497&r1=1228496&r2=1228497&view=diff ============================================================================== --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/ActionConfigMatcher.java Fri Jan 6 23:19:32 2012 @@ -109,13 +109,17 @@ public class ActionConfigMatcher extends */ @Override public ActionConfig convert(String path, ActionConfig orig, Map<String, String> vars) { - - String className = convertParam(orig.getClassName(), vars); + String methodName = convertParam(orig.getMethodName(), vars); + if (!orig.isAllowedMethod(methodName)) { + return null; + } + + String className = convertParam(orig.getClassName(), vars); String pkgName = convertParam(orig.getPackageName(), vars); - + Map<String,String> params = replaceParameters(orig.getParams(), vars); - + Map<String,ResultConfig> results = new LinkedHashMap<String,ResultConfig>(); for (String name : orig.getResults().keySet()) { ResultConfig result = orig.getResults().get(name); @@ -125,7 +129,7 @@ public class ActionConfigMatcher extends .build(); results.put(name, r); } - + List<ExceptionMappingConfig> exs = new ArrayList<ExceptionMappingConfig>(); for (ExceptionMappingConfig ex : orig.getExceptionMappings()) { String name = convertParam(ex.getName(), vars); @@ -135,7 +139,7 @@ public class ActionConfigMatcher extends ExceptionMappingConfig e = new ExceptionMappingConfig.Builder(name, exClassName, exResult).addParams(exParams).build(); exs.add(e); } - + return new ActionConfig.Builder(pkgName, orig.getName(), className) .methodName(methodName) .addParams(params)