Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E576910F0C for ; Tue, 12 Nov 2013 10:11:15 +0000 (UTC) Received: (qmail 34775 invoked by uid 500); 12 Nov 2013 10:11:08 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 34727 invoked by uid 500); 12 Nov 2013 10:11:06 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 34683 invoked by uid 99); 12 Nov 2013 10:11:04 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Nov 2013 10:11:04 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 44AD18A5B20; Tue, 12 Nov 2013 10:11:04 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ay@apache.org To: commits@camel.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: git commit: CAMEL-6940: xml tokenizer not handling innner self-closed elements Date: Tue, 12 Nov 2013 10:11:04 +0000 (UTC) Updated Branches: refs/heads/camel-2.12.x 797399877 -> 12fc496fb CAMEL-6940: xml tokenizer not handling innner self-closed elements Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/12fc496f Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/12fc496f Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/12fc496f Branch: refs/heads/camel-2.12.x Commit: 12fc496fb7a9df4dd68ab514f800ce767de7fe43 Parents: 7973998 Author: Akitoshi Yoshida Authored: Tue Nov 12 10:50:18 2013 +0100 Committer: Akitoshi Yoshida Committed: Tue Nov 12 11:10:13 2013 +0100 ---------------------------------------------------------------------- .../apache/camel/support/TokenXMLExpressionIterator.java | 2 +- .../camel/language/tokenizer/TokenizeLanguageTest.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/12fc496f/camel-core/src/main/java/org/apache/camel/support/TokenXMLExpressionIterator.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/support/TokenXMLExpressionIterator.java b/camel-core/src/main/java/org/apache/camel/support/TokenXMLExpressionIterator.java index 938b1d6..3048c64 100644 --- a/camel-core/src/main/java/org/apache/camel/support/TokenXMLExpressionIterator.java +++ b/camel-core/src/main/java/org/apache/camel/support/TokenXMLExpressionIterator.java @@ -47,7 +47,7 @@ import org.apache.camel.util.ObjectHelper; public class TokenXMLExpressionIterator extends ExpressionAdapter { private static final Pattern NAMESPACE_PATTERN = Pattern.compile("xmlns(:\\w+|)\\s*=\\s*('[^']+'|\"[^\"]+\")"); private static final String SCAN_TOKEN_NS_PREFIX_REGEX = "([^:<>]{1,15}?:|)"; - private static final String SCAN_BLOCK_TOKEN_REGEX_TEMPLATE = "<{0}(\\s+[^/]*)?/>|<{0}(\\s+[^>]*)?>(?:(?!()).)*"; + private static final String SCAN_BLOCK_TOKEN_REGEX_TEMPLATE = "<{0}(\\s+[^/^>]*)?/>|<{0}(\\s+[^>]*)?>(?:(?!()).)*"; private static final String SCAN_PARENT_TOKEN_REGEX_TEMPLATE = "<{0}(\\s+[^>]*\\s*)?>"; protected final String tagToken; http://git-wip-us.apache.org/repos/asf/camel/blob/12fc496f/camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeLanguageTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeLanguageTest.java b/camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeLanguageTest.java index bfc3bfa..1860436 100644 --- a/camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeLanguageTest.java +++ b/camel-core/src/test/java/org/apache/camel/language/tokenizer/TokenizeLanguageTest.java @@ -64,6 +64,16 @@ public class TokenizeLanguageTest extends ContextTestSupport { assertMockEndpointsSatisfied(); } + public void testSendMixedClosingTagInsideMessageToTokenize() throws Exception { + getMockEndpoint("mock:result").expectedBodiesReceived( + " ", ""); + + template.sendBody("direct:start", + " "); + + assertMockEndpointsSatisfied(); + } + public void testSendNamespacedChildMessageToTokenize() throws Exception { getMockEndpoint("mock:result").expectedBodiesReceived( "", "");