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

commit 7bfaccb2415df09ebfeda810359c6ac52e04d2da
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Oct 1 22:35:23 2020 +0200

    CAMEL-15605: Languages should be singleton for better performance.
---
 .../apache/camel/reifier/language/XPathExpressionReifier.java | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/language/XPathExpressionReifier.java
 
b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/language/XPathExpressionReifier.java
index 2e425f6..4fb3b6f 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/language/XPathExpressionReifier.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/language/XPathExpressionReifier.java
@@ -69,8 +69,15 @@ public class XPathExpressionReifier extends 
ExpressionReifier<XPathExpression> {
         Map<String, Object> properties = new HashMap<>(9);
         properties.put("expression", expression);
         properties.put("documentType", definition.getDocumentType());
-        properties.put("resultQName", asQName(definition.getResultTypeName()));
-        properties.put("resultType", definition.getResultType());
+        // resultType can either point to a QName or it can be a regular class 
that influence the qname
+        // so we need this special logic to set resultQName and resultType 
accordingly
+        Object qname = asQName(definition.getResultTypeName());
+        properties.put("resultQName", qname);
+        if (definition.getResultType() == null && qname == null && 
definition.getResultTypeName() != null) {
+            properties.put("resultType", definition.getResultTypeName());
+        } else {
+            properties.put("resultType", definition.getResultType());
+        }
         properties.put("useSaxon", definition.getSaxon());
         properties.put("xpathFactory", definition.getXPathFactory());
         properties.put("objectModelUri", definition.getObjectModel());

Reply via email to