Author: dleangen
Date: Thu Aug  3 11:27:06 2017
New Revision: 1803984

URL: http://svn.apache.org/viewvc?rev=1803984&view=rev
Log:
targetAsDTO was being ignored

Modified:
    
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AbstractSpecifying.java
    
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/ConvertingImpl.java
    
felix/trunk/converter/converter/src/test/java/org/apache/felix/converter/impl/ConverterTest.java

Modified: 
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AbstractSpecifying.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AbstractSpecifying.java?rev=1803984&r1=1803983&r2=1803984&view=diff
==============================================================================
--- 
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AbstractSpecifying.java
 (original)
+++ 
felix/trunk/converter/converter/src/main/java/org/apache/felix/converter/impl/AbstractSpecifying.java
 Thu Aug  3 11:27:06 2017
@@ -95,7 +95,7 @@ public abstract class AbstractSpecifying
         // To avoid ambiguity, reset any instruction to targetAsJavaBean
         targetAsJavaBean = false;
         targetAsDTO = true;
-        return null;
+        return castThis();
     }
 
 }

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=1803984&r1=1803983&r2=1803984&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
 Thu Aug  3 11:27:06 2017
@@ -194,7 +194,7 @@ public class ConvertingImpl extends Abst
             return convertToArray();
         } else if (Collection.class.isAssignableFrom(targetAsClass)) {
             return convertToCollection();
-        } else if (DTOUtil.isDTOType(targetAsClass)) {
+        } else if (targetAsDTO || DTOUtil.isDTOType(targetAsClass)) {
             return convertToDTO();
         } else if (isMapType(targetAsClass, targetAsJavaBean)) {
             return convertToMapType();

Modified: 
felix/trunk/converter/converter/src/test/java/org/apache/felix/converter/impl/ConverterTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/converter/converter/src/test/java/org/apache/felix/converter/impl/ConverterTest.java?rev=1803984&r1=1803983&r2=1803984&view=diff
==============================================================================
--- 
felix/trunk/converter/converter/src/test/java/org/apache/felix/converter/impl/ConverterTest.java
 (original)
+++ 
felix/trunk/converter/converter/src/test/java/org/apache/felix/converter/impl/ConverterTest.java
 Thu Aug  3 11:27:06 2017
@@ -1022,6 +1022,22 @@ public class ConverterTest {
         assertEquals("{}", cs);
     }
 
+    @Test
+    public void testTargetAsDTO() {
+        MyDTOWithMethods expected = new MyDTOWithMethods();
+        expected.count = Count.ONE;
+        expected.ping = "pong";
+        expected.pong = 42;
+        Map m = new HashMap<>();
+        m.put("count", Count.ONE);
+        m.put("ping", "pong");
+        m.put("pong", 42);
+        MyDTOWithMethods actual = 
converter.convert(m).targetAsDTO().to(MyDTOWithMethods.class);
+        assertEquals(expected.count, actual.count);
+        assertEquals(expected.ping, actual.ping);
+        assertEquals(expected.pong, actual.pong);
+    }
+
     @SuppressWarnings("rawtypes")
     @Test
     public void testLongArrayToLongCollection() {


Reply via email to