Author: rgielen Date: Mon Feb 23 20:15:45 2009 New Revision: 747124 URL: http://svn.apache.org/viewvc?rev=747124&view=rev Log: WW-2881 - Generic ActionMapping.param - applied patch by Mathias Bogaert
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/ActionMapping.java Mon Feb 23 20:15:45 2009 @@ -38,7 +38,7 @@ private String namespace; private String method; private String extension; - private Map params; + private Map<String, Object> params; private Result result; /** @@ -63,7 +63,7 @@ * @param method The method * @param params The extra parameters */ - public ActionMapping(String name, String namespace, String method, Map params) { + public ActionMapping(String name, String namespace, String method, Map<String, Object> params) { this.name = name; this.namespace = namespace; this.method = method; @@ -87,7 +87,7 @@ /** * @return The extra parameters */ - public Map getParams() { + public Map<String, Object> getParams() { return params; } @@ -147,7 +147,7 @@ /** * @param params The extra parameters for this mapping */ - public void setParams(Map params) { + public void setParams(Map<String, Object> params) { this.params = params; } Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java Mon Feb 23 20:15:45 2009 @@ -110,7 +110,6 @@ * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest) */ public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) { - if (!isSlashesInActionNames()) { throw new IllegalStateException("This action mapper requires the setting 'slashesInActionNames' to be set to 'true'"); } @@ -174,7 +173,7 @@ if (idParameterName != null && id != null) { if (mapping.getParams() == null) { - mapping.setParams(new HashMap()); + mapping.setParams(new HashMap<String, Object>()); } mapping.getParams().put(idParameterName, id); } @@ -206,7 +205,7 @@ } if (parameters.size() > 0) { if (mapping.getParams() == null) { - mapping.setParams(new HashMap()); + mapping.setParams(new HashMap<String, Object>()); } mapping.getParams().putAll(parameters); } @@ -252,7 +251,4 @@ public void setIdParameterName(String idParameterName) { this.idParameterName = idParameterName; } - - - } Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java Mon Feb 23 20:15:45 2009 @@ -78,7 +78,7 @@ } String actionName = uri.substring(1, nextSlash); - HashMap<String,String> parameters = new HashMap<String,String>(); + Map<String, Object> parameters = new HashMap<String, Object>(); try { StringTokenizer st = new StringTokenizer(uri.substring(nextSlash), "/"); boolean isNameTok = true; @@ -121,9 +121,8 @@ */ public String getUriFromActionMapping(ActionMapping mapping) { String base = mapping.getNamespace() + mapping.getName(); - for (Iterator iterator = mapping.getParams().entrySet().iterator(); iterator.hasNext();) { - Map.Entry entry = (Map.Entry) iterator.next(); - String name = (String) entry.getKey(); + for (Map.Entry<String, Object> entry : mapping.getParams().entrySet()) { + String name = entry.getKey(); if (name.equals(mapping.getName() + "Id")) { base = base + "/" + entry.getValue(); break; Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/ActionMappingParametersInteceptor.java Mon Feb 23 20:15:45 2009 @@ -79,12 +79,12 @@ * an empty map. */ @Override - protected Map retrieveParameters(ActionContext ac) { + protected Map<String, Object> retrieveParameters(ActionContext ac) { ActionMapping mapping = (ActionMapping) ac.get(ServletActionContext.ACTION_MAPPING); if (mapping != null) { return mapping.getParams(); } else { - return Collections.EMPTY_MAP; + return Collections.emptyMap(); } } Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java Mon Feb 23 20:15:45 2009 @@ -22,7 +22,6 @@ package org.apache.struts2.dispatcher.mapper; import org.apache.struts2.StrutsTestCase; -import org.apache.struts2.StrutsConstants; import com.mockobjects.servlet.MockHttpServletRequest; import com.opensymphony.xwork2.config.ConfigurationManager; import com.opensymphony.xwork2.config.Configuration; Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java?rev=747124&r1=747123&r2=747124&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapperTest.java Mon Feb 23 20:15:45 2009 @@ -41,13 +41,13 @@ ActionMapping am = new ActionMapping(); am.setName("view"); am.setNamespace("secure"); - am.setParams(Collections.EMPTY_MAP); + am.setParams(Collections.<String, Object>emptyMap()); assertEquals("secureview", mapper.getUriFromActionMapping(am)); } public void testGetUriParam() { - Map param = new HashMap(); + Map<String, Object> param = new HashMap<String, Object>(); param.put("article", "123"); ActionMapping am = new ActionMapping(); am.setName("view"); @@ -58,7 +58,7 @@ } public void testGetUriParamId() { - Map param = new HashMap(); + Map<String, Object> param = new HashMap<String, Object>(); param.put("article", "123"); param.put("viewId", "456"); ActionMapping am = new ActionMapping();