You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by bp...@apache.org on 2008/01/29 01:32:23 UTC
svn commit: r616125 - in /struts/sandbox/trunk/struts2-convention-plugin/src:
main/java/org/apache/struts2/convention/
test/java/org/apache/struts2/convention/
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).