Repository: camel
Updated Branches:
  refs/heads/master 780b41b47 -> 116e4026f


[CAMEL-8554] Jackons component now provides map => pojo fallback converter.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/116e4026
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/116e4026
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/116e4026

Branch: refs/heads/master
Commit: 116e4026fb3d284eaadba26bddf5ebd02a658b65
Parents: f678aa4
Author: Claus Ibsen <[email protected]>
Authored: Tue Mar 31 11:32:55 2015 +0200
Committer: Claus Ibsen <[email protected]>
Committed: Tue Mar 31 11:48:04 2015 +0200

----------------------------------------------------------------------
 .../jackson/converter/JacksonTypeConverters.java       | 13 ++++++++-----
 .../component/jackson/JacksonConversionsTest.java      |  2 --
 .../camel/component/jetty/DefaultJettyHttpBinding.java |  2 +-
 3 files changed, 9 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/116e4026/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
index 6db03a1..efe51ce 100644
--- 
a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
+++ 
b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/converter/JacksonTypeConverters.java
@@ -30,12 +30,15 @@ public final class JacksonTypeConverters {
 
     @FallbackConverter
     public static <T> T convertTo(Class<T> type, Exchange exchange, Object 
value, TypeConverterRegistry registry) {
+        if (type.isAssignableFrom(String.class)) {
+            // do not convert to String
+            return null;
+        }
+
         if (value instanceof Map) {
-            try {
-                return new ObjectMapper().convertValue(value, type);
-            } catch (Exception ex) {
-                // Just catch the exception and return null when the 
ObjectMapper cannot convert the value
-                return null;
+            ObjectMapper mapper = new ObjectMapper();
+            if (mapper.canSerialize(type)) {
+                return mapper.convertValue(value, type);
             }
         }
         // Just return null to let other fallback converter to do the job

http://git-wip-us.apache.org/repos/asf/camel/blob/116e4026/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonConversionsTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonConversionsTest.java
 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonConversionsTest.java
index 20427b5..0daf1cc 100644
--- 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonConversionsTest.java
+++ 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/JacksonConversionsTest.java
@@ -20,12 +20,10 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
 public class JacksonConversionsTest extends CamelTestSupport {
-    protected MockEndpoint results;
 
     @Test
     public void shouldConvertMapToPojo() {

http://git-wip-us.apache.org/repos/asf/camel/blob/116e4026/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
index 7b73a8a..8c55d3e 100644
--- 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
+++ 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/DefaultJettyHttpBinding.java
@@ -44,8 +44,8 @@ public class DefaultJettyHttpBinding implements 
JettyHttpBinding {
     private HeaderFilterStrategy headerFilterStrategy = new 
HttpHeaderFilterStrategy();
     private boolean throwExceptionOnFailure;
     private boolean transferException;
+
     public DefaultJettyHttpBinding() {
-        
     }
     
     public void populateResponse(Exchange exchange, JettyContentExchange 
httpExchange) throws Exception {

Reply via email to