Repository: camel Updated Branches: refs/heads/camel-2.13.x 53aee2bfe -> 11cb32156 refs/heads/camel-2.14.x 618323a24 -> 49fe1fd08
fix for CAMEL-7883 Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/06fd7eca Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/06fd7eca Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/06fd7eca Branch: refs/heads/camel-2.14.x Commit: 06fd7eca728787ed2c794d61a0def70e4e5af472 Parents: 618323a Author: Benjamin BONNET <benjamin.bon...@m4x.org> Authored: Wed Oct 1 00:36:43 2014 +0200 Committer: Willem Jiang <willem.ji...@gmail.com> Committed: Mon Oct 20 10:42:31 2014 +0800 ---------------------------------------------------------------------- .../validator/DefaultLSResourceResolver.java | 3 +- .../ValidatorIncludeEncodingRouteTest.java | 85 ++++++++++++++++++++ .../camel/component/validator/sentence.xsd | 20 +++++ .../apache/camel/component/validator/text.xsd | 23 ++++++ 4 files changed, 129 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/06fd7eca/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java b/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java index 622e257..38fa704 100644 --- a/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java +++ b/camel-core/src/main/java/org/apache/camel/component/validator/DefaultLSResourceResolver.java @@ -117,8 +117,7 @@ public class DefaultLSResourceResolver implements LSResourceResolver { @Override public Reader getCharacterStream() { - InputStream is = getByteStream(); - return camelContext.getTypeConverter().convertTo(Reader.class, is); + return null; } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/06fd7eca/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorIncludeEncodingRouteTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorIncludeEncodingRouteTest.java b/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorIncludeEncodingRouteTest.java new file mode 100644 index 0000000..efb37f0 --- /dev/null +++ b/camel-core/src/test/java/org/apache/camel/component/validator/ValidatorIncludeEncodingRouteTest.java @@ -0,0 +1,85 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.validator; + +import org.apache.camel.ContextTestSupport; +import org.apache.camel.Exchange; +import org.apache.camel.LoggingLevel; +import org.apache.camel.Processor; +import org.apache.camel.ValidationException; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; + +/** + * + */ +public class ValidatorIncludeEncodingRouteTest extends ContextTestSupport { + + protected MockEndpoint validEndpoint; + protected MockEndpoint finallyEndpoint; + protected MockEndpoint invalidEndpoint; + + public void testValidMessage() throws Exception { + validEndpoint.expectedMessageCount(1); + finallyEndpoint.expectedMessageCount(1); + + String body = "<t:text xmlns:t=\"org.text\">\n" + + " <t:sentence>J'aime les camélidés</t:sentence>\n" + + "</t:text>"; + + template.sendBody("direct:start", body); + + MockEndpoint.assertIsSatisfied(validEndpoint, invalidEndpoint, finallyEndpoint); + } + + + + @Override + protected void setUp() throws Exception { + super.setUp(); + + validEndpoint = resolveMandatoryEndpoint("mock:valid", MockEndpoint.class); + invalidEndpoint = resolveMandatoryEndpoint("mock:invalid", MockEndpoint.class); + finallyEndpoint = resolveMandatoryEndpoint("mock:finally", MockEndpoint.class); + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + from("direct:start") + .doTry() + .to("validator:org/apache/camel/component/validator/text.xsd") + .to("mock:valid") + .doCatch(NumberFormatException.class) + .process(new Processor() { + + @Override + public void process(Exchange exchange) throws Exception { +System.err.println("helo " + exchange.getException()); + } + }) + .to("mock:invalid") + .doFinally() + .to("mock:finally") + .end(); + } + }; + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/06fd7eca/camel-core/src/test/resources/org/apache/camel/component/validator/sentence.xsd ---------------------------------------------------------------------- diff --git a/camel-core/src/test/resources/org/apache/camel/component/validator/sentence.xsd b/camel-core/src/test/resources/org/apache/camel/component/validator/sentence.xsd new file mode 100644 index 0000000..6fd3762 --- /dev/null +++ b/camel-core/src/test/resources/org/apache/camel/component/validator/sentence.xsd @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor + license agreements. See the NOTICE file distributed with this work for additional + information regarding copyright ownership. The ASF licenses this file to + You under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required + by applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. See the License for the specific + language governing permissions and limitations under the License. --> +<xs:schema attributeFormDefault="unqualified" + elementFormDefault="qualified" targetNamespace="org.text.sentence" + xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:simpleType name="sentence"> + <xs:restriction base="xs:string"> + <xs:pattern value="[a-zA-Z�' ]*" /> + </xs:restriction> + </xs:simpleType> +</xs:schema> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/06fd7eca/camel-core/src/test/resources/org/apache/camel/component/validator/text.xsd ---------------------------------------------------------------------- diff --git a/camel-core/src/test/resources/org/apache/camel/component/validator/text.xsd b/camel-core/src/test/resources/org/apache/camel/component/validator/text.xsd new file mode 100644 index 0000000..e49d58f --- /dev/null +++ b/camel-core/src/test/resources/org/apache/camel/component/validator/text.xsd @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor + license agreements. See the NOTICE file distributed with this work for additional + information regarding copyright ownership. The ASF licenses this file to + You under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required + by applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. See the License for the specific + language governing permissions and limitations under the License. --> +<xs:schema attributeFormDefault="unqualified" + elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:p="org.text" targetNamespace="org.text" xmlns:s="org.text.sentence"> + <xs:import schemaLocation="sentence.xsd" namespace="org.text.sentence" /> + <xs:element name="text" type="p:textType"> + </xs:element> + <xs:complexType name="textType"> + <xs:sequence> + <xs:element type="s:sentence" name="sentence" minOccurs="0"/> + </xs:sequence> + </xs:complexType> +</xs:schema> \ No newline at end of file