This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 51a9727 CAMEL-15704: camel-csimple - Compiled simple language.
51a9727 is described below
commit 51a972729c41e26fbea123f5c68c89ae19325757
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Dec 4 10:47:04 2020 +0100
CAMEL-15704: camel-csimple - Compiled simple language.
---
.../camel/catalog/docs/csimple-language.adoc | 12 +++++++++--
.../language/csimple/joor/OriginalSimpleTest.java | 23 ++++++++++++++++++++++
.../modules/languages/pages/csimple-language.adoc | 12 +++++++++--
.../modules/languages/pages/csimple-language.adoc | 12 +++++++++--
4 files changed, 53 insertions(+), 6 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/csimple-language.adoc
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/csimple-language.adoc
index 8087fe0..2108f7f 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/csimple-language.adoc
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/csimple-language.adoc
@@ -190,9 +190,17 @@ The CSimple language supports 2 options, which are listed
below.
== Limitations
-Currently the csimple language does **not** support the _null safe_ operator
(`?`).
+Currently the csimple language does **not** support:
-For example the following script cannot compile:
+- nested functions (aka functions inside functions)
+- the _null safe_ operator (`?`).
+
+For example the following scripts cannot compile:
+
+[source,text]
+----
+ Hello ${bean:greeter(${body}, ${header.counter})}
+----
[source,text]
----
diff --git
a/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
b/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
index f30184f..6a18995 100644
---
a/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
+++
b/components/camel-csimple-joor/src/test/java/org/apache/camel/language/csimple/joor/OriginalSimpleTest.java
@@ -60,6 +60,9 @@ public class OriginalSimpleTest extends LanguageTestSupport {
@BindToRegistry
private Animal myAnimal = new Animal("Donkey", 17);
+ @BindToRegistry
+ private Greeter greeter = new Greeter();
+
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
@@ -1922,6 +1925,14 @@ public class OriginalSimpleTest extends
LanguageTestSupport {
assertExpression(exp, "99");
}
+ @Test
+ public void testNestedFunction() throws Exception {
+ exchange.getMessage().setBody("Tony");
+ exchange.getMessage().setHeader("counter", 3);
+
+ assertExpression("Hello ${bean:greeter(${body}, ${header.counter})}",
"Hello TonyTonyTony");
+ }
+
@Override
protected String getLanguageName() {
return "csimple";
@@ -1990,6 +2001,18 @@ public class OriginalSimpleTest extends
LanguageTestSupport {
}
}
+ public static final class Greeter {
+
+ public String greetMe(String name, int times) {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < times; i++) {
+ sb.append(name);
+ }
+ return sb.toString();
+ }
+
+ }
+
public static final class Order {
private List<OrderLine> lines;
diff --git
a/core/camel-core-languages/src/main/docs/modules/languages/pages/csimple-language.adoc
b/core/camel-core-languages/src/main/docs/modules/languages/pages/csimple-language.adoc
index 8087fe0..2108f7f 100644
---
a/core/camel-core-languages/src/main/docs/modules/languages/pages/csimple-language.adoc
+++
b/core/camel-core-languages/src/main/docs/modules/languages/pages/csimple-language.adoc
@@ -190,9 +190,17 @@ The CSimple language supports 2 options, which are listed
below.
== Limitations
-Currently the csimple language does **not** support the _null safe_ operator
(`?`).
+Currently the csimple language does **not** support:
-For example the following script cannot compile:
+- nested functions (aka functions inside functions)
+- the _null safe_ operator (`?`).
+
+For example the following scripts cannot compile:
+
+[source,text]
+----
+ Hello ${bean:greeter(${body}, ${header.counter})}
+----
[source,text]
----
diff --git a/docs/components/modules/languages/pages/csimple-language.adoc
b/docs/components/modules/languages/pages/csimple-language.adoc
index 0829ff2..8337311 100644
--- a/docs/components/modules/languages/pages/csimple-language.adoc
+++ b/docs/components/modules/languages/pages/csimple-language.adoc
@@ -192,9 +192,17 @@ The CSimple language supports 2 options, which are listed
below.
== Limitations
-Currently the csimple language does **not** support the _null safe_ operator
(`?`).
+Currently the csimple language does **not** support:
-For example the following script cannot compile:
+- nested functions (aka functions inside functions)
+- the _null safe_ operator (`?`).
+
+For example the following scripts cannot compile:
+
+[source,text]
+----
+ Hello ${bean:greeter(${body}, ${header.counter})}
+----
[source,text]
----