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 2013/05/25 09:42:57 UTC
[1/3] git commit: CAMEL-6390: Added unit test
Updated Branches:
refs/heads/camel-2.11.x 41af3ef24 -> 4daaa2a7d
refs/heads/master 663282939 -> e9b6cfbdb
CAMEL-6390: Added unit test
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1afb4fc1
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1afb4fc1
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1afb4fc1
Branch: refs/heads/master
Commit: 1afb4fc1581d89a29a80d5722600375415446f67
Parents: 6632829
Author: Claus Ibsen <da...@apache.org>
Authored: Sat May 25 09:29:25 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat May 25 09:29:25 2013 +0200
----------------------------------------------------------------------
.../seda/SedaSuspendConsumerStopRouteTest.java | 52 +++++++++++++++
1 files changed, 52 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/1afb4fc1/camel-core/src/test/java/org/apache/camel/component/seda/SedaSuspendConsumerStopRouteTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/seda/SedaSuspendConsumerStopRouteTest.java b/camel-core/src/test/java/org/apache/camel/component/seda/SedaSuspendConsumerStopRouteTest.java
new file mode 100644
index 0000000..1225ff7
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/component/seda/SedaSuspendConsumerStopRouteTest.java
@@ -0,0 +1,52 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.seda;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+public class SedaSuspendConsumerStopRouteTest extends ContextTestSupport {
+
+ public void testSedaSuspendConsumerStopRoute() throws Exception {
+ getMockEndpoint("mock:result").expectedMessageCount(1);
+
+ template.sendBody("seda:start", "Hello World");
+
+ assertMockEndpointsSatisfied();
+
+ SedaEndpoint seda = context.getEndpoint("seda:start", SedaEndpoint.class);
+ seda.getConsumers().iterator().next().suspend();
+
+ boolean stopped = context.stopRoute("foo", 2, TimeUnit.SECONDS, true);
+ assertTrue("Route should be stopped", stopped);
+
+ assertTrue("Route should be stopped", context.getRouteStatus("foo").isStopped());
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("seda:start").routeId("foo")
+ .to("mock:result");
+ }
+ };
+ }
+}
[2/3] git commit: CAMEL-5383: Added header with column names to jdbc
component. Thanks to Devendra Khanolkar for the patch.
Posted by da...@apache.org.
CAMEL-5383: Added header with column names to jdbc component. Thanks to Devendra Khanolkar for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e9b6cfbd
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e9b6cfbd
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e9b6cfbd
Branch: refs/heads/master
Commit: e9b6cfbdb57bf34b93342fd1fc2701a4f2f336fd
Parents: 1afb4fc
Author: Claus Ibsen <da...@apache.org>
Authored: Sat May 25 09:42:15 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat May 25 09:42:15 2013 +0200
----------------------------------------------------------------------
.../apache/camel/component/jdbc/JdbcConstants.java | 2 +
.../apache/camel/component/jdbc/JdbcProducer.java | 3 +-
.../camel/component/jdbc/JdbcRSMetaDataTest.java | 66 +++++++++++++++
3 files changed, 70 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/e9b6cfbd/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
index 0c17663..3a1589a 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
@@ -25,6 +25,8 @@ public final class JdbcConstants {
public static final String JDBC_ROW_COUNT = "CamelJdbcRowCount";
+ public static final String JDBC_COLUMN_NAMES = "CamelJdbcColumnNames";
+
/**
* Boolean input header.
* Set its value to true to retrieve generated keys, default is false
http://git-wip-us.apache.org/repos/asf/camel/blob/e9b6cfbd/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
index 3045ec0..fff89fc 100755
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
@@ -35,7 +35,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * @version
+ * @version
*/
public class JdbcProducer extends DefaultProducer {
private static final transient Logger LOG = LoggerFactory.getLogger(JdbcProducer.class);
@@ -223,6 +223,7 @@ public class JdbcProducer extends DefaultProducer {
List<Map<String, Object>> data = extractResultSetData(rs);
exchange.getOut().setHeader(JdbcConstants.JDBC_ROW_COUNT, data.size());
+ exchange.getOut().setHeader(JdbcConstants.JDBC_COLUMN_NAMES, data.get(0).keySet());
exchange.getOut().setBody(data);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/e9b6cfbd/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
new file mode 100644
index 0000000..06bec20
--- /dev/null
+++ b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.jdbc;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.Test;
+
+public class JdbcRSMetaDataTest extends AbstractJdbcTestSupport {
+
+ @Test
+ @SuppressWarnings("unchecked")
+ public void testJdbcRSMetaData() {
+ Endpoint directHelloEndpoint = context.getEndpoint("direct:hello");
+ Exchange directHelloExchange = directHelloEndpoint.createExchange();
+
+ directHelloExchange.getIn().setBody("select * from customer order by ID");
+
+ Exchange out = template.send(directHelloEndpoint, directHelloExchange);
+ assertNotNull(out);
+ assertNotNull(out.getOut());
+
+ List<Map<String, Object>> returnValues = out.getOut().getBody(List.class);
+ assertNotNull(returnValues);
+ assertEquals(3, returnValues.size());
+ Map<String, Object> row = returnValues.get(0);
+ assertEquals("cust1", row.get("ID"));
+ assertEquals("jstrachan", row.get("NAME"));
+
+ Set<String> columnNames = (Set<String>) out.getOut().getHeader(JdbcConstants.JDBC_COLUMN_NAMES);
+ assertNotNull(columnNames);
+ assertEquals(2, columnNames.size());
+ assertTrue(columnNames.contains("ID"));
+ assertTrue(columnNames.contains("NAME"));
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:hello").to("jdbc:testdb?readSize=100");
+ }
+ };
+ }
+
+}
[3/3] git commit: CAMEL-5383: Added header with column names to jdbc
component. Thanks to Devendra Khanolkar for the patch.
Posted by da...@apache.org.
CAMEL-5383: Added header with column names to jdbc component. Thanks to Devendra Khanolkar for the patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4daaa2a7
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4daaa2a7
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4daaa2a7
Branch: refs/heads/camel-2.11.x
Commit: 4daaa2a7dc55b5ee1ed253e9f2b0cc4410851f03
Parents: 41af3ef
Author: Claus Ibsen <da...@apache.org>
Authored: Sat May 25 09:42:15 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat May 25 09:42:38 2013 +0200
----------------------------------------------------------------------
.../apache/camel/component/jdbc/JdbcConstants.java | 2 +
.../apache/camel/component/jdbc/JdbcProducer.java | 3 +-
.../camel/component/jdbc/JdbcRSMetaDataTest.java | 66 +++++++++++++++
3 files changed, 70 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/4daaa2a7/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
index 0c17663..3a1589a 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcConstants.java
@@ -25,6 +25,8 @@ public final class JdbcConstants {
public static final String JDBC_ROW_COUNT = "CamelJdbcRowCount";
+ public static final String JDBC_COLUMN_NAMES = "CamelJdbcColumnNames";
+
/**
* Boolean input header.
* Set its value to true to retrieve generated keys, default is false
http://git-wip-us.apache.org/repos/asf/camel/blob/4daaa2a7/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
index 3045ec0..fff89fc 100755
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
@@ -35,7 +35,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * @version
+ * @version
*/
public class JdbcProducer extends DefaultProducer {
private static final transient Logger LOG = LoggerFactory.getLogger(JdbcProducer.class);
@@ -223,6 +223,7 @@ public class JdbcProducer extends DefaultProducer {
List<Map<String, Object>> data = extractResultSetData(rs);
exchange.getOut().setHeader(JdbcConstants.JDBC_ROW_COUNT, data.size());
+ exchange.getOut().setHeader(JdbcConstants.JDBC_COLUMN_NAMES, data.get(0).keySet());
exchange.getOut().setBody(data);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/4daaa2a7/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
new file mode 100644
index 0000000..06bec20
--- /dev/null
+++ b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcRSMetaDataTest.java
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.jdbc;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.junit.Test;
+
+public class JdbcRSMetaDataTest extends AbstractJdbcTestSupport {
+
+ @Test
+ @SuppressWarnings("unchecked")
+ public void testJdbcRSMetaData() {
+ Endpoint directHelloEndpoint = context.getEndpoint("direct:hello");
+ Exchange directHelloExchange = directHelloEndpoint.createExchange();
+
+ directHelloExchange.getIn().setBody("select * from customer order by ID");
+
+ Exchange out = template.send(directHelloEndpoint, directHelloExchange);
+ assertNotNull(out);
+ assertNotNull(out.getOut());
+
+ List<Map<String, Object>> returnValues = out.getOut().getBody(List.class);
+ assertNotNull(returnValues);
+ assertEquals(3, returnValues.size());
+ Map<String, Object> row = returnValues.get(0);
+ assertEquals("cust1", row.get("ID"));
+ assertEquals("jstrachan", row.get("NAME"));
+
+ Set<String> columnNames = (Set<String>) out.getOut().getHeader(JdbcConstants.JDBC_COLUMN_NAMES);
+ assertNotNull(columnNames);
+ assertEquals(2, columnNames.size());
+ assertTrue(columnNames.contains("ID"));
+ assertTrue(columnNames.contains("NAME"));
+ }
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:hello").to("jdbc:testdb?readSize=100");
+ }
+ };
+ }
+
+}