This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/struts.git
The following commit(s) were added to refs/heads/master by this push: new 8b4f070d7 WW-5243 remove deprecated action prefix cross namespaces new b5e7b4398 Merge pull request #669 from sdutry/issue/WW-5243 8b4f070d7 is described below commit 8b4f070d7c60c8fecad2dc09661d5c3a84529fb1 Author: Stefaan Dutry <stefaan.du...@gmail.com> AuthorDate: Mon Mar 13 23:07:45 2023 +0100 WW-5243 remove deprecated action prefix cross namespaces --- .../java/org/apache/struts2/StrutsConstants.java | 7 ----- .../struts2/config/entities/ConstantConfig.java | 1 - .../dispatcher/mapper/DefaultActionMapper.java | 15 ++-------- .../dispatcher/mapper/DefaultActionMapperTest.java | 33 ---------------------- 4 files changed, 2 insertions(+), 54 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/StrutsConstants.java b/core/src/main/java/org/apache/struts2/StrutsConstants.java index dc5720b71..a5537727c 100644 --- a/core/src/main/java/org/apache/struts2/StrutsConstants.java +++ b/core/src/main/java/org/apache/struts2/StrutsConstants.java @@ -401,13 +401,6 @@ public final class StrutsConstants { /** Enables action: prefix */ public static final String STRUTS_MAPPER_ACTION_PREFIX_ENABLED = "struts.mapper.action.prefix.enabled"; - /** - * Enables access to actions in other namespaces than current with action: prefix - * @deprecated it will be removed soon, please refactor your application - */ - @Deprecated - public static final String STRUTS_MAPPER_ACTION_PREFIX_CROSSNAMESPACES = "struts.mapper.action.prefix.crossNamespaces"; - public static final String DEFAULT_TEMPLATE_TYPE_CONFIG_KEY = "struts.ui.templateSuffix"; /** Allows override default DispatcherErrorHandler */ diff --git a/core/src/main/java/org/apache/struts2/config/entities/ConstantConfig.java b/core/src/main/java/org/apache/struts2/config/entities/ConstantConfig.java index 107f35e51..49a6e4127 100644 --- a/core/src/main/java/org/apache/struts2/config/entities/ConstantConfig.java +++ b/core/src/main/java/org/apache/struts2/config/entities/ConstantConfig.java @@ -252,7 +252,6 @@ public class ConstantConfig { map.put(StrutsConstants.STRUTS_ALLOWED_METHOD_NAMES, Objects.toString(allowedMethodNames, null)); map.put(StrutsConstants.STRUTS_DEFAULT_METHOD_NAME, defaultMethodName); map.put(StrutsConstants.STRUTS_MAPPER_ACTION_PREFIX_ENABLED, Objects.toString(mapperActionPrefixEnabled, null)); - map.put(StrutsConstants.STRUTS_MAPPER_ACTION_PREFIX_CROSSNAMESPACES, Objects.toString(mapperActionPrefixCrossNamespaces, null)); map.put(StrutsConstants.DEFAULT_TEMPLATE_TYPE_CONFIG_KEY, uiTemplateSuffix); map.put(StrutsConstants.STRUTS_DISPATCHER_ERROR_HANDLER, beanConfToString(dispatcherErrorHandler)); map.put(StrutsConstants.STRUTS_EXCLUDED_CLASSES, classesToString(excludedClasses)); diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java index bcdd4c3d1..96dae07c4 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java @@ -132,7 +132,6 @@ public class DefaultActionMapper implements ActionMapper { protected String defaultMethodName = "execute"; private boolean allowActionPrefix = false; - private boolean allowActionCrossNamespaceAccess = false; protected List<String> extensions = new ArrayList<String>() {{ add("action"); @@ -162,12 +161,12 @@ public class DefaultActionMapper implements ActionMapper { } } String actionName = cleanupActionName(name); - if (allowSlashesInActionNames && !allowActionCrossNamespaceAccess) { + if (allowSlashesInActionNames) { if (actionName.startsWith("/")) { actionName = actionName.substring(1); } } - if (!allowSlashesInActionNames && !allowActionCrossNamespaceAccess) { + if (!allowSlashesInActionNames) { if (actionName.lastIndexOf('/') != -1) { actionName = actionName.substring(actionName.lastIndexOf('/') + 1); } @@ -241,16 +240,6 @@ public class DefaultActionMapper implements ActionMapper { this.allowActionPrefix = BooleanUtils.toBoolean(allowActionPrefix); } - /** - * @deprecated since 6.1.0 - please refactor your application to avoid using this functionality - * @param allowActionCrossNamespaceAccess true to enable cross namespace action access - */ - @Deprecated - @Inject(value = StrutsConstants.STRUTS_MAPPER_ACTION_PREFIX_CROSSNAMESPACES) - public void setAllowActionCrossNamespaceAccess(String allowActionCrossNamespaceAccess) { - this.allowActionCrossNamespaceAccess = BooleanUtils.toBoolean(allowActionCrossNamespaceAccess); - } - @Inject public void setContainer(Container container) { this.container = container; diff --git a/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java b/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java index 097517e21..c1cca1a11 100644 --- a/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java +++ b/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java @@ -463,39 +463,6 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase { assertEquals("Action", actionMapping.getName()); } - public void testActionPrefixWhenSlashesButSlashesDisabledAndCrossNamespace() { - Map<String, Object> parameterMap = new HashMap<>(); - parameterMap.put(DefaultActionMapper.ACTION_PREFIX + "my/Action", ""); - - StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); - request.setParameterMap(parameterMap); - request.setupGetServletPath("/someServletPath.action"); - - DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - defaultActionMapper.setAllowActionPrefix("true"); - defaultActionMapper.setAllowActionCrossNamespaceAccess("true"); - defaultActionMapper.setSlashesInActionNames("false"); - ActionMapping actionMapping = defaultActionMapper.getMapping(request, configManager); - - assertEquals("my/Action", actionMapping.getName()); - } - - public void testActionPrefixWhenCrossNamespace() { - Map<String, Object> parameterMap = new HashMap<>(); - parameterMap.put(DefaultActionMapper.ACTION_PREFIX + "/my/Action", ""); - - StrutsMockHttpServletRequest request = new StrutsMockHttpServletRequest(); - request.setParameterMap(parameterMap); - request.setupGetServletPath("/someServletPath.action"); - - DefaultActionMapper defaultActionMapper = new DefaultActionMapper(); - defaultActionMapper.setAllowActionPrefix("true"); - defaultActionMapper.setAllowActionCrossNamespaceAccess("true"); - ActionMapping actionMapping = defaultActionMapper.getMapping(request, configManager); - - assertEquals("/my/Action", actionMapping.getName()); - } - public void testActionPrefix_fromImageButton() { Map<String, Object> parameterMap = new HashMap<>(); parameterMap.put(DefaultActionMapper.ACTION_PREFIX + "myAction", "");