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 2019/04/23 10:58:34 UTC
[camel] 09/10: CAMEL-13442: camel3 - Move xpath out of camel-core
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch xpath
in repository https://gitbox.apache.org/repos/asf/camel.git
commit d57cae2d5bcec291ef7ca91fd7ab7943c3da8e32
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Apr 23 12:45:16 2019 +0200
CAMEL-13442: camel3 - Move xpath out of camel-core
---
components/camel-saxon/pom.xml | 4 +--
.../camel/component/xquery/XQueryBuilder.java | 41 ++++++++++++----------
.../camel/component/xquery/XQueryEndpoint.java | 5 +--
.../camel/component/xslt/SaxonXsltDTDTest.java | 5 ++-
4 files changed, 28 insertions(+), 27 deletions(-)
diff --git a/components/camel-saxon/pom.xml b/components/camel-saxon/pom.xml
index 9ef3b31..ffe3e9f 100644
--- a/components/camel-saxon/pom.xml
+++ b/components/camel-saxon/pom.xml
@@ -40,11 +40,9 @@
<dependencies>
- <!-- TODO: camel-xpath and avoid the IOConverter dependency -->
- <!-- requires camel-core -->
<dependency>
<groupId>org.apache.camel</groupId>
- <artifactId>camel-core</artifactId>
+ <artifactId>camel-xpath</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
index 016f3d2..5ac3761 100644
--- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
+++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
@@ -23,7 +23,6 @@ import java.io.InputStream;
import java.io.Reader;
import java.io.StringWriter;
import java.math.BigInteger;
-import java.net.URL;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -72,7 +71,6 @@ import org.apache.camel.Predicate;
import org.apache.camel.Processor;
import org.apache.camel.RuntimeExpressionException;
import org.apache.camel.StringSource;
-import org.apache.camel.converter.IOConverter;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.support.MessageHelper;
import org.apache.camel.util.IOHelper;
@@ -257,7 +255,11 @@ public abstract class XQueryBuilder implements Expression, Predicate, NamespaceA
return new XQueryBuilder() {
protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
throws XPathException, IOException {
- return staticQueryContext.compileQuery(reader);
+ try {
+ return staticQueryContext.compileQuery(reader);
+ } finally {
+ IOHelper.close(reader);
+ }
}
};
}
@@ -265,26 +267,27 @@ public abstract class XQueryBuilder implements Expression, Predicate, NamespaceA
public static XQueryBuilder xquery(final InputStream in, final String characterSet) {
return new XQueryBuilder() {
protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
- throws XPathException, IOException {
- return staticQueryContext.compileQuery(in, characterSet);
+ throws XPathException {
+ try {
+ return staticQueryContext.compileQuery(in, characterSet);
+ } finally {
+ IOHelper.close(in);
+ }
}
};
}
- public static XQueryBuilder xquery(File file, String characterSet) throws IOException {
- return xquery(IOConverter.toInputStream(file), characterSet);
- }
-
- public static XQueryBuilder xquery(URL url, String characterSet) throws IOException {
- return xquery(IOConverter.toInputStream(url), characterSet);
- }
-
- public static XQueryBuilder xquery(File file) throws IOException {
- return xquery(IOConverter.toInputStream(file), ObjectHelper.getDefaultCharacterSet());
- }
-
- public static XQueryBuilder xquery(URL url) throws IOException {
- return xquery(IOConverter.toInputStream(url), ObjectHelper.getDefaultCharacterSet());
+ public static XQueryBuilder xquery(final InputStream in) {
+ return new XQueryBuilder() {
+ protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext)
+ throws XPathException {
+ try {
+ return staticQueryContext.compileQuery(in, ObjectHelper.getDefaultCharacterSet());
+ } finally {
+ IOHelper.close(in);
+ }
+ }
+ };
}
// Fluent API
diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
index db7a497..ecafdbd 100644
--- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
+++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryEndpoint.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.xquery;
+import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -220,9 +221,9 @@ public class XQueryEndpoint extends ProcessorEndpoint {
super.doStart();
log.debug("{} using schema resource: {}", this, resourceUri);
- URL url = ResourceHelper.resolveMandatoryResourceAsUrl(getCamelContext().getClassResolver(), resourceUri);
+ InputStream is = ResourceHelper.resolveMandatoryResourceAsInputStream(getCamelContext(), resourceUri);
- this.xquery = XQueryBuilder.xquery(url);
+ this.xquery = XQueryBuilder.xquery(is);
this.xquery.setConfiguration(getConfiguration());
this.xquery.setConfigurationProperties(getConfigurationProperties());
this.xquery.setStaticQueryContext(getStaticQueryContext());
diff --git a/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonXsltDTDTest.java b/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonXsltDTDTest.java
index d7b50e5..0027c73 100644
--- a/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonXsltDTDTest.java
+++ b/components/camel-saxon/src/test/java/org/apache/camel/component/xslt/SaxonXsltDTDTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.component.xslt;
+import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.List;
@@ -25,8 +26,6 @@ import org.apache.camel.CamelExecutionException;
import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.converter.IOConverter;
-import org.apache.camel.support.DefaultExchange;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;
@@ -43,7 +42,7 @@ public class SaxonXsltDTDTest extends CamelTestSupport {
@Test
public void testSendingInputStreamMessage() throws Exception {
- InputStream is = IOConverter.toInputStream(MESSAGE, new DefaultExchange(context));
+ InputStream is = new ByteArrayInputStream(MESSAGE.getBytes());
sendEntityMessage(is);
}