Author: jafl Date: Tue Feb 1 01:22:39 2011 New Revision: 1065880 URL: http://svn.apache.org/viewvc?rev=1065880&view=rev Log: WW-3498 JSONResult should serialize model, just like JSONInterceptor injects into model
Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java?rev=1065880&r1=1065879&r2=1065880&view=diff ============================================================================== --- struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java (original) +++ struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java Tue Feb 1 01:22:39 2011 @@ -213,7 +213,7 @@ public class JSONResult implements Resul ValueStack stack = invocation.getStack(); rootObject = stack.findValue(root); } else { - rootObject = invocation.getAction(); + rootObject = invocation.getStack().peek(); // model overrides action } return rootObject; } Modified: struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java?rev=1065880&r1=1065879&r2=1065880&view=diff ============================================================================== --- struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java (original) +++ struts/struts2/trunk/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java Tue Feb 1 01:22:39 2011 @@ -67,7 +67,7 @@ public class SMDGenerator { smd.addSMDMethod(smdMethod); // find params for this method - processMethodsParametrs(method, smdMethod); + processMethodsParameters(method, smdMethod); } else { if (LOG.isDebugEnabled()) @@ -75,7 +75,7 @@ public class SMDGenerator { } } - private void processMethodsParametrs(Method method, org.apache.struts2.json.smd.SMDMethod smdMethod) { + private void processMethodsParameters(Method method, org.apache.struts2.json.smd.SMDMethod smdMethod) { int parametersCount = method.getParameterTypes().length; if (parametersCount > 0) { Modified: struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java?rev=1065880&r1=1065879&r2=1065880&view=diff ============================================================================== --- struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java (original) +++ struts/struts2/trunk/plugins/json/src/test/java/org/apache/struts2/json/JSONResultTest.java Tue Feb 1 01:22:39 2011 @@ -75,6 +75,7 @@ public class JSONResultTest extends Stru public void testSMDDisabledSMD() throws Exception { JSONResult result = new JSONResult(); SMDActionTest1 action = new SMDActionTest1(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -90,6 +91,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setEnableSMD(true); SMDActionTest1 action = new SMDActionTest1(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -106,6 +108,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setEnableSMD(true); SMDActionTest2 action = new SMDActionTest2(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -122,6 +125,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setExcludeNullProperties(true); TestAction action = new TestAction(); + stack.push(action); action.setFoo("fool"); this.invocation.setAction(action); @@ -138,6 +142,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setWrapPrefix("_prefix_"); TestAction2 action = new TestAction2(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -153,6 +158,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setWrapSuffix("_suffix_"); TestAction2 action = new TestAction2(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -169,6 +175,7 @@ public class JSONResultTest extends Stru result.setWrapPrefix("_prefix_"); result.setWrapSuffix("_suffix_"); TestAction2 action = new TestAction2(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -185,6 +192,7 @@ public class JSONResultTest extends Stru result.setExcludeNullProperties(true); result.setPrefix(true); TestAction action = new TestAction(); + stack.push(action); action.setFoo("fool"); this.invocation.setAction(action); @@ -202,6 +210,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); TestAction action = new TestAction(); + stack.push(action); // test scape characters action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" }); @@ -284,6 +293,7 @@ public class JSONResultTest extends Stru result.setIgnoreHierarchy(false); TestAction3 action = new TestAction3(); + stack.push(action); this.invocation.setAction(action); result.execute(this.invocation); @@ -299,6 +309,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); TestAction action = new TestAction(); + stack.push(action); // test scape characters action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" }); @@ -376,6 +387,7 @@ public class JSONResultTest extends Stru private void executeTest2Action(JSONResult result) throws Exception { TestAction action = new TestAction(); + stack.push(action); // beans Bean bean1 = new Bean(); @@ -481,6 +493,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setIncludeProperties("foo"); TestAction action = new TestAction(); + stack.push(action); action.setFoo("fooValue"); action.setBean(new Bean()); this.invocation.setAction(action); @@ -497,6 +510,7 @@ public class JSONResultTest extends Stru JSONResult result = new JSONResult(); result.setIncludeProperties("^list\\[\\d+\\]\\.booleanField"); TestAction action = new TestAction(); + stack.push(action); List list = new ArrayList(); @@ -530,5 +544,6 @@ public class JSONResultTest extends Stru this.context.put(StrutsStatics.SERVLET_CONTEXT, this.servletContext); this.invocation = new MockActionInvocation(); this.invocation.setInvocationContext(this.context); + this.invocation.setStack(this.stack); } }