You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/09/25 20:52:26 UTC
svn commit: r818953 -
/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
Author: musachy
Date: Fri Sep 25 18:52:26 2009
New Revision: 818953
URL: http://svn.apache.org/viewvc?rev=818953&view=rev
Log:
WW-3263 Convention does not check for "struts.enable.SlashesInActionNames"
Modified:
struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=818953&r1=818952&r2=818953&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java (original)
+++ struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java Fri Sep 25 18:52:26 2009
@@ -101,6 +101,7 @@
private Set<String> fileProtocols;
private boolean alwaysMapExecute;
private boolean excludeParentClassLoader;
+ private boolean slashesInActionNames;
private static final String DEFAULT_METHOD = "execute";
@@ -150,6 +151,12 @@
public void setReload(String reload) {
this.reload = "true".equals(reload);
}
+
+
+ @Inject(StrutsConstants.STRUTS_ENABLE_SLASHES_IN_ACTION_NAMES)
+ public void setSlashesInActionNames(String slashesInActionNames) {
+ this.slashesInActionNames = "true".equals(slashesInActionNames);
+ }
/**
* Exclude URLs found by the parent class loader. Defaults to "true", set to true for JBoss
@@ -578,7 +585,7 @@
List<Action> actions = map.get(method);
for (Action action : actions) {
PackageConfig.Builder pkgCfg = defaultPackageConfig;
- if (action.value().contains("/")) {
+ if (action.value().contains("/") && !slashesInActionNames) {
pkgCfg = getPackageConfig(packageConfigs, namespace, actionPackage,
actionClass, action);
}
@@ -780,7 +787,7 @@
if (annotation != null) {
actionName = annotation.value() != null && annotation.value().equals(Action.DEFAULT_VALUE) ?
actionName : annotation.value();
- actionName = StringUtils.contains(actionName, "/") ? StringUtils.substringAfterLast(actionName, "/") : actionName;
+ actionName = StringUtils.contains(actionName, "/") && !slashesInActionNames ? StringUtils.substringAfterLast(actionName, "/") : actionName;
}
ActionConfig.Builder actionConfig = new ActionConfig.Builder(pkgCfg.getName(),