Updated Branches:
  refs/heads/camel-2.11.x c68569427 -> 300ecab4f
  refs/heads/camel-2.12.x a60afb73d -> c14b4f380


CAMEL-7036 Fixed the issue of Camel XSD validation not working with apache 
xerces


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c14b4f38
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c14b4f38
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c14b4f38

Branch: refs/heads/camel-2.12.x
Commit: c14b4f380d20f29330cc30ac6e2c49f04c23d256
Parents: a60afb7
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Wed Dec 4 12:51:50 2013 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Wed Dec 4 13:03:26 2013 +0800

----------------------------------------------------------------------
 .../processor/validation/ValidatingProcessor.java   |  5 ++---
 .../camel/processor/ValidatingProcessorTest.java    | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c14b4f38/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
 
b/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
index bd9f783..200d0fe 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/validation/ValidatingProcessor.java
@@ -130,13 +130,12 @@ public class ValidatingProcessor implements 
AsyncProcessor {
                 }
             }
 
+            //CAMEL-7036 We don't need to set the result if the source is an 
instance of StreamSource
             if (source instanceof DOMSource) {
                 result = new DOMResult();
-            } else if (source instanceof StreamSource) {
-                result = new StreamResult(new StringWriter());
             } else if (source instanceof SAXSource) {
                 result = new SAXResult();
-            } else if (source instanceof StAXSource) {
+            } else if (source instanceof StAXSource || source instanceof 
StreamSource) {
                 result = null;
             }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c14b4f38/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
 
b/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
index 2b2175e..0726e2b 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
@@ -20,6 +20,7 @@ import java.io.File;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.StringSource;
 import org.apache.camel.ValidationException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -56,6 +57,21 @@ public class ValidatingProcessorTest extends 
ContextTestSupport {
 
         assertMockEndpointsSatisfied();
     }
+    
+    public void testStringSourceMessage() throws Exception {
+        MockEndpoint mock = getMockEndpoint("mock:valid");
+        mock.expectedMessageCount(1);
+
+        String xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"
+            + "<user xmlns=\"http://foo.com/bar\";>"
+            + "  <id>1</id>"
+            + "  <username>davsclaus</username>"
+            + "</user>";
+
+        template.sendBody("direct:start", new StringSource(xml));
+
+        assertMockEndpointsSatisfied();
+    }
 
     public void testValidMessageTwice() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:valid");

Reply via email to