Author: bpontarelli
Date: Mon Jan 28 16:32:21 2008
New Revision: 616125
URL: http://svn.apache.org/viewvc?rev=616125&view=rev
Log:
Fixed issue with default param for action redirects and such
Modified:
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java
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=616125&r1=616124&r2=616125&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
Mon Jan 28 16:32:21 2008
@@ -106,7 +106,7 @@
* <tr><td>.vm</td><td>velocity</td</tr>
* <tr><td>.ftl</td><td>freemarker</td</tr>
* </table>
- *
+ *
* @author Brian Pontarelli
*/
public class DefaultResultMapBuilder implements ResultMapBuilder {
@@ -364,8 +364,12 @@
params.putAll(createParameterMap(result.params()));
}
- if (info.location != null && !params.containsKey("location")) {
- params.put("location", info.location);
+ // Map the location to the default param for the result or a param
named location
+ if (info.location != null) {
+ String defaultParamName = resultTypeConfig.getDefaultResultParam();
+ if (!params.containsKey(defaultParamName)) {
+ params.put(defaultParamName, info.location);
+ }
}
return new ResultConfig.Builder(info.name,
resultTypeConfig.getClassName()).addParams(params).build();
Modified:
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=616125&r1=616124&r2=616125&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
(original)
+++
struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
Mon Jan 28 16:32:21 2008
@@ -87,6 +87,7 @@
@Inject("struts.convention.redirect.to.slash") String
redirectToSlash,
@Inject("struts.convention.default.parent.package") String
defaultParentPackage) {
+ // Validate that the parameters are okay
this.configuration = configuration;
this.actionNameBuilder = actionNameBuilder;
this.resultMapBuilder = resultMapBuilder;
Modified:
struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java
URL:
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java?rev=616125&r1=616124&r2=616125&view=diff
==============================================================================
---
struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java
(original)
+++
struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/DefaultResultMapBuilderTest.java
Mon Jan 28 16:32:21 2008
@@ -183,7 +183,7 @@
assertEquals("ann-value", results.get("error").getParams().get("key"));
assertEquals("ann-value1",
results.get("error").getParams().get("key1"));
assertEquals(1, results.get("input").getParams().size());
- assertEquals("foo.action",
results.get("input").getParams().get("location"));
+ assertEquals("foo.action",
results.get("input").getParams().get("actionName"));
assertEquals("org.apache.struts2.dispatcher.ServletActionRedirectResult",
results.get("input").getClassName());
assertEquals(3, results.get("failure").getParams().size());
assertEquals("/WEB-INF/location/namespace/action-failure.jsp",
results.get("failure").getParams().get("location"));
@@ -243,7 +243,7 @@
assertEquals("value", results.get("success").getParams().get("key"));
assertEquals("value1", results.get("success").getParams().get("key1"));
assertEquals(1, results.get("input").getParams().size());
- assertEquals("foo.action",
results.get("input").getParams().get("location"));
+ assertEquals("foo.action",
results.get("input").getParams().get("actionName"));
assertEquals("org.apache.struts2.dispatcher.ServletActionRedirectResult",
results.get("input").getClassName());
assertEquals(3, results.get("failure").getParams().size());
assertEquals("/WEB-INF/location/namespace/action-failure.jsp",
results.get("failure").getParams().get("location"));
@@ -257,7 +257,8 @@
public void testClassPath() throws Exception {
ServletContext context = EasyMock.createNiceMock(ServletContext.class);
- ResultTypeConfig resultType = new
ResultTypeConfig.Builder("freemarker",
"org.apache.struts2.dispatcher.ServletDispatcherResult").build();
+ ResultTypeConfig resultType = new
ResultTypeConfig.Builder("freemarker",
"org.apache.struts2.dispatcher.ServletDispatcherResult").
+ defaultResultParam("location").build();
PackageConfig packageConfig = new PackageConfig.Builder("package").
defaultResultType("dispatcher").addResultTypeConfig(resultType).build();
@@ -280,13 +281,13 @@
private PackageConfig createPackageConfigBuilder(String namespace) {
ResultTypeConfig resultType = new
ResultTypeConfig.Builder("dispatcher",
"org.apache.struts2.dispatcher.ServletDispatcherResult").
- addParam("key", "value").addParam("key1", "value1").build();
+ addParam("key", "value").addParam("key1",
"value1").defaultResultParam("location").build();
ResultTypeConfig redirect = new
ResultTypeConfig.Builder("redirectAction",
-
"org.apache.struts2.dispatcher.ServletActionRedirectResult").build();
+
"org.apache.struts2.dispatcher.ServletActionRedirectResult").defaultResultParam("actionName").build();
ResultTypeConfig ftlResultType = new
ResultTypeConfig.Builder("freemarker",
- "org.apache.struts2.views.freemarker.FreemarkerResult").build();
+
"org.apache.struts2.views.freemarker.FreemarkerResult").defaultResultParam("location").build();
return new PackageConfig.Builder("package").
namespace(namespace).