You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by dl...@apache.org on 2017/08/02 04:26:48 UTC

svn commit: r1803760 - in /felix/trunk/converter: converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java

Author: dleangen
Date: Wed Aug  2 04:26:48 2017
New Revision: 1803760

URL: http://svn.apache.org/viewvc?rev=1803760&view=rev
Log:
Added another Serialization test

Modified:
    felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java
    felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java

Modified: felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java?rev=1803760&r1=1803759&r2=1803760&view=diff
==============================================================================
--- felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java (original)
+++ felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java Wed Aug  2 04:26:48 2017
@@ -410,7 +410,9 @@ public class ConvertingImpl extends Abst
                 if (isCopyRequiredType(cls)) {
                     cls = getConstructableType(cls);
                 }
-                if (sourceAsDTO && DTOUtil.isDTOType(cls))
+                // NOTE (dml): I think this should be an "OR", not an "AND"
+                // TODO: confirm with some additional tests (all tests pass for now)
+                if (sourceAsDTO || DTOUtil.isDTOType(cls))
                     value = converter.convert(value).sourceAsDTO().to(cls);
                 else
                     value = converter.convert(value).to(cls);

Modified: felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java?rev=1803760&r1=1803759&r2=1803760&view=diff
==============================================================================
--- felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java (original)
+++ felix/trunk/converter/serializer/src/test/java/org/apache/felix/serializer/impl/json/JsonBackingObjectSerializationTest.java Wed Aug  2 04:26:48 2017
@@ -26,9 +26,9 @@ import static org.junit.Assert.assertEqu
 
 public class JsonBackingObjectSerializationTest {
     @Test
+    @Ignore("This test fails, but should not")
     @SuppressWarnings( "rawtypes" )
-    @Ignore("Trying to set up failing test case, but is not failing the way I intended!!")
-    public void testComplexMapSerialization() {
+    public void testComplexMapSerializationFirstUsingConversion() {
         final MyDTOishObject obj = MyDTOishObject.factory( "A", "B" );
         final Map m = Converters
                 .standardConverter()
@@ -36,12 +36,31 @@ public class JsonBackingObjectSerializat
                 .sourceAsDTO()
                 .to(Map.class);
 
-        String expected = 
+        final String expected = 
                 "{\"a\":\"A\","
                 + "\"o\":XXX"
                 + "\"b\":\"B\"}";
 
-        assertEquals(expected, new JsonSerializerImpl().serialize(m).toString());
+        final String actual = new JsonSerializerImpl().serialize(m).toString();
+
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    @Ignore("This test fails, which it should, but I should be able to inject a Converter -- see below")
+    public void testComplexMapSerializationWithoutUsingPreConversion() {
+        final String expected = 
+                "{\"a\":\"A\","
+                + "\"o\":XXX"
+                + "\"b\":\"B\"}";
+
+        final String actual = new JsonSerializerImpl()
+                .serialize(MyDTOishObject.factory( "A", "B" ))
+                // HELP!! I don't see how to inject a Converter that does the job!
+//                .with(Converters.standardConverter().sourceAsDTO())
+                .toString();
+
+        assertEquals(expected, actual);
     }
 
     public static class MyDTOishObject {