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;
     }
 


Reply via email to