You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/05/06 12:49:37 UTC
[2/3] camel git commit: CAMEL-8689: Fixed failing test due recent
changes.
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/0d5f305e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0d5f305e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0d5f305e
Branch: refs/heads/camel-2.15.x
Commit: 0d5f305ea5ce332e75549e658528783a9a7b1949
Parents: 756f4a4
Author: Claus Ibsen <da...@apache.org>
Authored: Wed May 6 12:51:09 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed May 6 12:52:48 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/0d5f305e/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/0d5f305e/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;
}
+
}