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/07/30 00:44:29 UTC
svn commit: r799110 [6/7] - in /struts/sandbox/trunk/struts2-json-plugin: ./
src/main/java/org/apache/struts2/json/
src/main/java/org/apache/struts2/json/annotations/
src/main/java/org/apache/struts2/json/rpc/
src/main/java/org/apache/struts2/json/smd/...
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java Wed Jul 29 22:44:26 2009
@@ -1,534 +1,534 @@
-/*
- + * $Id$
- + *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.struts2.json;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.StrutsStatics;
-import org.apache.struts2.StrutsTestCase;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-import org.springframework.mock.web.MockServletContext;
-
-import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.mock.MockActionInvocation;
-import com.opensymphony.xwork2.util.ValueStack;
-
-/**
- * JSONResultTest
- */
-public class JSONResultTest extends StrutsTestCase {
- MockActionInvocation invocation;
- MockHttpServletResponse response;
- MockServletContext servletContext;
- ActionContext context;
- ValueStack stack;
- MockHttpServletRequest request;
-
- public void testJSONUtilNPEOnNullMehtod() {
- Map map = new HashMap();
- map.put("createtime", new Date());
- try {
- JSONUtil.serialize(map);
- } catch (JSONException e) {
- fail(e.getMessage());
- }
- }
-
- public void testJSONWriterEndlessLoopOnExludedProperties() throws JSONException {
- Pattern all = Pattern.compile(".*");
-
- JSONWriter writer = new JSONWriter();
- writer.write(Arrays.asList("a", "b"), Arrays.asList(all), null, false);
- }
-
- public void testSMDDisabledSMD() throws Exception {
- JSONResult result = new JSONResult();
- SMDActionTest1 action = new SMDActionTest1();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String smd = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(smd, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-8.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- public void testSMDDefault() throws Exception {
- JSONResult result = new JSONResult();
- result.setEnableSMD(true);
- SMDActionTest1 action = new SMDActionTest1();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String smd = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(smd, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-1.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testSMDDefaultAnnotations() throws Exception {
- JSONResult result = new JSONResult();
- result.setEnableSMD(true);
- SMDActionTest2 action = new SMDActionTest2();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String smd = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(smd, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-2.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testExcludeNullPropeties() throws Exception {
- JSONResult result = new JSONResult();
- result.setExcludeNullProperties(true);
- TestAction action = new TestAction();
- action.setFoo("fool");
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String smd = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(smd, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("nulls-1.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- public void testWrapPrefix() throws Exception {
- JSONResult result = new JSONResult();
- result.setWrapPrefix("_prefix_");
- TestAction2 action = new TestAction2();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String out = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(out, true);
- String normalizedExpected = "_prefix_{\"name\":\"name\"}";
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- public void testSuffix() throws Exception {
- JSONResult result = new JSONResult();
- result.setWrapSuffix("_suffix_");
- TestAction2 action = new TestAction2();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String out = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(out, true);
- String normalizedExpected = "{\"name\":\"name\"}_suffix_";
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- public void testPrefixAndSuffix() throws Exception {
- JSONResult result = new JSONResult();
- result.setWrapPrefix("_prefix_");
- result.setWrapSuffix("_suffix_");
- TestAction2 action = new TestAction2();
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String out = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(out, true);
- String normalizedExpected = "_prefix_{\"name\":\"name\"}_suffix_";
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- public void testPrefix() throws Exception {
- JSONResult result = new JSONResult();
- result.setExcludeNullProperties(true);
- result.setPrefix(true);
- TestAction action = new TestAction();
- action.setFoo("fool");
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String smd = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(smd, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("prefix-1.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- }
-
- @SuppressWarnings("unchecked")
- public void test() throws Exception {
- JSONResult result = new JSONResult();
-
- TestAction action = new TestAction();
-
- // test scape characters
- action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" });
-
- List list = new ArrayList();
-
- list.add("b");
- list.add(1);
- list.add(new int[] { 10, 12 });
- action.setCollection(list);
-
- // beans
- List collection2 = new ArrayList();
- Bean bean1 = new Bean();
-
- bean1.setBigDecimal(new BigDecimal("111111.111111"));
- bean1.setBigInteger(new BigInteger("111111111111"));
- bean1.setStringField("str");
- bean1.setBooleanField(true);
- bean1.setCharField('s');
- bean1.setDoubleField(10.1);
- bean1.setFloatField(1.5f);
- bean1.setIntField(10);
- bean1.setLongField(100);
- bean1.setEnumField(AnEnum.ValueA);
- bean1.setEnumBean(AnEnumBean.One);
-
- Bean bean2 = new Bean();
-
- bean2.setStringField(" ");
- bean2.setBooleanField(false);
- bean2.setFloatField(1.1f);
- bean2.setDoubleField(2.2);
- bean2.setEnumField(AnEnum.ValueB);
- bean2.setEnumBean(AnEnumBean.Two);
-
- // circular reference
- bean1.setObjectField(bean2);
- bean2.setObjectField(bean1);
-
- collection2.add(bean1);
- action.setCollection2(collection2);
-
- // keep order in map
- Map map = new LinkedHashMap();
-
- map.put("a", 1);
- map.put("c", new float[] { 1.0f, 2.0f });
- action.setMap(map);
-
- action.setFoo("foo");
- // should be ignored, marked 'transient'
- action.setBar("bar");
-
- // date
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.YEAR, 1999);
- calendar.set(Calendar.MONTH, Calendar.DECEMBER);
- calendar.set(Calendar.DAY_OF_MONTH, 31);
- calendar.set(Calendar.HOUR_OF_DAY, 11);
- calendar.set(Calendar.MINUTE, 59);
- calendar.set(Calendar.SECOND, 59);
- action.setDate(calendar.getTime());
- action.setDate2(calendar.getTime());
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String json = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- @SuppressWarnings("unchecked")
- public void testHierarchy() throws Exception {
- JSONResult result = new JSONResult();
- result.setIgnoreHierarchy(false);
-
- TestAction3 action = new TestAction3();
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String json = response.getContentAsString();
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-4.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- @SuppressWarnings("unchecked")
- public void testCommentWrap() throws Exception {
- JSONResult result = new JSONResult();
-
- TestAction action = new TestAction();
-
- // test scape characters
- action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" });
-
- List list = new ArrayList();
-
- list.add("b");
- list.add(1);
- list.add(new int[] { 10, 12 });
- action.setCollection(list);
-
- // beans
- List collection2 = new ArrayList();
- Bean bean1 = new Bean();
-
- bean1.setStringField("str");
- bean1.setBooleanField(true);
- bean1.setCharField('s');
- bean1.setDoubleField(10.1);
- bean1.setFloatField(1.5f);
- bean1.setIntField(10);
- bean1.setLongField(100);
- bean1.setEnumField(null);
- bean1.setEnumBean(null);
-
- Bean bean2 = new Bean();
-
- bean2.setStringField(" ");
- bean2.setBooleanField(false);
- bean2.setFloatField(1.1f);
- bean2.setDoubleField(2.2);
- bean2.setEnumField(AnEnum.ValueC);
- bean2.setEnumBean(AnEnumBean.Three);
-
- // circular reference
- bean1.setObjectField(bean2);
- bean2.setObjectField(bean1);
-
- collection2.add(bean1);
- action.setCollection2(collection2);
-
- // keep order in map
- Map map = new LinkedHashMap();
-
- map.put("a", 1);
- map.put("c", new float[] { 1.0f, 2.0f });
- action.setMap(map);
-
- action.setFoo("foo");
- // should be ignored, marked 'transient'
- action.setBar("bar");
-
- // date
- Calendar calendar = Calendar.getInstance();
- calendar.set(Calendar.YEAR, 1999);
- calendar.set(Calendar.MONTH, Calendar.DECEMBER);
- calendar.set(Calendar.DAY_OF_MONTH, 31);
- calendar.set(Calendar.HOUR_OF_DAY, 11);
- calendar.set(Calendar.MINUTE, 59);
- calendar.set(Calendar.SECOND, 59);
- action.setDate(calendar.getTime());
- action.setDate2(calendar.getTime());
-
- this.invocation.setAction(action);
- result.setWrapWithComments(true);
- result.execute(this.invocation);
-
- String json = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-3.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- private void executeTest2Action(JSONResult result) throws Exception {
- TestAction action = new TestAction();
-
- // beans
- Bean bean1 = new Bean();
-
- bean1.setStringField("str");
- bean1.setBooleanField(true);
- bean1.setCharField('s');
- bean1.setDoubleField(10.1);
- bean1.setFloatField(1.5f);
- bean1.setIntField(10);
- bean1.setLongField(100);
- bean1.setEnumField(AnEnum.ValueA);
- bean1.setEnumBean(AnEnumBean.One);
-
- // set root
- action.setBean(bean1);
- result.setRoot("bean");
-
- stack.push(action);
- this.invocation.setStack(stack);
- this.invocation.setAction(action);
-
- result.execute(this.invocation);
- }
-
- public void test2() throws Exception {
- JSONResult result = new JSONResult();
-
- executeTest2Action(result);
- String json = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-2.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testJSONP() throws Exception {
- JSONResult result = new JSONResult();
- result.setCallbackParameter("callback");
- request.addParameter("callback", "exec");
-
- executeTest2Action(result);
- String json = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("jsonp-1.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testNoCache() throws Exception {
- JSONResult result = new JSONResult();
- result.setNoCache(true);
-
- executeTest2Action(result);
-
- assertEquals("no-cache", response.getHeader("Cache-Control"));
- assertEquals("0", response.getHeader("Expires"));
- assertEquals("No-cache", response.getHeader("Pragma"));
- }
-
- public void testContentType() throws Exception {
- JSONResult result = new JSONResult();
- result.setContentType("some_super_content");
-
- executeTest2Action(result);
-
- assertEquals("some_super_content;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testStatusCode() throws Exception {
- JSONResult result = new JSONResult();
- result.setStatusCode(HttpServletResponse.SC_CONTINUE);
-
- executeTest2Action(result);
-
- assertEquals(HttpServletResponse.SC_CONTINUE, response.getStatus());
- }
-
- /**
- * Repeats test2 but with the Enum serialized as a bean
- */
- public void test2WithEnumBean() throws Exception {
- JSONResult result = new JSONResult();
- result.setEnumAsBean(true);
-
- executeTest2Action(result);
-
- String json = response.getContentAsString();
-
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-2-enum.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- /**
- * Ensures that properties of given root object are read as shallow
- * (non-recursive) unless specifically included.
- */
- public void testIncludeProperties() throws Exception {
- JSONResult result = new JSONResult();
- result.setIncludeProperties("foo");
- TestAction action = new TestAction();
- action.setFoo("fooValue");
- action.setBean(new Bean());
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String json = response.getContentAsString();
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-9.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- public void testIncludePropertiesWithList() throws Exception {
- JSONResult result = new JSONResult();
- result.setIncludeProperties("^list\\[\\d+\\]\\.booleanField");
- TestAction action = new TestAction();
-
- List list = new ArrayList();
-
- list.add(new Bean());
- list.add(new Bean());
- list.add(new Bean());
-
- action.setList(list);
-
- this.invocation.setAction(action);
- result.execute(this.invocation);
-
- String json = response.getContentAsString();
- String normalizedActual = TestUtils.normalize(json, true);
- String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-10.txt"));
- assertEquals(normalizedExpected, normalizedActual);
- assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- this.response = new MockHttpServletResponse();
- this.request = new MockHttpServletRequest();
- this.request.setRequestURI("http://sumeruri");
- this.context = ActionContext.getContext();
- this.context.put(StrutsStatics.HTTP_RESPONSE, this.response);
- this.context.put(StrutsStatics.HTTP_REQUEST, this.request);
- this.stack = context.getValueStack();
- this.servletContext = new MockServletContext();
- this.context.put(StrutsStatics.SERVLET_CONTEXT, this.servletContext);
- this.invocation = new MockActionInvocation();
- this.invocation.setInvocationContext(this.context);
- }
-}
+/*
+ + * $Id$
+ + *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts2.StrutsStatics;
+import org.apache.struts2.StrutsTestCase;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.mock.web.MockServletContext;
+
+import com.opensymphony.xwork2.ActionContext;
+import com.opensymphony.xwork2.mock.MockActionInvocation;
+import com.opensymphony.xwork2.util.ValueStack;
+
+/**
+ * JSONResultTest
+ */
+public class JSONResultTest extends StrutsTestCase {
+ MockActionInvocation invocation;
+ MockHttpServletResponse response;
+ MockServletContext servletContext;
+ ActionContext context;
+ ValueStack stack;
+ MockHttpServletRequest request;
+
+ public void testJSONUtilNPEOnNullMehtod() {
+ Map map = new HashMap();
+ map.put("createtime", new Date());
+ try {
+ JSONUtil.serialize(map);
+ } catch (JSONException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ public void testJSONWriterEndlessLoopOnExludedProperties() throws JSONException {
+ Pattern all = Pattern.compile(".*");
+
+ JSONWriter writer = new JSONWriter();
+ writer.write(Arrays.asList("a", "b"), Arrays.asList(all), null, false);
+ }
+
+ public void testSMDDisabledSMD() throws Exception {
+ JSONResult result = new JSONResult();
+ SMDActionTest1 action = new SMDActionTest1();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String smd = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(smd, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-8.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ public void testSMDDefault() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setEnableSMD(true);
+ SMDActionTest1 action = new SMDActionTest1();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String smd = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(smd, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-1.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testSMDDefaultAnnotations() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setEnableSMD(true);
+ SMDActionTest2 action = new SMDActionTest2();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String smd = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(smd, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("smd-2.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testExcludeNullPropeties() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setExcludeNullProperties(true);
+ TestAction action = new TestAction();
+ action.setFoo("fool");
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String smd = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(smd, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("nulls-1.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ public void testWrapPrefix() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setWrapPrefix("_prefix_");
+ TestAction2 action = new TestAction2();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String out = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(out, true);
+ String normalizedExpected = "_prefix_{\"name\":\"name\"}";
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ public void testSuffix() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setWrapSuffix("_suffix_");
+ TestAction2 action = new TestAction2();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String out = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(out, true);
+ String normalizedExpected = "{\"name\":\"name\"}_suffix_";
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ public void testPrefixAndSuffix() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setWrapPrefix("_prefix_");
+ result.setWrapSuffix("_suffix_");
+ TestAction2 action = new TestAction2();
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String out = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(out, true);
+ String normalizedExpected = "_prefix_{\"name\":\"name\"}_suffix_";
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ public void testPrefix() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setExcludeNullProperties(true);
+ result.setPrefix(true);
+ TestAction action = new TestAction();
+ action.setFoo("fool");
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String smd = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(smd, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("prefix-1.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ }
+
+ @SuppressWarnings("unchecked")
+ public void test() throws Exception {
+ JSONResult result = new JSONResult();
+
+ TestAction action = new TestAction();
+
+ // test scape characters
+ action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" });
+
+ List list = new ArrayList();
+
+ list.add("b");
+ list.add(1);
+ list.add(new int[] { 10, 12 });
+ action.setCollection(list);
+
+ // beans
+ List collection2 = new ArrayList();
+ Bean bean1 = new Bean();
+
+ bean1.setBigDecimal(new BigDecimal("111111.111111"));
+ bean1.setBigInteger(new BigInteger("111111111111"));
+ bean1.setStringField("str");
+ bean1.setBooleanField(true);
+ bean1.setCharField('s');
+ bean1.setDoubleField(10.1);
+ bean1.setFloatField(1.5f);
+ bean1.setIntField(10);
+ bean1.setLongField(100);
+ bean1.setEnumField(AnEnum.ValueA);
+ bean1.setEnumBean(AnEnumBean.One);
+
+ Bean bean2 = new Bean();
+
+ bean2.setStringField(" ");
+ bean2.setBooleanField(false);
+ bean2.setFloatField(1.1f);
+ bean2.setDoubleField(2.2);
+ bean2.setEnumField(AnEnum.ValueB);
+ bean2.setEnumBean(AnEnumBean.Two);
+
+ // circular reference
+ bean1.setObjectField(bean2);
+ bean2.setObjectField(bean1);
+
+ collection2.add(bean1);
+ action.setCollection2(collection2);
+
+ // keep order in map
+ Map map = new LinkedHashMap();
+
+ map.put("a", 1);
+ map.put("c", new float[] { 1.0f, 2.0f });
+ action.setMap(map);
+
+ action.setFoo("foo");
+ // should be ignored, marked 'transient'
+ action.setBar("bar");
+
+ // date
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.YEAR, 1999);
+ calendar.set(Calendar.MONTH, Calendar.DECEMBER);
+ calendar.set(Calendar.DAY_OF_MONTH, 31);
+ calendar.set(Calendar.HOUR_OF_DAY, 11);
+ calendar.set(Calendar.MINUTE, 59);
+ calendar.set(Calendar.SECOND, 59);
+ action.setDate(calendar.getTime());
+ action.setDate2(calendar.getTime());
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String json = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ @SuppressWarnings("unchecked")
+ public void testHierarchy() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setIgnoreHierarchy(false);
+
+ TestAction3 action = new TestAction3();
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String json = response.getContentAsString();
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-4.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ @SuppressWarnings("unchecked")
+ public void testCommentWrap() throws Exception {
+ JSONResult result = new JSONResult();
+
+ TestAction action = new TestAction();
+
+ // test scape characters
+ action.setArray(new String[] { "a", "a", "\"", "\\", "/", "\b", "\f", "\n", "\r", "\t" });
+
+ List list = new ArrayList();
+
+ list.add("b");
+ list.add(1);
+ list.add(new int[] { 10, 12 });
+ action.setCollection(list);
+
+ // beans
+ List collection2 = new ArrayList();
+ Bean bean1 = new Bean();
+
+ bean1.setStringField("str");
+ bean1.setBooleanField(true);
+ bean1.setCharField('s');
+ bean1.setDoubleField(10.1);
+ bean1.setFloatField(1.5f);
+ bean1.setIntField(10);
+ bean1.setLongField(100);
+ bean1.setEnumField(null);
+ bean1.setEnumBean(null);
+
+ Bean bean2 = new Bean();
+
+ bean2.setStringField(" ");
+ bean2.setBooleanField(false);
+ bean2.setFloatField(1.1f);
+ bean2.setDoubleField(2.2);
+ bean2.setEnumField(AnEnum.ValueC);
+ bean2.setEnumBean(AnEnumBean.Three);
+
+ // circular reference
+ bean1.setObjectField(bean2);
+ bean2.setObjectField(bean1);
+
+ collection2.add(bean1);
+ action.setCollection2(collection2);
+
+ // keep order in map
+ Map map = new LinkedHashMap();
+
+ map.put("a", 1);
+ map.put("c", new float[] { 1.0f, 2.0f });
+ action.setMap(map);
+
+ action.setFoo("foo");
+ // should be ignored, marked 'transient'
+ action.setBar("bar");
+
+ // date
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(Calendar.YEAR, 1999);
+ calendar.set(Calendar.MONTH, Calendar.DECEMBER);
+ calendar.set(Calendar.DAY_OF_MONTH, 31);
+ calendar.set(Calendar.HOUR_OF_DAY, 11);
+ calendar.set(Calendar.MINUTE, 59);
+ calendar.set(Calendar.SECOND, 59);
+ action.setDate(calendar.getTime());
+ action.setDate2(calendar.getTime());
+
+ this.invocation.setAction(action);
+ result.setWrapWithComments(true);
+ result.execute(this.invocation);
+
+ String json = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-3.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ private void executeTest2Action(JSONResult result) throws Exception {
+ TestAction action = new TestAction();
+
+ // beans
+ Bean bean1 = new Bean();
+
+ bean1.setStringField("str");
+ bean1.setBooleanField(true);
+ bean1.setCharField('s');
+ bean1.setDoubleField(10.1);
+ bean1.setFloatField(1.5f);
+ bean1.setIntField(10);
+ bean1.setLongField(100);
+ bean1.setEnumField(AnEnum.ValueA);
+ bean1.setEnumBean(AnEnumBean.One);
+
+ // set root
+ action.setBean(bean1);
+ result.setRoot("bean");
+
+ stack.push(action);
+ this.invocation.setStack(stack);
+ this.invocation.setAction(action);
+
+ result.execute(this.invocation);
+ }
+
+ public void test2() throws Exception {
+ JSONResult result = new JSONResult();
+
+ executeTest2Action(result);
+ String json = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-2.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testJSONP() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setCallbackParameter("callback");
+ request.addParameter("callback", "exec");
+
+ executeTest2Action(result);
+ String json = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("jsonp-1.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testNoCache() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setNoCache(true);
+
+ executeTest2Action(result);
+
+ assertEquals("no-cache", response.getHeader("Cache-Control"));
+ assertEquals("0", response.getHeader("Expires"));
+ assertEquals("No-cache", response.getHeader("Pragma"));
+ }
+
+ public void testContentType() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setContentType("some_super_content");
+
+ executeTest2Action(result);
+
+ assertEquals("some_super_content;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testStatusCode() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setStatusCode(HttpServletResponse.SC_CONTINUE);
+
+ executeTest2Action(result);
+
+ assertEquals(HttpServletResponse.SC_CONTINUE, response.getStatus());
+ }
+
+ /**
+ * Repeats test2 but with the Enum serialized as a bean
+ */
+ public void test2WithEnumBean() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setEnumAsBean(true);
+
+ executeTest2Action(result);
+
+ String json = response.getContentAsString();
+
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-2-enum.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ /**
+ * Ensures that properties of given root object are read as shallow
+ * (non-recursive) unless specifically included.
+ */
+ public void testIncludeProperties() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setIncludeProperties("foo");
+ TestAction action = new TestAction();
+ action.setFoo("fooValue");
+ action.setBean(new Bean());
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String json = response.getContentAsString();
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-9.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ public void testIncludePropertiesWithList() throws Exception {
+ JSONResult result = new JSONResult();
+ result.setIncludeProperties("^list\\[\\d+\\]\\.booleanField");
+ TestAction action = new TestAction();
+
+ List list = new ArrayList();
+
+ list.add(new Bean());
+ list.add(new Bean());
+ list.add(new Bean());
+
+ action.setList(list);
+
+ this.invocation.setAction(action);
+ result.execute(this.invocation);
+
+ String json = response.getContentAsString();
+ String normalizedActual = TestUtils.normalize(json, true);
+ String normalizedExpected = TestUtils.normalize(JSONResultTest.class.getResource("json-10.txt"));
+ assertEquals(normalizedExpected, normalizedActual);
+ assertEquals("application/json;charset=ISO-8859-1", response.getContentType());
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ this.response = new MockHttpServletResponse();
+ this.request = new MockHttpServletRequest();
+ this.request.setRequestURI("http://sumeruri");
+ this.context = ActionContext.getContext();
+ this.context.put(StrutsStatics.HTTP_RESPONSE, this.response);
+ this.context.put(StrutsStatics.HTTP_REQUEST, this.request);
+ this.stack = context.getValueStack();
+ this.servletContext = new MockServletContext();
+ this.context.put(StrutsStatics.SERVLET_CONTEXT, this.servletContext);
+ this.invocation = new MockActionInvocation();
+ this.invocation.setInvocationContext(this.context);
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONResultTest.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java Wed Jul 29 22:44:26 2009
@@ -1,46 +1,66 @@
-package org.apache.struts2.json;
-
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-public class JSONUtilTest extends TestCase {
-
- /**
- * Asserts that a bean can be serialized to JSON and restored as a map
- */
- public void testSerializeDeserialize() throws Exception {
- Bean bean1 = new Bean();
-
- bean1.setStringField("str");
- bean1.setBooleanField(true);
- bean1.setCharField('s');
- bean1.setDoubleField(10.1);
- bean1.setFloatField(1.5f);
- bean1.setIntField(10);
- bean1.setLongField(100);
- bean1.setEnumField(AnEnum.ValueA);
- bean1.setEnumBean(AnEnumBean.Two);
-
- String json = JSONUtil.serialize(bean1);
-
- Map result = (Map) JSONUtil.deserialize(json);
- assertEquals("str", result.get("stringField"));
- assertEquals(true, result.get("booleanField"));
- assertEquals("s", result.get("charField")); // note: this is a
- // String
- assertEquals(10.1, result.get("doubleField"));
- assertEquals(1.5, result.get("floatField")); // note: this is a
- // Double
- assertEquals(10L, result.get("intField")); // note: this is a
- // Long
- assertEquals(AnEnum.ValueA, AnEnum.valueOf((String) result.get("enumField"))); // note:
- // this
- // is a
- // String
- assertEquals(AnEnumBean.Two, AnEnumBean.valueOf((String) result.get("enumBean"))); // note:
- // this
- // is a
- // String
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+public class JSONUtilTest extends TestCase {
+
+ /**
+ * Asserts that a bean can be serialized to JSON and restored as a map
+ */
+ public void testSerializeDeserialize() throws Exception {
+ Bean bean1 = new Bean();
+
+ bean1.setStringField("str");
+ bean1.setBooleanField(true);
+ bean1.setCharField('s');
+ bean1.setDoubleField(10.1);
+ bean1.setFloatField(1.5f);
+ bean1.setIntField(10);
+ bean1.setLongField(100);
+ bean1.setEnumField(AnEnum.ValueA);
+ bean1.setEnumBean(AnEnumBean.Two);
+
+ String json = JSONUtil.serialize(bean1);
+
+ Map result = (Map) JSONUtil.deserialize(json);
+ assertEquals("str", result.get("stringField"));
+ assertEquals(true, result.get("booleanField"));
+ assertEquals("s", result.get("charField")); // note: this is a
+ // String
+ assertEquals(10.1, result.get("doubleField"));
+ assertEquals(1.5, result.get("floatField")); // note: this is a
+ // Double
+ assertEquals(10L, result.get("intField")); // note: this is a
+ // Long
+ assertEquals(AnEnum.ValueA, AnEnum.valueOf((String) result.get("enumField"))); // note:
+ // this
+ // is a
+ // String
+ assertEquals(AnEnumBean.Two, AnEnumBean.valueOf((String) result.get("enumBean"))); // note:
+ // this
+ // is a
+ // String
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/JSONUtilTest.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java Wed Jul 29 22:44:26 2009
@@ -1,97 +1,97 @@
-/*
- * $Id$
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.struts2.json;
-
-public class OtherBean {
- private int primitiveInt;
-
- private Integer intField;
- private Boolean booleanField;
- private Character charField;
- private Long longField;
- private Float floatField;
- private Double doubleField;
- private Byte byteField;
-
- public Boolean isBooleanField() {
- return booleanField;
- }
-
- public void setBooleanField(Boolean booleanField) {
- this.booleanField = booleanField;
- }
-
- public Byte getByteField() {
- return byteField;
- }
-
- public void setByteField(Byte byteField) {
- this.byteField = byteField;
- }
-
- public Character getCharField() {
- return charField;
- }
-
- public void setCharField(Character charField) {
- this.charField = charField;
- }
-
- public Double getDoubleField() {
- return doubleField;
- }
-
- public void setDoubleField(Double doubleField) {
- this.doubleField = doubleField;
- }
-
- public Float getFloatField() {
- return floatField;
- }
-
- public void setFloatField(Float floatField) {
- this.floatField = floatField;
- }
-
- public Integer getIntField() {
- return intField;
- }
-
- public void setIntField(Integer intField) {
- this.intField = intField;
- }
-
- public Long getLongField() {
- return longField;
- }
-
- public void setLongField(Long longField) {
- this.longField = longField;
- }
-
- public int getPrimitiveInt() {
- return primitiveInt;
- }
-
- public void setPrimitiveInt(int primitiveInt) {
- this.primitiveInt = primitiveInt;
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+public class OtherBean {
+ private int primitiveInt;
+
+ private Integer intField;
+ private Boolean booleanField;
+ private Character charField;
+ private Long longField;
+ private Float floatField;
+ private Double doubleField;
+ private Byte byteField;
+
+ public Boolean isBooleanField() {
+ return booleanField;
+ }
+
+ public void setBooleanField(Boolean booleanField) {
+ this.booleanField = booleanField;
+ }
+
+ public Byte getByteField() {
+ return byteField;
+ }
+
+ public void setByteField(Byte byteField) {
+ this.byteField = byteField;
+ }
+
+ public Character getCharField() {
+ return charField;
+ }
+
+ public void setCharField(Character charField) {
+ this.charField = charField;
+ }
+
+ public Double getDoubleField() {
+ return doubleField;
+ }
+
+ public void setDoubleField(Double doubleField) {
+ this.doubleField = doubleField;
+ }
+
+ public Float getFloatField() {
+ return floatField;
+ }
+
+ public void setFloatField(Float floatField) {
+ this.floatField = floatField;
+ }
+
+ public Integer getIntField() {
+ return intField;
+ }
+
+ public void setIntField(Integer intField) {
+ this.intField = intField;
+ }
+
+ public Long getLongField() {
+ return longField;
+ }
+
+ public void setLongField(Long longField) {
+ this.longField = longField;
+ }
+
+ public int getPrimitiveInt() {
+ return primitiveInt;
+ }
+
+ public void setPrimitiveInt(int primitiveInt) {
+ this.primitiveInt = primitiveInt;
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/OtherBean.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java Wed Jul 29 22:44:26 2009
@@ -1,3 +1,23 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.struts2.json;
import java.util.List;
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest1.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java Wed Jul 29 22:44:26 2009
@@ -1,3 +1,23 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
package org.apache.struts2.json;
import org.apache.struts2.json.annotations.SMD;
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDActionTest2.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java Wed Jul 29 22:44:26 2009
@@ -1,175 +1,195 @@
-package org.apache.struts2.json;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-
-import junit.framework.TestCase;
-
-import org.apache.struts2.json.annotations.SMDMethod;
-
-/**
- * Tests that the SMDMethod annotation can be found in interfaces when
- * ignoreSMDMethodInterface is false
- */
-public class SMDMethodInterfaceTest extends TestCase {
-
- public interface InterfaceA {
- String getA();
- }
-
- public interface InterfaceB {
- @SMDMethod
- String getB();
- }
-
- public interface InterfaceC {
- String getC();
- }
-
- public interface InterfaceD {
- String getD();
- }
-
- public interface InterfaceE {
- String getE();
- }
-
- public static class ClassA extends ClassB implements InterfaceA {
-
- private String a;
- private String z;
-
- public ClassA(String a, String b, String c, String d, String e, String x, String y, String z) {
- super(b, c, d, e, x, y);
- this.a = a;
- this.z = z;
- }
-
- public String getA() {
- return a;
- }
-
- @SMDMethod
- public String getZ() {
- return z;
- }
- }
-
- public static class ClassB extends ClassC implements InterfaceB, InterfaceC {
-
- private String b;
- private String c;
- private String y;
-
- public ClassB(String b, String c, String d, String e, String x, String y) {
- super(d, e, x);
- this.b = b;
- this.c = c;
- this.y = y;
- }
-
- public String getC() {
- return c;
- }
-
- public String getB() {
- return b;
- }
-
- public String getY() {
- return y;
- }
- }
-
- public static class ClassC implements InterfaceD, InterfaceE {
-
- private String d;
- private String e;
- private String x;
-
- public ClassC(String d, String e, String x) {
- this.d = d;
- this.e = e;
- this.x = x;
- }
-
- public String getD() {
- return d;
- }
-
- public String getE() {
- return e;
- }
-
- @SMDMethod
- public String getX() {
- return x;
- }
- }
-
- /**
- * Asserts that the SMDMethod annotation is only detected on the classes
- * when ignoreSMDMethodInterfaces is true
- */
- public void testBaseClassOnly() {
- Method[] smdMethodsA = JSONUtil.listSMDMethods(ClassA.class, true);
- assertEquals(2, smdMethodsA.length);
- assertEquals("getZ", smdMethodsA[0].getName());
- assertEquals("getX", smdMethodsA[1].getName());
-
- Method[] smdMethodsB = JSONUtil.listSMDMethods(ClassB.class, true);
- assertEquals(1, smdMethodsB.length);
- assertEquals("getX", smdMethodsB[0].getName());
-
- Method[] smdMethodsC = JSONUtil.listSMDMethods(ClassC.class, true);
- assertEquals(1, smdMethodsC.length);
- assertEquals("getX", smdMethodsC[0].getName());
- }
-
- /**
- * Asserts that the SMDMethod annotation is also detected on the interfaces
- * and superclasses when ignoreSMDMethodInterfaces is false
- */
- public void testInterfaces() {
- Method[] smdMethodsA = JSONUtil.listSMDMethods(ClassA.class, false);
- assertEquals(3, smdMethodsA.length);
- assertEquals("getZ", smdMethodsA[0].getName());
- assertEquals("getX", smdMethodsA[1].getName());
- assertEquals("getB", smdMethodsA[2].getName());
-
- Method[] smdMethodsB = JSONUtil.listSMDMethods(ClassB.class, false);
- assertEquals(2, smdMethodsB.length);
- assertEquals("getX", smdMethodsB[0].getName());
- assertEquals("getB", smdMethodsB[1].getName());
-
- Method[] smdMethodsC = JSONUtil.listSMDMethods(ClassC.class, false);
- assertEquals(1, smdMethodsC.length);
- assertEquals("getX", smdMethodsC[0].getName());
- }
-
- /**
- * This is the important case: detects the SMDMethod annotation on a proxy
- */
- public void testWithProxy() {
-
- InvocationHandler handler = new InvocationHandler() {
- // dummy implementation
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- return null;
- }
- };
- // proxy is proxy to an impl of ClassA
- InterfaceA proxy = (InterfaceA) Proxy.newProxyInstance(ClassA.class.getClassLoader(), new Class[] {
- InterfaceA.class, InterfaceB.class, InterfaceC.class }, handler);
-
- // first, without the recursion
- Method[] smdMethodsA = JSONUtil.listSMDMethods(proxy.getClass(), true);
- assertEquals(0, smdMethodsA.length);
-
- // now with the recursion
- Method[] smdMethodsB = JSONUtil.listSMDMethods(proxy.getClass(), false);
- assertEquals(1, smdMethodsB.length);
- assertEquals("getB", smdMethodsB[0].getName());
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
+import junit.framework.TestCase;
+
+import org.apache.struts2.json.annotations.SMDMethod;
+
+/**
+ * Tests that the SMDMethod annotation can be found in interfaces when
+ * ignoreSMDMethodInterface is false
+ */
+public class SMDMethodInterfaceTest extends TestCase {
+
+ public interface InterfaceA {
+ String getA();
+ }
+
+ public interface InterfaceB {
+ @SMDMethod
+ String getB();
+ }
+
+ public interface InterfaceC {
+ String getC();
+ }
+
+ public interface InterfaceD {
+ String getD();
+ }
+
+ public interface InterfaceE {
+ String getE();
+ }
+
+ public static class ClassA extends ClassB implements InterfaceA {
+
+ private String a;
+ private String z;
+
+ public ClassA(String a, String b, String c, String d, String e, String x, String y, String z) {
+ super(b, c, d, e, x, y);
+ this.a = a;
+ this.z = z;
+ }
+
+ public String getA() {
+ return a;
+ }
+
+ @SMDMethod
+ public String getZ() {
+ return z;
+ }
+ }
+
+ public static class ClassB extends ClassC implements InterfaceB, InterfaceC {
+
+ private String b;
+ private String c;
+ private String y;
+
+ public ClassB(String b, String c, String d, String e, String x, String y) {
+ super(d, e, x);
+ this.b = b;
+ this.c = c;
+ this.y = y;
+ }
+
+ public String getC() {
+ return c;
+ }
+
+ public String getB() {
+ return b;
+ }
+
+ public String getY() {
+ return y;
+ }
+ }
+
+ public static class ClassC implements InterfaceD, InterfaceE {
+
+ private String d;
+ private String e;
+ private String x;
+
+ public ClassC(String d, String e, String x) {
+ this.d = d;
+ this.e = e;
+ this.x = x;
+ }
+
+ public String getD() {
+ return d;
+ }
+
+ public String getE() {
+ return e;
+ }
+
+ @SMDMethod
+ public String getX() {
+ return x;
+ }
+ }
+
+ /**
+ * Asserts that the SMDMethod annotation is only detected on the classes
+ * when ignoreSMDMethodInterfaces is true
+ */
+ public void testBaseClassOnly() {
+ Method[] smdMethodsA = JSONUtil.listSMDMethods(ClassA.class, true);
+ assertEquals(2, smdMethodsA.length);
+ assertEquals("getZ", smdMethodsA[0].getName());
+ assertEquals("getX", smdMethodsA[1].getName());
+
+ Method[] smdMethodsB = JSONUtil.listSMDMethods(ClassB.class, true);
+ assertEquals(1, smdMethodsB.length);
+ assertEquals("getX", smdMethodsB[0].getName());
+
+ Method[] smdMethodsC = JSONUtil.listSMDMethods(ClassC.class, true);
+ assertEquals(1, smdMethodsC.length);
+ assertEquals("getX", smdMethodsC[0].getName());
+ }
+
+ /**
+ * Asserts that the SMDMethod annotation is also detected on the interfaces
+ * and superclasses when ignoreSMDMethodInterfaces is false
+ */
+ public void testInterfaces() {
+ Method[] smdMethodsA = JSONUtil.listSMDMethods(ClassA.class, false);
+ assertEquals(3, smdMethodsA.length);
+ assertEquals("getZ", smdMethodsA[0].getName());
+ assertEquals("getX", smdMethodsA[1].getName());
+ assertEquals("getB", smdMethodsA[2].getName());
+
+ Method[] smdMethodsB = JSONUtil.listSMDMethods(ClassB.class, false);
+ assertEquals(2, smdMethodsB.length);
+ assertEquals("getX", smdMethodsB[0].getName());
+ assertEquals("getB", smdMethodsB[1].getName());
+
+ Method[] smdMethodsC = JSONUtil.listSMDMethods(ClassC.class, false);
+ assertEquals(1, smdMethodsC.length);
+ assertEquals("getX", smdMethodsC[0].getName());
+ }
+
+ /**
+ * This is the important case: detects the SMDMethod annotation on a proxy
+ */
+ public void testWithProxy() {
+
+ InvocationHandler handler = new InvocationHandler() {
+ // dummy implementation
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ return null;
+ }
+ };
+ // proxy is proxy to an impl of ClassA
+ InterfaceA proxy = (InterfaceA) Proxy.newProxyInstance(ClassA.class.getClassLoader(), new Class[] {
+ InterfaceA.class, InterfaceB.class, InterfaceC.class }, handler);
+
+ // first, without the recursion
+ Method[] smdMethodsA = JSONUtil.listSMDMethods(proxy.getClass(), true);
+ assertEquals(0, smdMethodsA.length);
+
+ // now with the recursion
+ Method[] smdMethodsB = JSONUtil.listSMDMethods(proxy.getClass(), false);
+ assertEquals(1, smdMethodsB.length);
+ assertEquals("getB", smdMethodsB[0].getName());
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SMDMethodInterfaceTest.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java Wed Jul 29 22:44:26 2009
@@ -1,17 +1,37 @@
-package org.apache.struts2.json;
-
-public class SimpleValue {
-
- private String value;
-
- public SimpleValue() {
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String v) {
- this.value = v;
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+public class SimpleValue {
+
+ private String value;
+
+ public SimpleValue() {
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String v) {
+ this.value = v;
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/SimpleValue.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java Wed Jul 29 22:44:26 2009
@@ -1,188 +1,188 @@
-/*
- * $Id: TestAction.java 471756 2006-11-06 15:01:43Z husted $
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.struts2.json;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.struts2.json.annotations.JSON;
-
-import com.opensymphony.xwork2.Action;
-import com.opensymphony.xwork2.ActionSupport;
-
-/**
- */
-@SuppressWarnings("unchecked")
-public class TestAction extends ActionSupport {
- private static final long serialVersionUID = -8891365561914451494L;
- private List collection;
- private List collection2;
- private Map map;
- private String foo;
- private String result;
- private String[] array;
- private Bean[] beanArray;
- private int[] intArray;
- private List list;
- private String bar;
- private String nogetter;
- private Date date2;
- private Bean bean;
- private Date date;
- private String foo2 = null;
-
- public Bean getBean() {
- return this.bean;
- }
-
- public void setBean(Bean bean) {
- this.bean = bean;
- }
-
- public List getCollection() {
- return this.collection;
- }
-
- public void setCollection(List collection) {
- this.collection = collection;
- }
-
- public List getCollection2() {
- return this.collection2;
- }
-
- public void setCollection2(List collection2) {
- this.collection2 = collection2;
- }
-
- public Map getMap() {
- return this.map;
- }
-
- public void setMap(Map map) {
- this.map = map;
- }
-
- public String getFoo() {
- return this.foo;
- }
-
- public void setFoo(String foo) {
- this.foo = foo;
- }
-
- public String getResult() {
- return this.result;
- }
-
- public void setResult(String result) {
- this.result = result;
- }
-
- public String[] getArray() {
- return this.array;
- }
-
- public void setArray(String[] array) {
- this.array = array;
- }
-
- public List getList() {
- return this.list;
- }
-
- public void setList(List list) {
- this.list = list;
- }
-
- @Override
- public String execute() throws Exception {
- if (this.result == null) {
- this.result = Action.SUCCESS;
- }
-
- return this.result;
- }
-
- public String doInput() throws Exception {
- return INPUT;
- }
-
- public void setBar(String bar) {
- this.bar = bar;
- }
-
- @JSON(serialize = false)
- public String getBar() {
- return this.bar;
- }
-
- public void setNogetter(String nogetter) {
- this.nogetter = nogetter;
- }
-
- @JSON(serialize = false)
- public int[] getIntArray() {
- return this.intArray;
- }
-
- public void setIntArray(int[] intArray) {
- this.intArray = intArray;
- }
-
- @JSON(serialize = false)
- public Bean[] getBeanArray() {
- return this.beanArray;
- }
-
- public void setBeanArray(Bean[] beanArray) {
- this.beanArray = beanArray;
- }
-
- public Date getDate() {
- return this.date;
- }
-
- public void setDate(Date date) {
- this.date = date;
- }
-
- @JSON(format = "dd/MM/yy")
- public Date getDate2() {
- return this.date2;
- }
-
- @JSON(format = "dd/MM/yy")
- public void setDate2(Date date2) {
- this.date2 = date2;
- }
-
- @JSON(serialize = false)
- public String getFoo2() {
- return this.foo2;
- }
-
- @JSON(deserialize = false)
- public void setFoo2(String foo2) {
- this.foo2 = foo2;
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.struts2.json.annotations.JSON;
+
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
+
+/**
+ */
+@SuppressWarnings("unchecked")
+public class TestAction extends ActionSupport {
+ private static final long serialVersionUID = -8891365561914451494L;
+ private List collection;
+ private List collection2;
+ private Map map;
+ private String foo;
+ private String result;
+ private String[] array;
+ private Bean[] beanArray;
+ private int[] intArray;
+ private List list;
+ private String bar;
+ private String nogetter;
+ private Date date2;
+ private Bean bean;
+ private Date date;
+ private String foo2 = null;
+
+ public Bean getBean() {
+ return this.bean;
+ }
+
+ public void setBean(Bean bean) {
+ this.bean = bean;
+ }
+
+ public List getCollection() {
+ return this.collection;
+ }
+
+ public void setCollection(List collection) {
+ this.collection = collection;
+ }
+
+ public List getCollection2() {
+ return this.collection2;
+ }
+
+ public void setCollection2(List collection2) {
+ this.collection2 = collection2;
+ }
+
+ public Map getMap() {
+ return this.map;
+ }
+
+ public void setMap(Map map) {
+ this.map = map;
+ }
+
+ public String getFoo() {
+ return this.foo;
+ }
+
+ public void setFoo(String foo) {
+ this.foo = foo;
+ }
+
+ public String getResult() {
+ return this.result;
+ }
+
+ public void setResult(String result) {
+ this.result = result;
+ }
+
+ public String[] getArray() {
+ return this.array;
+ }
+
+ public void setArray(String[] array) {
+ this.array = array;
+ }
+
+ public List getList() {
+ return this.list;
+ }
+
+ public void setList(List list) {
+ this.list = list;
+ }
+
+ @Override
+ public String execute() throws Exception {
+ if (this.result == null) {
+ this.result = Action.SUCCESS;
+ }
+
+ return this.result;
+ }
+
+ public String doInput() throws Exception {
+ return INPUT;
+ }
+
+ public void setBar(String bar) {
+ this.bar = bar;
+ }
+
+ @JSON(serialize = false)
+ public String getBar() {
+ return this.bar;
+ }
+
+ public void setNogetter(String nogetter) {
+ this.nogetter = nogetter;
+ }
+
+ @JSON(serialize = false)
+ public int[] getIntArray() {
+ return this.intArray;
+ }
+
+ public void setIntArray(int[] intArray) {
+ this.intArray = intArray;
+ }
+
+ @JSON(serialize = false)
+ public Bean[] getBeanArray() {
+ return this.beanArray;
+ }
+
+ public void setBeanArray(Bean[] beanArray) {
+ this.beanArray = beanArray;
+ }
+
+ public Date getDate() {
+ return this.date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+ @JSON(format = "dd/MM/yy")
+ public Date getDate2() {
+ return this.date2;
+ }
+
+ @JSON(format = "dd/MM/yy")
+ public void setDate2(Date date2) {
+ this.date2 = date2;
+ }
+
+ @JSON(serialize = false)
+ public String getFoo2() {
+ return this.foo2;
+ }
+
+ @JSON(deserialize = false)
+ public void setFoo2(String foo2) {
+ this.foo2 = foo2;
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java Wed Jul 29 22:44:26 2009
@@ -1,7 +1,27 @@
-package org.apache.struts2.json;
-
-public class TestAction2 {
- public String getName() {
- return "name";
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+public class TestAction2 {
+ public String getName() {
+ return "name";
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction2.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java Wed Jul 29 22:44:26 2009
@@ -1,7 +1,27 @@
-package org.apache.struts2.json;
-
-public class TestAction3 extends TestAction2 {
- public String getName2() {
- return "name";
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+public class TestAction3 extends TestAction2 {
+ public String getName2() {
+ return "name";
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction3.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java?rev=799110&r1=799109&r2=799110&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java (original)
+++ struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java Wed Jul 29 22:44:26 2009
@@ -1,15 +1,35 @@
-package org.apache.struts2.json;
-
-public class TestAction4 {
- private Bean bean;
-
- public Bean getBean() {
- if (this.bean == null)
- this.bean = new Bean();
- return this.bean;
- }
-
- public void setBean(Bean bean) {
- this.bean = bean;
- }
-}
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.json;
+
+public class TestAction4 {
+ private Bean bean;
+
+ public Bean getBean() {
+ if (this.bean == null)
+ this.bean = new Bean();
+ return this.bean;
+ }
+
+ public void setBean(Bean bean) {
+ this.bean = bean;
+ }
+}
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: struts/sandbox/trunk/struts2-json-plugin/src/test/java/org/apache/struts2/json/TestAction4.java
------------------------------------------------------------------------------
svn:keywords = Id