Author: ningjiang
Date: Fri Feb 13 03:11:41 2009
New Revision: 743964
URL: http://svn.apache.org/viewvc?rev=743964&view=rev
Log:
Merged revisions 743959-743960 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r743959 | ningjiang | 2009-02-13 10:28:28 +0800 (Fri, 13 Feb 2009) | 1 line
CAMEL-1337 The xpath expression evaluations should rest the cached stream
........
r743960 | ningjiang | 2009-02-13 10:35:51 +0800 (Fri, 13 Feb 2009) | 1 line
CAMEL-1337 The expression evaluations should rest the cached stream
........
Modified:
camel/branches/camel-1.x/ (props changed)
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCachingInterceptor.java
camel/branches/camel-1.x/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java
camel/branches/camel-1.x/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 13 03:11:41 2009
@@ -1 +1 @@
-/camel/trunk:739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742854,742856,742898,742906,743613,743762,743773,743920
+/camel/trunk:739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java?rev=743964&r1=743963&r2=743964&view=diff
==============================================================================
---
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
(original)
+++
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
Fri Feb 13 03:11:41 2009
@@ -43,8 +43,10 @@
import org.apache.camel.Message;
import org.apache.camel.Predicate;
import org.apache.camel.RuntimeExpressionException;
+import org.apache.camel.converter.stream.StreamCache;
import org.apache.camel.spi.NamespaceAware;
import org.apache.camel.util.ExchangeHelper;
+import org.apache.camel.util.MessageHelper;
import static org.apache.camel.builder.xml.Namespaces.DEFAULT_NAMESPACE;
import static org.apache.camel.builder.xml.Namespaces.IN_NAMESPACE;
@@ -535,6 +537,9 @@
if (answer instanceof String) {
answer = new InputSource(new StringReader(answer.toString()));
}
+
+ // call the reset if the in message body is StreamCache
+ MessageHelper.resetStreamCache(exchange.getIn());
return answer;
}
}
Modified:
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCachingInterceptor.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCachingInterceptor.java?rev=743964&r1=743963&r2=743964&view=diff
==============================================================================
---
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCachingInterceptor.java
(original)
+++
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/processor/interceptor/StreamCachingInterceptor.java
Fri Feb 13 03:11:41 2009
@@ -82,12 +82,12 @@
return proceed(exchange, callback);
}
- public boolean proceed(Exchange exchange, AsyncCallback callback) {
- if (getProcessor() instanceof AsyncProcessor) {
+ public boolean proceed(Exchange exchange, AsyncCallback callback) {
+ if (getProcessor() instanceof AsyncProcessor) {
return ((AsyncProcessor) getProcessor()).process(exchange,
callback);
} else {
try {
- processor.process(exchange);
+ getProcessor().process(exchange);
} catch (Throwable e) {
exchange.setException(e);
}
Modified:
camel/branches/camel-1.x/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java?rev=743964&r1=743963&r2=743964&view=diff
==============================================================================
---
camel/branches/camel-1.x/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java
(original)
+++
camel/branches/camel-1.x/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java
Fri Feb 13 03:11:41 2009
@@ -64,7 +64,7 @@
public void configure() {
// Need a convertBodyTo processor here or we may get an error
// that we are at the end of the stream
-
from("jetty:http://localhost:9080/myworld").convertBodyTo(String.class).choice()
+ from("jetty:http://localhost:9080/myworld").choice()
.when().xpath("/one").to("mock:x")
.when().xpath("/two").to("mock:y")
.otherwise().to("mock:z");
Modified:
camel/branches/camel-1.x/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
URL:
http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java?rev=743964&r1=743963&r2=743964&view=diff
==============================================================================
---
camel/branches/camel-1.x/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
(original)
+++
camel/branches/camel-1.x/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
Fri Feb 13 03:11:41 2009
@@ -60,6 +60,7 @@
import org.apache.camel.converter.jaxp.StringSource;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.spi.NamespaceAware;
+import org.apache.camel.util.MessageHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -403,8 +404,10 @@
DocumentInfo doc = getStaticQueryContext().buildDocument(source);
dynamicQueryContext.setContextItem(doc);
}
-
+
configureQuery(dynamicQueryContext, exchange);
+ // call the reset if the in message body is StreamCache
+ MessageHelper.resetStreamCache(exchange.getIn());
return dynamicQueryContext;
}