Author: mrdon Date: Mon Jul 30 06:08:11 2007 New Revision: 560966 URL: http://svn.apache.org/viewvc?view=rev&rev=560966 Log: Making the mapper easier to extend WW-2078
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java?view=diff&rev=560966&r1=560965&r2=560966 ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java Mon Jul 30 06:08:11 2007 @@ -162,25 +162,25 @@ */ public class DefaultActionMapper implements ActionMapper { - static final String METHOD_PREFIX = "method:"; + protected static final String METHOD_PREFIX = "method:"; - static final String ACTION_PREFIX = "action:"; + protected static final String ACTION_PREFIX = "action:"; - static final String REDIRECT_PREFIX = "redirect:"; + protected static final String REDIRECT_PREFIX = "redirect:"; - static final String REDIRECT_ACTION_PREFIX = "redirect-action:"; + protected static final String REDIRECT_ACTION_PREFIX = "redirect-action:"; - private boolean allowDynamicMethodCalls = true; + protected boolean allowDynamicMethodCalls = true; - private boolean allowSlashesInActionNames = false; + protected boolean allowSlashesInActionNames = false; - private boolean alwaysSelectFullNamespace = false; + protected boolean alwaysSelectFullNamespace = false; - private PrefixTrie prefixTrie = null; + protected PrefixTrie prefixTrie = null; - List extensions = new ArrayList() {{ add("action");}}; + protected List extensions = new ArrayList() {{ add("action");}}; - private Container container; + protected Container container; public DefaultActionMapper() { prefixTrie = new PrefixTrie() { @@ -266,7 +266,16 @@ public void setContainer(Container container) { this.container = container; } - + + @Inject(StrutsConstants.STRUTS_ACTION_EXTENSION) + public void setExtensions(String extensions) { + if (!"".equals(extensions)) { + this.extensions = Arrays.asList(extensions.split(",")); + } else { + this.extensions = null; + } + } + /* * (non-Javadoc) * @@ -347,7 +356,7 @@ * @param mapping * The action mapping to populate */ - void parseNameAndNamespace(String uri, ActionMapping mapping, + protected void parseNameAndNamespace(String uri, ActionMapping mapping, ConfigurationManager configManager) { String namespace, name; int lastSlash = uri.lastIndexOf("/"); @@ -401,7 +410,7 @@ * The action name * @return The action name without its extension */ - String dropExtension(String name) { + protected String dropExtension(String name) { if (extensions == null) { return name; } @@ -419,7 +428,7 @@ /** * Returns null if no extension is specified. */ - String getDefaultExtension() { + protected String getDefaultExtension() { if (extensions == null) { return null; } else { @@ -427,15 +436,6 @@ } } - @Inject(StrutsConstants.STRUTS_ACTION_EXTENSION) - public void setExtensions(String extensions) { - if (!"".equals(extensions)) { - this.extensions = Arrays.asList(extensions.split(",")); - } else { - this.extensions = null; - } - } - /** * Gets the uri from the request * @@ -443,7 +443,7 @@ * The request * @return The uri */ - String getUri(HttpServletRequest request) { + protected String getUri(HttpServletRequest request) { // handle http dispatcher includes. String uri = (String) request .getAttribute("javax.servlet.include.servlet_path");