You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2013/12/04 06:16:37 UTC
[2/2] git commit: CAMEL-7036 Fixed the issue of Camel XSD validation
not working with apache xerces
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/300ecab4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/300ecab4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/300ecab4
Branch: refs/heads/camel-2.11.x
Commit: 300ecab4fa18c8988335a393eeb0b2302ff6f1c9
Parents: c685694
Author: Willem Jiang <wi...@gmail.com>
Authored: Wed Dec 4 12:51:50 2013 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Wed Dec 4 13:03:37 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/300ecab4/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 6c325d9..ee15fb4 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
@@ -113,13 +113,12 @@ public class ValidatingProcessor implements Processor {
}
}
+ //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/300ecab4/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");