You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/09/24 14:53:04 UTC
camel git commit: CAMEL-9160: Dynamic to - Should use language: as
prefix when using other languages
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 <da...@apache.org>
Authored: Thu Sep 24 14:14:07 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
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
* <p/>
- * You can specify multiple languages in the uri separated by the plus sign, such as <tt>mock:+xpath:/order/@uri</tt>
+ * You can specify multiple languages in the uri separated by the plus sign, such as <tt>mock:+language:xpath:/order/@uri</tt>
* where <tt>mock:</tt> would be a prefix to a xpath expression.
* <p/>
* For more dynamic behavior use <a href="http://camel.apache.org/recipient-list.html">Recipient List</a> or
@@ -86,18 +86,22 @@ public class ToDynamicDefinition extends NoOutputDefinition<ToDynamicDefinition>
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 @@
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
- <toD uri="mock:+xpath:/order/@uri+header:sub"/>
+ <toD uri="mock:+language:xpath:/order/@uri+header:sub"/>
</route>
</camelContext>
<!-- END SNIPPET: e1 -->
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 @@
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
- <toD uri="mock:+xpath:/order/@uri"/>
+ <toD uri="mock:+language:xpath:/order/@uri"/>
</route>
</camelContext>
<!-- END SNIPPET: e1 -->
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 @@
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
- <toD uri="xpath:/order/@uri"/>
+ <toD uri="language:xpath:/order/@uri"/>
</route>
</camelContext>
<!-- END SNIPPET: e1 -->