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 2020/10/02 08:50:51 UTC
[camel] 11/14: CAMEL-15605: Languages should be singleton for
better performance.
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 <cl...@gmail.com>
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());