You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/08/09 13:04:06 UTC
svn commit: r564167 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java
Author: jstrachan
Date: Thu Aug 9 04:04:05 2007
New Revision: 564167
URL: http://svn.apache.org/viewvc?view=rev&rev=564167
Log:
added some helper methods to create XQuery expressions from a file / URL
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java?view=diff&rev=564167&r1=564166&r2=564167
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java Thu Aug 9 04:04:05 2007
@@ -158,4 +158,5 @@
public static InputStream toInputStream(byte[] data) {
return new ByteArrayInputStream(data);
}
+
}
Modified: activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java?view=diff&rev=564167&r1=564166&r2=564167
==============================================================================
--- activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java (original)
+++ activemq/camel/trunk/components/camel-saxon/src/main/java/org/apache/camel/builder/saxon/XQueryBuilder.java Thu Aug 9 04:04:05 2007
@@ -16,39 +16,40 @@
*/
package org.apache.camel.builder.saxon;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Reader;
-import java.io.StringWriter;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Node;
-
import net.sf.saxon.Configuration;
import net.sf.saxon.om.DocumentInfo;
import net.sf.saxon.query.DynamicQueryContext;
import net.sf.saxon.query.StaticQueryContext;
import net.sf.saxon.query.XQueryExpression;
import net.sf.saxon.trans.XPathException;
-
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.RuntimeExpressionException;
+import org.apache.camel.converter.IOConverter;
import org.apache.camel.converter.jaxp.BytesSource;
import org.apache.camel.converter.jaxp.StringSource;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.util.ObjectHelper;
+import org.w3c.dom.Node;
+
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.stream.StreamResult;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
/**
* Creates an XQuery builder
@@ -147,8 +148,8 @@
}
}
- // Builder methods
- // -------------------------------------------------------------------------
+ // Static helper methods
+ //-------------------------------------------------------------------------
public static <E extends Exchange> XQueryBuilder<E> xquery(final String queryText) {
return new XQueryBuilder<E>() {
protected XQueryExpression createQueryExpression(StaticQueryContext staticQueryContext) throws XPathException {
@@ -173,6 +174,25 @@
};
}
+ public static <E extends Exchange> XQueryBuilder<E> xquery(File file, String characterSet) throws FileNotFoundException {
+ return xquery(IOConverter.toInputStream(file), characterSet);
+ }
+
+ public static <E extends Exchange> XQueryBuilder<E> xquery(URL url, String characterSet) throws IOException {
+ return xquery(IOConverter.toInputStream(url), characterSet);
+ }
+
+ public static <E extends Exchange> XQueryBuilder<E> xquery(File file) throws FileNotFoundException {
+ return xquery(IOConverter.toInputStream(file), ObjectHelper.getDefaultCharacterSet());
+ }
+
+ public static <E extends Exchange> XQueryBuilder<E> xquery(URL url) throws IOException {
+ return xquery(IOConverter.toInputStream(url), ObjectHelper.getDefaultCharacterSet());
+ }
+
+
+ // Fluent API
+ // -------------------------------------------------------------------------
public XQueryBuilder<E> asBytes() {
setResultsFormat(ResultFormat.Bytes);
return this;