Repository: camel
Updated Branches:
  refs/heads/camel-2.14.x 0a8d456ee -> 95e9cdd69
  refs/heads/camel-2.15.x 756f4a471 -> 0d5f305ea
  refs/heads/master e319c9e08 -> 0bf8954cd


CAMEL-8689: Fixed failing test due recent changes.


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

Branch: refs/heads/master
Commit: 0bf8954cda0ab2c2e1d6a118e5912fb17797dd05
Parents: e319c9e
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed May 6 12:51:09 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed May 6 12:51:09 2015 +0200

----------------------------------------------------------------------
 .../dozer/DozerThreadContextClassLoader.java    | 11 ++++++---
 .../converter/dozer/DozerTypeConverter.java     | 24 +++++++++++++-------
 2 files changed, 24 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0bf8954c/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerThreadContextClassLoader.java
----------------------------------------------------------------------
diff --git 
a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerThreadContextClassLoader.java
 
b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerThreadContextClassLoader.java
index e5d89e1..b5d9806 100644
--- 
a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerThreadContextClassLoader.java
+++ 
b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerThreadContextClassLoader.java
@@ -55,11 +55,16 @@ public class DozerThreadContextClassLoader implements 
DozerClassLoader {
 
     @Override
     public URL loadResource(String uri) {
-        LOG.debug("Loading resource from classloader: {}.", 
Thread.currentThread().getContextClassLoader());
-        URL answer = 
Thread.currentThread().getContextClassLoader().getResource(uri);
+        URL answer = null;
+
+        ClassLoader cl = Thread.currentThread().getContextClassLoader();
+        if (cl != null) {
+            LOG.debug("Loading resource from classloader: {}.", cl);
+            answer = cl.getResource(uri);
+        }
 
         // try loading it from the delegate
-        if (answer == null) {
+        if (answer == null && delegate != null) {
             answer = delegate.loadResource(uri);
         }
         

http://git-wip-us.apache.org/repos/asf/camel/blob/0bf8954c/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverter.java
 
b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverter.java
index 3bc6135..28a35e5 100644
--- 
a/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverter.java
+++ 
b/components/camel-dozer/src/main/java/org/apache/camel/converter/dozer/DozerTypeConverter.java
@@ -57,18 +57,26 @@ public class DozerTypeConverter extends 
TypeConverterSupport {
             return mapper.map(value, type);
         }
         
-        // otherwise, we ensure that the TCCL is the correct one
-        T answer;
+        T answer = null;
+
         ClassLoader prev = Thread.currentThread().getContextClassLoader();
         ClassLoader contextCl = 
exchange.getContext().getApplicationContextClassLoader();
-        LOG.debug("Switching TCCL to: {}.", contextCl);
-        try {
-            Thread.currentThread().setContextClassLoader(contextCl);
+        if (contextCl != null) {
+            // otherwise, we ensure that the TCCL is the correct one
+            LOG.debug("Switching TCCL to: {}.", contextCl);
+            try {
+                Thread.currentThread().setContextClassLoader(contextCl);
+                answer = mapper.map(value, type);
+            } finally {
+                LOG.debug("Restored TCCL to: {}.", prev);
+                Thread.currentThread().setContextClassLoader(prev);
+            }
+        } else {
+            // just try with the current TCCL as-is
             answer = mapper.map(value, type);
-        } finally {
-            LOG.debug("Restored TCCL to: {}.", prev);
-            Thread.currentThread().setContextClassLoader(prev);
         }
+
         return answer;
     }
+
 }

Reply via email to