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 2008/06/06 19:36:17 UTC
svn commit: r664051 - in
/struts/sandbox/trunk/struts2-convention-plugin/src/main:
java/org/apache/struts2/convention/DefaultResultMapBuilder.java
resources/struts-plugin.xml
Author: musachy
Date: Fri Jun 6 10:36:17 2008
New Revision: 664051
URL: http://svn.apache.org/viewvc?rev=664051&view=rev
Log:
Add new configuration setting to enable results to be in a subdir
Modified:
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml
Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java?rev=664051&r1=664050&r2=664051&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java (original)
+++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java Fri Jun 6 10:36:17 2008
@@ -116,6 +116,7 @@
private final ServletContext servletContext;
private Set<String> relativeResultTypes;
private ConventionsService conventionsService;
+ private boolean flatResultLayout = true;
/**
* Constructs the SimpleResultMapBuilder using the given result location.
@@ -134,6 +135,16 @@
}
/**
+ * @param flatResultLayout If 'true' result resources will be expected to be in the form
+ * ${namespace}/${actionName}-${result}.${extension}, otherwise in the form
+ * ${namespace}/${actionName}/${result}.${extension}
+ */
+ @Inject("struts.convention.result.flatLayout")
+ public void setFlatResultLayout(String flatResultLayout) {
+ this.flatResultLayout = "true".equals(flatResultLayout);
+ }
+
+ /**
* {@inheritDoc}
*/
public Map<String, ResultConfig> build(Class<?> actionClass,
@@ -213,7 +224,7 @@
// Build from web application using the ServletContext
@SuppressWarnings("unchecked")
- Set<String> paths = servletContext.getResourcePaths(resultPath);
+ Set<String> paths = servletContext.getResourcePaths(flatResultLayout ? resultPath : resultPrefix);
if (paths != null) {
for (String path : paths) {
if (LOG.isTraceEnabled()) {
@@ -288,7 +299,7 @@
int indexOfDot = path.indexOf('.', resultPrefix.length());
// This case is when the path doesn't contain a result code
- if (indexOfDot == resultPrefix.length()) {
+ if (indexOfDot == resultPrefix.length() || !flatResultLayout) {
if (LOG.isTraceEnabled()) {
LOG.trace("The result file [#0] has no result code and therefore" +
" will be associated with success, input and error by default. This might" +
Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml?rev=664051&r1=664050&r2=664051&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml (original)
+++ struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml Fri Jun 6 10:36:17 2008
@@ -38,6 +38,7 @@
<bean type="com.opensymphony.xwork2.config.PackageProvider" class="org.apache.struts2.convention.ClasspathConfigurationProvider"/>
<constant name="struts.convention.result.path" value="/WEB-INF/content/"/>
+ <constant name="struts.convention.result.flatLayout" value="true"/>
<constant name="struts.convention.action.suffix" value="Action"/>
<constant name="struts.convention.action.disableScanning" value="false"/>
<constant name="struts.convention.action.disableJarScanning" value="true"/>