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 2016/11/01 16:10:17 UTC
[2/2] camel git commit: CAMEL-10431: camel-elslq Fix lookup for named
parameter from headers
CAMEL-10431: camel-elslq Fix lookup for named parameter from headers
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8351873e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8351873e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8351873e
Branch: refs/heads/camel-2.18.x
Commit: 8351873eec08322ddb7d0724a416f93501e482fd
Parents: 6d68dac
Author: Tomas Turek <tt...@redhat.com>
Authored: Tue Nov 1 16:26:05 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Nov 1 12:09:13 2016 -0400
----------------------------------------------------------------------
.../component/elsql/ElsqlSqlMapSource.java | 2 +-
.../elsql/ElSqlProducerBodySimpleTest.java | 42 ++++++++++++++++++++
.../src/test/resources/elsql/projects.elsql | 4 ++
3 files changed, 47 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/8351873e/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlSqlMapSource.java
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlSqlMapSource.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlSqlMapSource.java
index eb489af..263ed8c 100644
--- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlSqlMapSource.java
+++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlSqlMapSource.java
@@ -67,7 +67,7 @@ public class ElsqlSqlMapSource extends AbstractSqlParameterSource {
} else {
answer = bodyMap.get(paramName);
if (answer == null) {
- headersMap.get(paramName);
+ answer = headersMap.get(paramName);
}
}
return answer;
http://git-wip-us.apache.org/repos/asf/camel/blob/8351873e/components/camel-elsql/src/test/java/org/apache/camel/component/elsql/ElSqlProducerBodySimpleTest.java
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/test/java/org/apache/camel/component/elsql/ElSqlProducerBodySimpleTest.java b/components/camel-elsql/src/test/java/org/apache/camel/component/elsql/ElSqlProducerBodySimpleTest.java
index 63f2ed9..5fab274 100644
--- a/components/camel-elsql/src/test/java/org/apache/camel/component/elsql/ElSqlProducerBodySimpleTest.java
+++ b/components/camel-elsql/src/test/java/org/apache/camel/component/elsql/ElSqlProducerBodySimpleTest.java
@@ -16,11 +16,13 @@
*/
package org.apache.camel.component.elsql;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.component.sql.SqlConstants;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.After;
@@ -68,6 +70,42 @@ public class ElSqlProducerBodySimpleTest extends CamelTestSupport {
assertEquals("Linux", row.get("PROJECT"));
}
+ @Test
+ public void testBodyParameter() throws InterruptedException {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).body().isInstanceOf(List.class);
+ mock.message(0).header(SqlConstants.SQL_ROW_COUNT).isEqualTo(1);
+
+ template.sendBody("direct:parameters", Collections.singletonMap("id", 1));
+
+ mock.assertIsSatisfied();
+
+ List<?> received = mock.getReceivedExchanges().get(0).getIn().getBody(List.class);
+
+ Map<?, ?> row = assertIsInstanceOf(Map.class, received.get(0));
+
+ assertEquals("Camel", row.get("PROJECT"));
+ }
+
+ @Test
+ public void testHeadersParameter() throws InterruptedException {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ mock.message(0).body().isInstanceOf(List.class);
+ mock.message(0).header(SqlConstants.SQL_ROW_COUNT).isEqualTo(1);
+
+ template.sendBodyAndHeader("direct:parameters", "", "id", 1);
+
+ mock.assertIsSatisfied();
+
+ List<?> received = mock.getReceivedExchanges().get(0).getIn().getBody(List.class);
+
+ Map<?, ?> row = assertIsInstanceOf(Map.class, received.get(0));
+
+ assertEquals("Camel", row.get("PROJECT"));
+ }
+
@After
public void tearDown() throws Exception {
super.tearDown();
@@ -82,6 +120,10 @@ public class ElSqlProducerBodySimpleTest extends CamelTestSupport {
from("direct:simple")
.to("elsql:projectsByIdBody:elsql/projects.elsql?dataSource=#dataSource")
.to("mock:result");
+
+ from("direct:parameters")
+ .to("elsql:projectById:elsql/projects.elsql?dataSource=#dataSource")
+ .to("mock:result");
}
};
}
http://git-wip-us.apache.org/repos/asf/camel/blob/8351873e/components/camel-elsql/src/test/resources/elsql/projects.elsql
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/test/resources/elsql/projects.elsql b/components/camel-elsql/src/test/resources/elsql/projects.elsql
index 74f16b9..470a33f 100644
--- a/components/camel-elsql/src/test/resources/elsql/projects.elsql
+++ b/components/camel-elsql/src/test/resources/elsql/projects.elsql
@@ -12,3 +12,7 @@
SELECT *
FROM projects
ORDER BY id
+@NAME(projectById)
+ SELECT *
+ FROM projects
+ WHERE id = :id