You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ro...@apache.org on 2008/04/16 15:41:22 UTC
svn commit: r648695 - in /activemq/camel/trunk/components/camel-sql/src:
main/java/org/apache/camel/component/sql/SqlComponent.java
main/java/org/apache/camel/component/sql/SqlEndpoint.java
test/java/org/apache/camel/component/sql/SqlRouteTest.java
Author: romkal
Date: Wed Apr 16 06:41:16 2008
New Revision: 648695
URL: http://svn.apache.org/viewvc?rev=648695&view=rev
Log:
CAMEL-319 : Added possibility to set parameters on JdbcTemplate used
Modified:
activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java
activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
activemq/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java
Modified: activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java?rev=648695&r1=648694&r2=648695&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java (original)
+++ activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlComponent.java Wed Apr 16 06:41:16 2008
@@ -42,7 +42,7 @@
@Override
protected Endpoint<DefaultExchange> createEndpoint(String uri, String remaining, Map parameters)
throws Exception {
- return new SqlEndpoint(uri, remaining.replaceAll("#", "?"), this, dataSource);
+ return new SqlEndpoint(uri, remaining.replaceAll("#", "?"), this, dataSource, parameters);
}
public void setDataSource(DataSource dataSource) {
Modified: activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java?rev=648695&r1=648694&r2=648695&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java Wed Apr 16 06:41:16 2008
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.sql;
+import java.util.Map;
+
import javax.sql.DataSource;
import org.apache.camel.Component;
@@ -24,6 +26,7 @@
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.util.IntrospectionSupport;
import org.springframework.jdbc.core.JdbcTemplate;
/**
@@ -39,9 +42,10 @@
private String query;
- public SqlEndpoint(String uri, String query, Component component, DataSource dataSource) {
+ public SqlEndpoint(String uri, String query, Component component, DataSource dataSource, Map parameters) throws Exception {
super(uri, component);
this.jdbcTemplate = new JdbcTemplate(dataSource);
+ IntrospectionSupport.setProperties(jdbcTemplate, parameters, "template.");
this.query = query;
}
Modified: activemq/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java?rev=648695&r1=648694&r2=648695&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java (original)
+++ activemq/camel/trunk/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlRouteTest.java Wed Apr 16 06:41:16 2008
@@ -60,6 +60,15 @@
Map row = assertIsInstanceOf(Map.class, received.get(0));
assertEquals(1, row.get("ID"));
}
+
+ public void testBadNumberOfParameter() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ template.sendBody("direct:list", "ASF");
+ mock.assertIsSatisfied();
+ List received = assertIsInstanceOf(List.class, mock.getReceivedExchanges().get(0).getIn().getBody());
+ assertEquals(0, received.size());
+ }
public void testListResult() throws Exception {
MockEndpoint mock = getMockEndpoint("mock:result");
@@ -75,6 +84,19 @@
Map row2 = assertIsInstanceOf(Map.class, received.get(1));
assertEquals("AMQ", row2.get("PROJECT"));
}
+
+ public void testListLimitedResult() throws Exception {
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMessageCount(1);
+ List<Object> body = new ArrayList<Object>();
+ body.add("ASF");
+ template.sendBody("direct:simpleLimited", body);
+ mock.assertIsSatisfied();
+ List received = assertIsInstanceOf(List.class, mock.getReceivedExchanges().get(0).getIn().getBody());
+ assertEquals(1, received.size());
+ Map row1 = assertIsInstanceOf(Map.class, received.get(0));
+ assertEquals("Camel", row1.get("PROJECT"));
+ }
protected void setUp() throws Exception {
Class.forName(driverClass);
@@ -107,6 +129,10 @@
from("direct:list")
.to("sql:select * from projects where license = # and project = # order by id")
+ .to("mock:result");
+
+ from("direct:simpleLimited")
+ .to("sql:select * from projects where license = # order by id?template.maxRows=1")
.to("mock:result");
}