You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2015/08/03 14:05:50 UTC
svn commit: r1693884 - in /turbine/fulcrum/trunk/json: ./
jackson2/src/java/org/apache/fulcrum/json/jackson/
jackson2/src/test/org/apache/fulcrum/json/jackson/
Author: gk
Date: Mon Aug 3 12:05:49 2015
New Revision: 1693884
URL: http://svn.apache.org/r1693884
Log:
- fix compare
- JUnit4 tests
Modified:
turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test.java
turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
turbine/fulcrum/trunk/json/pom.xml
Modified: turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java (original)
+++ turbine/fulcrum/trunk/json/jackson2/src/java/org/apache/fulcrum/json/jackson/Jackson2MapperService.java Mon Aug 3 12:05:49 2015
@@ -306,7 +306,7 @@ public class Jackson2MapperService exten
public synchronized <T> String serializeOnlyFilter(Object src,
Class<T>[] filterClasses, Boolean refresh, String... filterAttr) throws Exception {
PropertyFilter pf = null;
- if (filterAttr != null && filterAttr.length > 0 && filterAttr[0] != "") {
+ if (filterAttr != null && filterAttr.length > 0 && ! "".equals(filterAttr[0]) ) {
pf = SimpleBeanPropertyFilter.filterOutAllExcept(filterAttr);
getLogger().debug("setting filteroutAllexcept filter for size of filterAttr: " + filterAttr.length);
} else {
@@ -427,7 +427,6 @@ public class Jackson2MapperService exten
+ filterClazz);
}
((SimpleNameIntrospector) primary).setExternalFilterExcludeClasses(externalFilterClassIds);
- getLogger().debug("added exclude class(es) for filters " + externalFilterClassIds);
}
}
}
@@ -570,7 +569,7 @@ public class Jackson2MapperService exten
+ secondary.getClass().getSimpleName());
}
- if (features != null) {
+ if (features != null && !features.isEmpty()) {
Enumeration<String> enumFeatureKey = features.keys();
while (enumFeatureKey.hasMoreElements()) {
String featureKey = enumFeatureKey.nextElement();// e.g.
Modified: turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java (original)
+++ turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/DefaultServiceTest.java Mon Aug 3 12:05:49 2015
@@ -19,6 +19,9 @@ package org.apache.fulcrum.json.jackson;
* under the License.
*/
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@@ -27,12 +30,13 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.fulcrum.json.JsonService;
import org.apache.fulcrum.json.Rectangle;
import org.apache.fulcrum.json.TestClass;
import org.apache.fulcrum.json.jackson.filters.CustomModuleWrapper;
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
+import org.apache.fulcrum.testcontainer.BaseUnit4Test;
+import org.junit.Before;
+import org.junit.Test;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -42,32 +46,23 @@ import com.fasterxml.jackson.core.type.T
* @author gk
* @version $Id$
*/
-public class DefaultServiceTest extends BaseUnitTest {
+public class DefaultServiceTest extends BaseUnit4Test {
private JsonService sc = null;
private final String preDefinedOutput = "{\"container\":{\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}";
- /**
- * Constructor for test.
- *
- * @param testName
- * name of the test being executed
- */
- public DefaultServiceTest(String testName) {
- super(testName);
- }
-
+ @Before
public void setUp() throws Exception {
//setLogLevel(ConsoleLogger.LEVEL_DEBUG);
- super.setUp();
sc = (JsonService) this.lookup(JsonService.ROLE);
}
+ @Test
public void testSerialize() throws Exception {
String serJson = sc.ser(new TestClass("mytest"));
assertEquals("Serialization failed ", preDefinedOutput, serJson);
}
- //@Test
+ @Test
// the default test class: one String field, one Map
public void testSerializeExcludeNothing() throws Exception {
String serJson = sc.serializeAllExceptFilter(new TestClass("mytest"));
@@ -76,7 +71,7 @@ public class DefaultServiceTest extends
"{\"container\":{\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}",
serJson);
}
-
+ @Test
// jackson does not deep exclusion of class types (by default?)
public void testSerializeExcludeClass() throws Exception {
String serJson = sc.serializeAllExceptFilter(new TestClass("mytest"),
@@ -84,13 +79,13 @@ public class DefaultServiceTest extends
assertEquals("Serialization failed ",
"{\"container\":{\"cf\":\"Config.xml\"}}", serJson);
}
-
+ @Test
public void testSerializeExcludeClassAndField() throws Exception {
String serJson = ((Jackson2MapperService)sc).serializeAllExceptFilter(new TestClass("mytest"),
new Class[] { TestClass.class, String.class} , "container");
assertEquals("Serialization failed ", "{}", serJson);
}
-
+ @Test
// adding expected result to be consistent
public void testSerializeExcludeClassAndFields() throws Exception {
String serJson = ((Jackson2MapperService)sc).serializeAllExceptFilter(new TestClass("mytest"),
@@ -100,7 +95,7 @@ public class DefaultServiceTest extends
true, "configurationName", "name");
assertEquals("Serialization failed ", "{}", serJson2);
}
-
+ @Test
public void testSerializeExcludeField() throws Exception {
String serJson = sc.serializeAllExceptFilter(new TestClass("mytest"), "configurationName");
@@ -108,7 +103,7 @@ public class DefaultServiceTest extends
"{\"container\":{\"cf\":\"Config.xml\"},\"name\":\"mytest\"}",
serJson);
}
-
+ @Test
public void testSerializeDate() throws Exception {
// non default date format
final SimpleDateFormat MMddyyyy = new SimpleDateFormat("MM-dd-yyyy");
@@ -121,7 +116,7 @@ public class DefaultServiceTest extends
assertTrue("Serialize with Adapater failed ",
serJson.matches("\\{\"date\":\"\\d\\d-\\d\\d-\\d{4}\"\\}"));
}
-
+ @Test
// jackson serializes size too
public void testSerializeCollection() throws Exception {
List<Rectangle> rectList = new ArrayList<Rectangle>();
@@ -135,7 +130,7 @@ public class DefaultServiceTest extends
"[{'w':0,'h':0,'name':'rect0','size':0},{'w':1,'h':1,'name':'rect1','size':1},{'w':2,'h':2,'name':'rect2','size':4},{'w':3,'h':3,'name':'rect3','size':9},{'w':4,'h':4,'name':'rect4','size':16},{'w':5,'h':5,'name':'rect5','size':25},{'w':6,'h':6,'name':'rect6','size':36},{'w':7,'h':7,'name':'rect7','size':49},{'w':8,'h':8,'name':'rect8','size':64},{'w':9,'h':9,'name':'rect9','size':81}]",
adapterSer.replace('"', '\''));
}
-
+ @Test
public void testSerializationCollectioPrimitiveWrapper() throws Exception {
List<Integer> intList = new ArrayList<Integer>();
@@ -149,7 +144,7 @@ public class DefaultServiceTest extends
"[0,1,4,9,16,25,36,49,64,81]",
result);
}
-
+ @Test
public void testSerializeTypeAdapterForCollection() throws Exception {
TestSerializer tser = new TestSerializer();
CustomModuleWrapper<List> cmw = new CustomModuleWrapper(tser, null);
@@ -165,7 +160,7 @@ public class DefaultServiceTest extends
"{'rect0':0,'rect1':1,'rect2':4,'rect3':9,'rect4':16,'rect5':25,'rect6':36,'rect7':49,'rect8':64,'rect9':81}",
adapterSer.replace('"', '\''));
}
-
+ @Test
public void testMixinAdapter() throws Exception {
TestJsonSerializer tser = new TestJsonSerializer();
CustomModuleWrapper<TestClass> cmw = new CustomModuleWrapper<TestClass>(
@@ -175,14 +170,13 @@ public class DefaultServiceTest extends
assertEquals("failed adapter serialization:",
"{\"n\":\"mytest\",\"p\":\"Config.xml\",\"c\":[]}", adapterSer);
}
-
+ @Test
public void testDeSerialize() throws Exception {
String serJson = sc.ser(new TestClass("mytest"));
Object deson = sc.deSer(serJson, TestClass.class);
assertEquals("Serialization failed ", TestClass.class, deson.getClass());
}
-
-
+ @Test
public void testDeserializationCollection() throws Exception {
List<Rectangle> rectList = new ArrayList<Rectangle>();
for (int i = 0; i < 10; i++) {
@@ -198,7 +192,7 @@ public class DefaultServiceTest extends
.get(i).getSize());
}
}
-
+ @Test
public void testDeserializationTypeAdapterForCollection() throws Exception {
TestSerializer tser = new TestSerializer();
TestDeserializer tdeSer = new TestDeserializer();
@@ -217,7 +211,7 @@ public class DefaultServiceTest extends
.get(i).getSize());
}
}
-
+ @Test
public void testSerializeWithMixinAndFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -231,7 +225,7 @@ public class DefaultServiceTest extends
"{}",
bean);
}
-
+ @Test
public void testSerializeWithOnlyFilter() throws Exception {
String serJson = sc.serializeOnlyFilter(new TestClass("mytest"),"configurationName");
@@ -252,7 +246,7 @@ public class DefaultServiceTest extends
"{\"w\":5}",
rectangle);
}
-
+ @Test
public void testSerializeAllExceptANDWithOnlyFilter2() throws Exception {
String serJson = sc.serializeAllExceptFilter(new TestClass("mytest"),"configurationName");
@@ -273,7 +267,7 @@ public class DefaultServiceTest extends
"{\"w\":5}",
rectangle);
}
-
+ @Test
public void testSerializeBeanWithOnlyFilter() throws Exception {
Bean bean = new BeanChild();
bean.setAge(1);bean.setName("bean1");
@@ -288,7 +282,7 @@ public class DefaultServiceTest extends
assertEquals("{\"name\":\"bean0\"}",sc.serializeOnlyFilter(bean, BeanChild.class, true,"name"));// child filter
assertEquals("{\"name\":\"bean0\"}",sc.serializeOnlyFilter(bean, Object.class, true,"name"));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilterAndParentClass() throws Exception {
List<BeanChild> beanList = new ArrayList<BeanChild>();
@@ -300,7 +294,7 @@ public class DefaultServiceTest extends
assertEquals("[{\"name\":\"bean0\"},{\"name\":\"bean1\"},{\"name\":\"bean2\"}]",sc.serializeOnlyFilter(beanList, Bean.class, true,"name"));
//assertEquals("[{\"type\":\"\"},{\"type\":\"\"},{\"type\":\"\"}]",sc.serializeOnlyFilter(beanList, BeanChild.class, true,"type"));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilterAndExactClass() throws Exception {
List<Bean> beanList = new ArrayList<Bean>();
@@ -312,9 +306,8 @@ public class DefaultServiceTest extends
assertEquals("[{\"name\":\"bean0\"},{\"name\":\"bean1\"},{\"name\":\"bean2\"}]",sc.serializeOnlyFilter(beanList, BeanChild.class, true,"name"));
//assertEquals("[{\"type\":\"\"},{\"type\":\"\"},{\"type\":\"\"}]",sc.serializeOnlyFilter(beanList, BeanChild.class, true,"type"));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilterWithChildClass() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 3; i++) {
Bean bean = new Bean();
@@ -324,8 +317,7 @@ public class DefaultServiceTest extends
assertEquals("[{\"name\":\"bean0\"},{\"name\":\"bean1\"},{\"name\":\"bean2\"}]",sc.serializeOnlyFilter(beanList, BeanChild.class, true,"name"));
//assertEquals("[{\"type\":\"\"},{\"type\":\"\"},{\"type\":\"\"}]",sc.serializeOnlyFilter(beanList, BeanChild.class, true,"type"));
}
-
-
+ @Test
public void testSerializeCollectionWithOnlyFilterAndType() throws Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
@@ -337,7 +329,7 @@ public class DefaultServiceTest extends
// no type cft. https://github.com/FasterXML/jackson-databind/issues/303 !!
assertEquals("[{\"w\":0},{\"w\":1}]",sc.serializeOnlyFilter(rectList, clazz, true,"w"));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilterAndMixin() throws Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
@@ -350,7 +342,7 @@ public class DefaultServiceTest extends
assertEquals("[\"java.util.ArrayList\",[{\"type\":\"org.apache.fulcrum.json.jackson.TypedRectangle\",\"w\":0},{\"type\":\"org.apache.fulcrum.json.jackson.TypedRectangle\",\"w\":1}]]",
sc.serializeOnlyFilter(rectList, clazz, true, "w"));
}
-
+ @Test
public void testSerializeCollectionWithTypedReference() throws Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
Modified: turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java (original)
+++ turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTypingTest.java Mon Aug 3 12:05:49 2015
@@ -19,6 +19,10 @@ package org.apache.fulcrum.json.jackson;
* under the License.
*/
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -31,7 +35,9 @@ import org.apache.avalon.framework.logge
import org.apache.fulcrum.json.JsonService;
import org.apache.fulcrum.json.Rectangle;
import org.apache.fulcrum.json.TestClass;
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
+import org.apache.fulcrum.testcontainer.BaseUnit4Test;
+import org.junit.Before;
+import org.junit.Test;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -46,43 +52,31 @@ import com.fasterxml.jackson.databind.Ob
* @author gk
* @version $Id$
*/
-public class JacksonMapperEnabledDefaultTypingTest extends BaseUnitTest {
+public class JacksonMapperEnabledDefaultTypingTest extends BaseUnit4Test {
+ private final String preDefinedOutput = "{\"type\":\"org.apache.fulcrum.json.TestClass\",\"container\":{\"type\":\"java.util.HashMap\",\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}";
private JsonService sc = null;
Logger logger;
- /**
- * Constructor for test.
- *
- * @param testName
- * name of the test being executed
- */
- public JacksonMapperEnabledDefaultTypingTest(String testName) {
- super(testName);
- }
+ @Before
public void setUp() throws Exception {
- super.setUp();
sc = (JsonService) this.lookup(JsonService.ROLE);
logger = new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
((Jackson2MapperService) sc).getMapper().enableDefaultTypingAsProperty(
DefaultTyping.NON_FINAL, "type");
}
-
+ @Test
public void testSerialize() throws Exception {
- String serJson = sc.ser(new JacksonMapperEnabledDefaultTypingTest(
- "mytest"));
- assertEquals(
- "Set failed ",
- "{\"type\":\"org.apache.fulcrum.json.jackson.JacksonMapperEnabledDefaultTypingTest\",\"name\":\"mytest\"}",
- serJson);
+ String serJson = sc.ser(new TestClass("mytest"));
+ assertEquals("Serialization failed ", preDefinedOutput, serJson);
}
-
+ @Test
public void testDeSerialize() throws Exception {
String serJson = sc.ser(new TestClass("mytest"));
Object deson = sc.deSer(serJson, TestClass.class);
assertEquals("DeSer failed ", TestClass.class, deson.getClass());
}
-
+ @Test
public void testSerializeDateWithDefaultDateFormat() throws Exception {
Map<String, Date> map = new HashMap<String, Date>();
@@ -93,7 +87,7 @@ public class JacksonMapperEnabledDefault
"Serialize with Adapater failed ",
serJson.matches(".*\"java.util.Date\",\"\\d\\d/\\d\\d/\\d{4}\".*"));
}
-
+ @Test
public void testDeSerializeDate() throws Exception {
Map<String, Date> map = new HashMap<String, Date>();
map.put("date", Calendar.getInstance().getTime());
@@ -106,7 +100,7 @@ public class JacksonMapperEnabledDefault
assertEquals("Date DeSer failed ", Date.class, serDate.get("date")
.getClass());
}
-
+ @Test
public void testSerializeWithCustomFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -123,7 +117,7 @@ public class JacksonMapperEnabledDefault
assertEquals("Ser filtered Rectangle failed ",
"{\"w\":5,\"name\":\"jim\"}", rectangle);
}
-
+ @Test
public void testSerializationCollectionWithFilter() throws Exception {
List<Bean> beanList = new ArrayList<Bean>();
@@ -140,7 +134,7 @@ public class JacksonMapperEnabledDefault
"['java.util.ArrayList',[{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0','age':0},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1','age':1},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2','age':2},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe3','age':3},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe4','age':4},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe5','age':5},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe6','age':6},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe7','age':7},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe8','age':8},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe9','age':9}]]",
result.replace('"', '\''));
}
-
+ @Test
public void testDeserializationCollectionWithFilter() throws Exception {
List<Bean> beanList = new ArrayList<Bean>();
@@ -162,7 +156,7 @@ public class JacksonMapperEnabledDefault
assertEquals("DeSer failed ", Bean.class, bean.getClass());
}
}
-
+ @Test
public void testDeserializationUnTypedCollectionWithFilter()
throws Exception {
@@ -186,7 +180,7 @@ public class JacksonMapperEnabledDefault
}
}
-
+ @Test
public void testSerializeWithMixin() throws Exception {
Rectangle filteredRectangle = new Rectangle(5, 10);
filteredRectangle.setName("jim");
@@ -195,7 +189,7 @@ public class JacksonMapperEnabledDefault
filteredRectangle);
assertEquals("Ser failed ", "{\"width\":5}", serRect);
}
-
+ @Test
public void testSerializeWith2Mixins() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -215,7 +209,7 @@ public class JacksonMapperEnabledDefault
"{\"type\":\"org.apache.fulcrum.json.jackson.Bean\",\"name\":\"joe\"}",
bean);
}
-
+ @Test
public void testSerializeWithMixinAndFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -229,7 +223,7 @@ public class JacksonMapperEnabledDefault
"{\"type\":\"org.apache.fulcrum.json.jackson.Bean\"}",
bean);
}
-
+ @Test
public void testSerializeWithUnregisteredMixinAndFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -245,7 +239,7 @@ public class JacksonMapperEnabledDefault
"{\"type\":\"org.apache.fulcrum.json.jackson.Bean\",\"profession\":\"\"}",
bean);
}
-
+ @Test
public void testMultipleSerializingWithMixinAndFilter() throws Exception {
Rectangle filteredRectangle = new Rectangle(5, 10);
filteredRectangle.setName("jim");
@@ -272,9 +266,8 @@ public class JacksonMapperEnabledDefault
"{\"name\":\"jim\",\"width\":5}",
rectangle1);
}
-
+ @Test
public void testSerializationCollectionWithMixin() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -289,9 +282,8 @@ public class JacksonMapperEnabledDefault
"['java.util.ArrayList',[{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe3'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe4'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe5'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe6'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe7'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe8'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe9'}]]",
result.replace('"', '\''));
}
-
+ @Test
public void testDeSerializationCollectionWithMixin() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -310,7 +302,7 @@ public class JacksonMapperEnabledDefault
assertEquals("DeSer failed ", Bean.class, bean.getClass());
}
}
-
+ @Test
public void testSerializationCollectionWithMixins() throws Exception {
List components = new ArrayList<Object>();
components.add(new Rectangle(25, 3));
@@ -321,7 +313,6 @@ public class JacksonMapperEnabledDefault
filteredBean.setAge(i);
components.add(filteredBean);
}
-
sc.addAdapter("M4RMixin", Rectangle.class, Mixin.class).addAdapter(
"M4BeanRMixin", Bean.class, BeanMixin.class);
String serRect = sc.ser(components);
@@ -330,7 +321,7 @@ public class JacksonMapperEnabledDefault
"['java.util.ArrayList',[{'type':'org.apache.fulcrum.json.Rectangle','width':25},{'type':'org.apache.fulcrum.json.Rectangle','width':250},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2'}]]",
serRect.replace('"', '\''));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilter() throws Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
@@ -342,7 +333,6 @@ public class JacksonMapperEnabledDefault
sc.serializeOnlyFilter(rectList, TypedRectangle.class, "w"));
}
-
// @JsonFilter("myFilter")
public static abstract class Mixin2 {
Modified: turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test.java?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test.java (original)
+++ turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test.java Mon Aug 3 12:05:49 2015
@@ -19,6 +19,9 @@ package org.apache.fulcrum.json.jackson;
* under the License.
*/
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -32,7 +35,9 @@ import org.apache.avalon.framework.logge
import org.apache.fulcrum.json.JsonService;
import org.apache.fulcrum.json.Rectangle;
import org.apache.fulcrum.json.TestClass;
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
+import org.apache.fulcrum.testcontainer.BaseUnit4Test;
+import org.junit.Before;
+import org.junit.Test;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -47,43 +52,32 @@ import com.fasterxml.jackson.databind.Ob
* @author gk
* @version $Id$
*/
-public class JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test extends BaseUnitTest {
+public class JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test extends BaseUnit4Test {
private JsonService sc = null;
+ private final String preDefinedOutput = "{\"container\":{\"type\":\"java.util.HashMap\",\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}";
Logger logger;
- /**
- * Constructor for test.
- *
- * @param testName
- * name of the test being executed
- */
- public JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test(String testName) {
- super(testName);
- }
-
+ @Before
public void setUp() throws Exception {
- super.setUp();
sc = (JsonService) this.lookup(JsonService.ROLE);
logger = new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
((Jackson2MapperService) sc).getMapper().enableDefaultTypingAsProperty(
DefaultTyping.OBJECT_AND_NON_CONCRETE, "type");
}
-
+
+ @Test
public void testSerialize() throws Exception {
- String serJson = sc.ser(new JacksonMapperEnabledDefaultTyping_OBJECT_AND_NON_CONCRETE_Test(
- "mytest"));
- assertEquals(
- "Set failed ",
- "{\"name\":\"mytest\"}",
- serJson);
+ String serJson = sc.ser(new TestClass("mytest"));
+ assertEquals("Serialization failed ", preDefinedOutput, serJson);
}
+ @Test
public void testDeSerialize() throws Exception {
String serJson = sc.ser(new TestClass("mytest"));
Object deson = sc.deSer(serJson, TestClass.class);
assertEquals("DeSer failed ", TestClass.class, deson.getClass());
}
-
+ @Test
public void testSerializeDateWithDefaultDateFormat() throws Exception {
Map<String, Date> map = new HashMap<String, Date>();
@@ -94,7 +88,7 @@ public class JacksonMapperEnabledDefault
"Serialize with Adapater failed ",
serJson.matches(".*\"java.util.Date\",\"\\d\\d/\\d\\d/\\d{4}\".*"));
}
-
+ @Test
public void testDeSerializeDate() throws Exception {
Map<String, Date> map = new HashMap<String, Date>();
map.put("mydate",Calendar.getInstance().getTime());
@@ -116,7 +110,7 @@ public class JacksonMapperEnabledDefault
// System.out.println("serObject:"+ ((Date)serObject.mydate));
// System.out.println("serObject:"+ ((Date)serObject.mydate2));
}
-
+ @Test
public void testSerializeWithCustomFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -125,7 +119,6 @@ public class JacksonMapperEnabledDefault
"Ser filtered Bean failed ",
"{\"name\":\"joe\"}",
bean);
-
Rectangle filteredRectangle = new Rectangle(5, 10);
filteredRectangle.setName("jim");
String rectangle = sc.serializeOnlyFilter(filteredRectangle,
@@ -133,7 +126,7 @@ public class JacksonMapperEnabledDefault
assertEquals("Ser filtered Rectangle failed ",
"{\"w\":5,\"name\":\"jim\"}", rectangle);
}
-
+ @Test
public void testSerializationCollectionWithFilter() throws Exception {
List<Bean> beanList = new ArrayList<Bean>();
@@ -150,9 +143,8 @@ public class JacksonMapperEnabledDefault
"[{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0','age':0},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1','age':1},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2','age':2},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe3','age':3},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe4','age':4},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe5','age':5},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe6','age':6},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe7','age':7},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe8','age':8},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe9','age':9}]",
result.replace('"', '\''));
}
-
+ @Test
public void testDeserializationCollectionWithFilter() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -175,10 +167,9 @@ public class JacksonMapperEnabledDefault
assertEquals("DeSer failed ", Bean.class, bean.getClass());
}
}
-
+ @Test
public void testDeserializationUnTypedCollectionWithFilter()
throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -204,7 +195,7 @@ public class JacksonMapperEnabledDefault
}
}
-
+ @Test
public void testSerializeWithMixin() throws Exception {
Rectangle filteredRectangle = new Rectangle(5, 10);
filteredRectangle.setName("jim");
@@ -213,7 +204,7 @@ public class JacksonMapperEnabledDefault
filteredRectangle);
assertEquals("Ser failed ", "{\"width\":5}", serRect);
}
-
+ @Test
public void testSerializeWith2Mixins() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -223,7 +214,6 @@ public class JacksonMapperEnabledDefault
String serRect = sc.addAdapter("M4RMixin2", Rectangle.class,
Mixin2.class).ser(filteredRectangle);
assertEquals("Ser failed ", "{\"name\":\"jim\",\"width\":5}", serRect);
-
//
String bean = sc.addAdapter("M4RBeanMixin", Bean.class,
BeanMixin.class).ser(filteredBean);;
@@ -233,11 +223,10 @@ public class JacksonMapperEnabledDefault
"{\"name\":\"joe\"}",
bean);
}
-
+ @Test
public void testSerializeWithMixinAndFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
- //
sc.addAdapter("M4RBeanMixin", Bean.class,
BeanMixin.class);
// profession was already set to ignore, does not change
@@ -247,11 +236,10 @@ public class JacksonMapperEnabledDefault
"{}",
bean);
}
-
+ @Test
public void testSerializeWithUnregisteredMixinAndFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
- //
sc.addAdapter("M4RBeanMixin", Bean.class,
BeanMixin.class)
.addAdapter("M4RBeanMixin", Bean.class,
@@ -263,14 +251,12 @@ public class JacksonMapperEnabledDefault
"{\"profession\":\"\"}",
bean);
}
-
+ @Test
public void testMultipleSerializingWithMixinAndFilter() throws Exception {
Rectangle filteredRectangle = new Rectangle(5, 10);
filteredRectangle.setName("jim");
- //
sc.addAdapter("M4RMixin2", Rectangle.class,
Mixin2.class);
-
// if serialization is done Jackson clean cache
String rectangle0 = sc.ser(filteredRectangle,Rectangle.class,true);
assertEquals(
@@ -290,9 +276,8 @@ public class JacksonMapperEnabledDefault
"{\"name\":\"jim\",\"width\":5}",
rectangle1);
}
-
+ @Test
public void testSerializationCollectionWithMixin() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -307,9 +292,8 @@ public class JacksonMapperEnabledDefault
"[{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe3'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe4'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe5'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe6'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe7'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe8'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe9'}]",
result.replace('"', '\''));
}
-
+ @Test
public void testDeSerializationCollectionWithMixin() throws Exception {
-
List<Bean> beanList = new ArrayList<Bean>();
for (int i = 0; i < 10; i++) {
Bean filteredBean = new Bean();
@@ -330,7 +314,7 @@ public class JacksonMapperEnabledDefault
assertEquals("DeSer failed ", Bean.class, bean.getClass());
}
}
-
+ @Test
public void testSerializationCollectionWithMixins() throws Exception {
List components = new ArrayList<Object>();
components.add(new Rectangle(25, 3));
@@ -341,7 +325,6 @@ public class JacksonMapperEnabledDefault
filteredBean.setAge(i);
components.add(filteredBean);
}
-
// property w->width, BeanMixin: name ignore other properties
sc.addAdapter("M4RMixin", Rectangle.class, Mixin.class).addAdapter(
"M4BeanRMixin", Bean.class, BeanMixin.class);
@@ -351,7 +334,7 @@ public class JacksonMapperEnabledDefault
"[{'type':'org.apache.fulcrum.json.Rectangle','width':25},{'type':'org.apache.fulcrum.json.Rectangle','width':250},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe0'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe1'},{'type':'org.apache.fulcrum.json.jackson.Bean','name':'joe2'}]",
serRect.replace('"', '\''));
}
-
+ @Test
public void testSerializeCollectionWithOnlyFilter() throws Exception {
List<TypedRectangle> rectList = new ArrayList<TypedRectangle>();
@@ -367,16 +350,12 @@ public class JacksonMapperEnabledDefault
public static abstract class Mixin2 {
void MixIn2(int w, int h) {
}
-
@JsonProperty("width")
abstract int getW(); // rename property
-
@JsonIgnore
abstract int getH();
-
@JsonIgnore
abstract int getSize(); // exclude
-
abstract String getName();
}
@@ -389,7 +368,4 @@ public class JacksonMapperEnabledDefault
public Object mydate;
public Object mydate2;
}
-
-
-
}
Modified: turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java (original)
+++ turbine/fulcrum/trunk/json/jackson2/src/test/org/apache/fulcrum/json/jackson/JacksonMapperTest.java Mon Aug 3 12:05:49 2015
@@ -19,6 +19,8 @@ package org.apache.fulcrum.json.jackson;
* under the License.
*/
+import static org.junit.Assert.*;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
@@ -33,6 +35,7 @@ import org.apache.avalon.framework.logge
import org.apache.fulcrum.json.JsonService;
import org.apache.fulcrum.json.Rectangle;
import org.apache.fulcrum.json.TestClass;
+import org.apache.fulcrum.testcontainer.BaseUnit4Test;
import org.apache.fulcrum.testcontainer.BaseUnitTest;
import org.junit.Before;
import org.junit.Ignore;
@@ -49,31 +52,21 @@ import com.fasterxml.jackson.annotation.
* @author gk
* @version $Id$
*/
-public class JacksonMapperTest extends BaseUnitTest {
+public class JacksonMapperTest extends BaseUnit4Test {
+ private final String preDefinedOutput = "{\"container\":{\"cf\":\"Config.xml\"},\"configurationName\":\"Config.xml\",\"name\":\"mytest\"}";
private JsonService sc = null;
Logger logger;
- /**
- * Constructor for test.
- *
- * @param testName
- * name of the test being executed
- */
- public JacksonMapperTest(String testName) {
- super(testName);
- }
-
@Before
public void setUp() throws Exception {
- super.setUp();
sc = (JsonService) this.lookup(JsonService.ROLE);
logger = new ConsoleLogger(ConsoleLogger.LEVEL_DEBUG);
}
@Test
public void testSerialize() throws Exception {
- String serJson = sc.ser(new JacksonMapperTest("mytest"));
- assertEquals("Set failed ", "{\"name\":\"mytest\"}", serJson);
+ String serJson = sc.ser(new TestClass("mytest"));
+ assertEquals("Serialization failed ", preDefinedOutput, serJson);
}
@Ignore
@@ -99,7 +92,7 @@ public class JacksonMapperTest extends B
assertEquals("Date DeSer failed ", String.class, serDate.get("date")
.getClass());
}
-
+ @Test
public void testSerializeWithCustomFilter() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
@@ -151,7 +144,6 @@ public class JacksonMapperTest extends B
assertEquals("DeSer failed ", Bean.class, bean.getClass());
}
}
-
@Test
public void testDeserializationUnTypedCollectionWithFilter()
throws Exception {
@@ -178,7 +170,6 @@ public class JacksonMapperTest extends B
}
}
-
@Test
public void testSerializeWithMixin() throws Exception {
Rectangle filteredRectangle = new Rectangle(5, 10);
@@ -188,7 +179,7 @@ public class JacksonMapperTest extends B
filteredRectangle);
assertEquals("Ser failed ", "{\"width\":5}", serRect);
}
-
+ @Test
public void testSerializeWith2Mixins() throws Exception {
Bean filteredBean = new Bean();
filteredBean.setName("joe");
Modified: turbine/fulcrum/trunk/json/pom.xml
URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/json/pom.xml?rev=1693884&r1=1693883&r2=1693884&view=diff
==============================================================================
--- turbine/fulcrum/trunk/json/pom.xml (original)
+++ turbine/fulcrum/trunk/json/pom.xml Mon Aug 3 12:05:49 2015
@@ -94,15 +94,9 @@
</build>
<dependencies>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.fulcrum</groupId>
<artifactId>fulcrum-testcontainer</artifactId>
- <version>1.0.6</version>
+ <version>1.0.7-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>