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", "");

Reply via email to