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());
