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 2017/05/08 12:35:34 UTC
[2/2] camel git commit:
https://stackoverflow.com/questions/43607569/simple-expression-in-sql-stored-component
Added colon to Simple and parameter grammar
https://stackoverflow.com/questions/43607569/simple-expression-in-sql-stored-component Added colon to Simple and parameter grammar
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0bb2844a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0bb2844a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0bb2844a
Branch: refs/heads/master
Commit: 0bb2844aa45576393a9016601b626c7defd3b370
Parents: 895c474
Author: Sami Nurminen <sn...@gmail.com>
Authored: Tue May 2 20:39:01 2017 +0300
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon May 8 14:35:26 2017 +0200
----------------------------------------------------------------------
.../sql/stored/template/grammar/sspt.jj | 2 +-
.../camel/component/sql/stored/ParserTest.java | 21 ++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/0bb2844a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/grammar/sspt.jj
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/grammar/sspt.jj b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/grammar/sspt.jj
index 85a2f27..0ad95ed 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/grammar/sspt.jj
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/stored/template/grammar/sspt.jj
@@ -142,7 +142,7 @@ TOKEN: {
}
TOKEN: {
- <#SPECIAL: (["#","_","-","'",".","$","{","}","\"","[","]"])>
+ <#SPECIAL: ([":","#","_","-","'",".","$","{","}","\"","[","]"])>
}
TOKEN: {
http://git-wip-us.apache.org/repos/asf/camel/blob/0bb2844a/components/camel-sql/src/test/java/org/apache/camel/component/sql/stored/ParserTest.java
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/test/java/org/apache/camel/component/sql/stored/ParserTest.java b/components/camel-sql/src/test/java/org/apache/camel/component/sql/stored/ParserTest.java
index 2534aed..ae807b2 100644
--- a/components/camel-sql/src/test/java/org/apache/camel/component/sql/stored/ParserTest.java
+++ b/components/camel-sql/src/test/java/org/apache/camel/component/sql/stored/ParserTest.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.camel.Exchange;
+import org.apache.camel.component.properties.PropertiesComponent;
import org.apache.camel.component.sql.stored.template.TemplateParser;
import org.apache.camel.component.sql.stored.template.ast.InputParameter;
import org.apache.camel.component.sql.stored.template.ast.OutParameter;
@@ -105,6 +106,26 @@ public class ParserTest extends CamelTestSupport {
}
@Test
+ public void colonInSimple() {
+
+ PropertiesComponent pc = (PropertiesComponent) context.getComponent("properties");
+ pc.setLocation("classpath:jndi.properties");
+ Exchange exchange = createExchangeWithBody(1);
+ Template template = parser.parseTemplate("ADDNUMBERS2(-1342 ${properties:java.naming.factory.initial})");
+ assertEquals("org.apache.camel.util.jndi.CamelInitialContextFactory",((InputParameter)template.getParameterList().get(0)).getValueExtractor().eval(exchange, null));
+ }
+
+ @Test
+ public void colonInLocation() {
+ Template template = parser.parseTemplate("ADDNUMBERS2(-1342 :#a:)");
+ Exchange exchange = createExchangeWithBody(1);
+
+ Map container = new HashMap();
+ container.put("a:",1);
+ assertEquals(1, ((InputParameter) template.getParameterList().get(0)).getValueExtractor().eval(exchange, container));
+ }
+
+ @Test
public void vendorSpecificPositiveSqlTypeOut() {
Template template = parser.parseTemplate("ADDNUMBERS2(OUT 1342 h1)");
assertEquals(1342, ((OutParameter) template.getParameterList().get(0)).getSqlType());