This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new a88f172 CAMEL-13313: Fixed potential NPE in jaxb fallback type
converter
a88f172 is described below
commit a88f17287fa4b2241dad0c9e139b8ac71f1dee93
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Mar 26 12:14:01 2019 +0100
CAMEL-13313: Fixed potential NPE in jaxb fallback type converter
---
.../apache/camel/converter/jaxb/FallbackTypeConverter.java | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git
a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
index 8f842f2..08cb0a6 100644
---
a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
+++
b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
@@ -121,18 +121,25 @@ public class FallbackTypeConverter {
}
}
+ TypeConverter converter = null;
+ if (registry instanceof TypeConverter) {
+ converter = (TypeConverter) registry;
+ } else if (exchange != null) {
+ converter = exchange.getContext().getTypeConverter();
+ }
+
try {
if (isJaxbType(type, exchange, objectFactory)) {
- return unmarshall(type, exchange, value,
exchange.getContext().getTypeConverter());
+ return unmarshall(type, exchange, value, converter);
}
if (value != null && isNotStreamCacheType(type)) {
if (hasXmlRootElement(value.getClass())) {
- return marshall(type, exchange, value,
exchange.getContext().getTypeConverter(), null, prettyPrint);
+ return marshall(type, exchange, value, converter, null,
prettyPrint);
}
if (objectFactory) {
Method objectFactoryMethod =
JaxbHelper.getJaxbElementFactoryMethod(exchange.getContext(), value.getClass());
if (objectFactoryMethod != null) {
- return marshall(type, exchange, value,
exchange.getContext().getTypeConverter(), objectFactoryMethod, prettyPrint);
+ return marshall(type, exchange, value, converter,
objectFactoryMethod, prettyPrint);
}
}
}