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 952DF17E93 for ; Thu, 24 Sep 2015 12:53:04 +0000 (UTC) Received: (qmail 67438 invoked by uid 500); 24 Sep 2015 12:53:04 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 67356 invoked by uid 500); 24 Sep 2015 12:53:04 -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 67171 invoked by uid 99); 24 Sep 2015 12:53:04 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Sep 2015 12:53:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 564CBDFF1B; Thu, 24 Sep 2015 12:53:04 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: davsclaus@apache.org To: commits@camel.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: camel git commit: CAMEL-9160: Dynamic to - Should use language: as prefix when using other languages Date: Thu, 24 Sep 2015 12:53:04 +0000 (UTC) Repository: camel Updated Branches: refs/heads/master 7228c13b3 -> 6ca72e1d8 CAMEL-9160: Dynamic to - Should use language: as prefix when using other languages Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6ca72e1d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6ca72e1d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6ca72e1d Branch: refs/heads/master Commit: 6ca72e1d854300a0b909389727a654d8a4357554 Parents: 7228c13 Author: Claus Ibsen Authored: Thu Sep 24 14:14:07 2015 +0200 Committer: Claus Ibsen Committed: Thu Sep 24 14:54:35 2015 +0200 ---------------------------------------------------------------------- .../apache/camel/model/ToDynamicDefinition.java | 30 +++++++++++--------- .../ManagedSendDynamicProcessorTest.java | 2 +- ...amicLanguageSimpleAndXPathAndHeaderTest.java | 2 +- .../ToDynamicLanguageSimpleAndXPathTest.java | 2 +- .../processor/ToDynamicLanguageXPathTest.java | 2 +- ...namicLanguageSimpleAndXPathAndHeaderTest.xml | 2 +- ...pringToDynamicLanguageSimpleAndXPathTest.xml | 2 +- .../SpringToDynamicLanguageXPathTest.xml | 2 +- 8 files changed, 24 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java index eb78088..956a73f 100644 --- a/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/ToDynamicDefinition.java @@ -35,9 +35,9 @@ import org.apache.camel.spi.RouteContext; import org.apache.camel.util.ObjectHelper; /** - * Sends the message to a dynamic endpoint (uri supports languages) + * Sends the message to a dynamic endpoint *

- * You can specify multiple languages in the uri separated by the plus sign, such as mock:+xpath:/order/@uri + * You can specify multiple languages in the uri separated by the plus sign, such as mock:+language:xpath:/order/@uri * where mock: would be a prefix to a xpath expression. *

* For more dynamic behavior use Recipient List or @@ -86,18 +86,22 @@ public class ToDynamicDefinition extends NoOutputDefinition String[] parts = uri.split("\\+"); for (String part : parts) { // the part may have optional language to use, so you can mix languages - String before = ObjectHelper.before(part, ":"); - String after = ObjectHelper.after(part, ":"); - if (before != null && after != null) { - // maybe its a language - try { - Language partLanguage = routeContext.getCamelContext().resolveLanguage(before); - if (partLanguage != null) { - Expression exp = partLanguage.createExpression(after); - list.add(exp); + String value = ObjectHelper.after(part, "language:"); + if (value != null) { + String before = ObjectHelper.before(value, ":"); + String after = ObjectHelper.after(value, ":"); + if (before != null && after != null) { + // maybe its a language, must have language: as prefix + try { + Language partLanguage = routeContext.getCamelContext().resolveLanguage(before); + if (partLanguage != null) { + Expression exp = partLanguage.createExpression(after); + list.add(exp); + continue; + } + } catch (NoSuchLanguageException e) { + // ignore } - } catch (NoSuchLanguageException e) { - // ignore } } // fallback and use simple language http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java index 2963ff4..1512b4b 100644 --- a/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java +++ b/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java @@ -92,7 +92,7 @@ public class ManagedSendDynamicProcessorTest extends ManagementTestSupport { String json = (String) mbeanServer.invoke(on, "informationJson", null, null); assertNotNull(json); - assertTrue(json.contains("\"description\": \"Sends the message to a dynamic endpoint (uri supports languages)")); + assertTrue(json.contains("\"description\": \"Sends the message to a dynamic endpoint")); assertTrue(json.contains(" \"uri\": { \"kind\": \"attribute\", \"required\": \"true\", \"type\": \"string\", \"javaType\": \"java.lang.String\"," + " \"deprecated\": \"false\", \"value\": \"direct:${header.whereto}\"")); } http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathAndHeaderTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathAndHeaderTest.java b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathAndHeaderTest.java index 0c48286..f6bf956 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathAndHeaderTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathAndHeaderTest.java @@ -37,7 +37,7 @@ public class ToDynamicLanguageSimpleAndXPathAndHeaderTest extends ContextTestSup @Override public void configure() throws Exception { from("direct:start") - .toD("mock:+xpath:/order/@uri+header:sub"); + .toD("mock:+language:xpath:/order/@uri+language:header:sub"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathTest.java b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathTest.java index 4827f18..51dd450 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageSimpleAndXPathTest.java @@ -37,7 +37,7 @@ public class ToDynamicLanguageSimpleAndXPathTest extends ContextTestSupport { @Override public void configure() throws Exception { from("direct:start") - .toD("mock:+xpath:/order/@uri"); + .toD("mock:+language:xpath:/order/@uri"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageXPathTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageXPathTest.java b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageXPathTest.java index b0ea183..2e2319d 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageXPathTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/ToDynamicLanguageXPathTest.java @@ -37,7 +37,7 @@ public class ToDynamicLanguageXPathTest extends ContextTestSupport { @Override public void configure() throws Exception { from("direct:start") - .toD("xpath:/order/@uri"); + .toD("language:xpath:/order/@uri"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathAndHeaderTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathAndHeaderTest.xml b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathAndHeaderTest.xml index 64ba8f5..3e3b15f 100644 --- a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathAndHeaderTest.xml +++ b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathAndHeaderTest.xml @@ -26,7 +26,7 @@ - + http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathTest.xml b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathTest.xml index c498672..ef94032 100644 --- a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathTest.xml +++ b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageSimpleAndXPathTest.xml @@ -26,7 +26,7 @@ - + http://git-wip-us.apache.org/repos/asf/camel/blob/6ca72e1d/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageXPathTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageXPathTest.xml b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageXPathTest.xml index ca17736..fd8d881 100644 --- a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageXPathTest.xml +++ b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToDynamicLanguageXPathTest.xml @@ -26,7 +26,7 @@ - +