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 2015/09/21 17:21:44 UTC
camel git commit: CAMEL-9131: Add some missing options on SQL
component in the docs. Add more labels.
Repository: camel
Updated Branches:
refs/heads/master 4748c75d9 -> 59eb278ca
CAMEL-9131: Add some missing options on SQL component in the docs. Add more labels.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/59eb278c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/59eb278c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/59eb278c
Branch: refs/heads/master
Commit: 59eb278cab537b570015a6f07c234295600f0eca
Parents: 4748c75
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Sep 21 17:22:49 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Sep 21 17:22:49 2015 +0200
----------------------------------------------------------------------
.../apache/camel/component/sql/SqlConsumer.java | 16 ----
.../apache/camel/component/sql/SqlEndpoint.java | 79 +++++++++++++++++---
...ponentConfigurationAndDocumentationTest.java | 8 +-
3 files changed, 73 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/59eb278c/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlConsumer.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlConsumer.java
index cdddd81..29c3e07 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlConsumer.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlConsumer.java
@@ -28,7 +28,6 @@ import org.apache.camel.ExchangePattern;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.impl.ScheduledBatchPollingConsumer;
-import org.apache.camel.spi.UriParam;
import org.apache.camel.util.CastUtils;
import org.apache.camel.util.ObjectHelper;
import org.springframework.dao.DataAccessException;
@@ -44,19 +43,12 @@ public class SqlConsumer extends ScheduledBatchPollingConsumer {
private final SqlPrepareStatementStrategy sqlPrepareStatementStrategy;
private final SqlProcessingStrategy sqlProcessingStrategy;
- @UriParam
private String onConsume;
- @UriParam
private String onConsumeFailed;
- @UriParam
private String onConsumeBatchComplete;
- @UriParam
private boolean useIterator = true;
- @UriParam
private boolean routeEmptyResultSet;
- @UriParam
private int expectedUpdateCount = -1;
- @UriParam
private boolean breakBatchOnConsumeFail;
private static final class DataHolder {
@@ -258,9 +250,6 @@ public class SqlConsumer extends ScheduledBatchPollingConsumer {
this.onConsumeBatchComplete = onConsumeBatchComplete;
}
- /**
- * Indicates how resultset should be delivered to the route
- */
public boolean isUseIterator() {
return useIterator;
}
@@ -274,9 +263,6 @@ public class SqlConsumer extends ScheduledBatchPollingConsumer {
this.useIterator = useIterator;
}
- /**
- * Indicates whether empty resultset should be allowed to be sent to the next hop or not
- */
public boolean isRouteEmptyResultSet() {
return routeEmptyResultSet;
}
@@ -295,8 +281,6 @@ public class SqlConsumer extends ScheduledBatchPollingConsumer {
/**
* Sets an expected update count to validate when using onConsume.
- *
- * @param expectedUpdateCount typically set this value to <tt>1</tt> to expect 1 row updated.
*/
public void setExpectedUpdateCount(int expectedUpdateCount) {
this.expectedUpdateCount = expectedUpdateCount;
http://git-wip-us.apache.org/repos/asf/camel/blob/59eb278c/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
index 1086d55..b477531 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/component/sql/SqlEndpoint.java
@@ -56,23 +56,31 @@ public class SqlEndpoint extends DefaultPollingEndpoint {
private String dataSourceRef;
@UriParam
private DataSource dataSource;
- @UriParam
+ @UriParam(label = "producer")
private boolean batch;
- @UriParam
+ @UriParam(label = "consumer")
private int maxMessagesPerPoll;
- @UriParam
+ @UriParam(label = "consumer,advanced")
private SqlProcessingStrategy processingStrategy;
- @UriParam
+ @UriParam(label = "advanced")
private SqlPrepareStatementStrategy prepareStatementStrategy;
- @UriParam
+ @UriParam(label = "consumer")
private String onConsume;
- @UriParam
+ @UriParam(label = "consumer")
private String onConsumeFailed;
- @UriParam
+ @UriParam(label = "consumer")
private String onConsumeBatchComplete;
+ @UriParam(label = "consumer", defaultValue = "true")
+ private boolean useIterator = true;
+ @UriParam(label = "consumer")
+ private boolean routeEmptyResultSet;
+ @UriParam(label = "consumer", defaultValue = "-1")
+ private int expectedUpdateCount = -1;
+ @UriParam(label = "consumer")
+ private boolean breakBatchOnConsumeFail;
@UriParam(defaultValue = "true")
private boolean allowNamedParameters = true;
- @UriParam
+ @UriParam(label = "producer,advanced")
private boolean alwaysPopulateStatement;
@UriParam(defaultValue = ",")
private char separator = ',';
@@ -80,9 +88,9 @@ public class SqlEndpoint extends DefaultPollingEndpoint {
private SqlOutputType outputType = SqlOutputType.SelectList;
@UriParam
private String outputClass;
- @UriParam
+ @UriParam(label = "producer,advanced")
private int parametersCount;
- @UriParam
+ @UriParam(label = "producer")
private boolean noop;
@UriParam
private String outputHeader;
@@ -106,6 +114,10 @@ public class SqlEndpoint extends DefaultPollingEndpoint {
consumer.setOnConsume(getOnConsume());
consumer.setOnConsumeFailed(getOnConsumeFailed());
consumer.setOnConsumeBatchComplete(getOnConsumeBatchComplete());
+ consumer.setBreakBatchOnConsumeFail(isBreakBatchOnConsumeFail());
+ consumer.setExpectedUpdateCount(getExpectedUpdateCount());
+ consumer.setUseIterator(isUseIterator());
+ consumer.setRouteEmptyResultSet(isRouteEmptyResultSet());
configureConsumer(consumer);
return consumer;
}
@@ -355,6 +367,53 @@ public class SqlEndpoint extends DefaultPollingEndpoint {
this.dataSource = dataSource;
}
+ public boolean isUseIterator() {
+ return useIterator;
+ }
+
+ /**
+ * Sets how resultset should be delivered to route.
+ * Indicates delivery as either a list or individual object.
+ * defaults to true.
+ */
+ public void setUseIterator(boolean useIterator) {
+ this.useIterator = useIterator;
+ }
+
+ public boolean isRouteEmptyResultSet() {
+ return routeEmptyResultSet;
+ }
+
+ /**
+ * Sets whether empty resultset should be allowed to be sent to the next hop.
+ * defaults to false. So the empty resultset will be filtered out.
+ */
+ public void setRouteEmptyResultSet(boolean routeEmptyResultSet) {
+ this.routeEmptyResultSet = routeEmptyResultSet;
+ }
+
+ public int getExpectedUpdateCount() {
+ return expectedUpdateCount;
+ }
+
+ /**
+ * Sets an expected update count to validate when using onConsume.
+ */
+ public void setExpectedUpdateCount(int expectedUpdateCount) {
+ this.expectedUpdateCount = expectedUpdateCount;
+ }
+
+ public boolean isBreakBatchOnConsumeFail() {
+ return breakBatchOnConsumeFail;
+ }
+
+ /**
+ * Sets whether to break batch if onConsume failed.
+ */
+ public void setBreakBatchOnConsumeFail(boolean breakBatchOnConsumeFail) {
+ this.breakBatchOnConsumeFail = breakBatchOnConsumeFail;
+ }
+
@Override
protected String createEndpointUri() {
// Make sure it's properly encoded
http://git-wip-us.apache.org/repos/asf/camel/blob/59eb278c/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlComponentConfigurationAndDocumentationTest.java b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlComponentConfigurationAndDocumentationTest.java
index 9340fb5..f3d0674 100644
--- a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlComponentConfigurationAndDocumentationTest.java
+++ b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlComponentConfigurationAndDocumentationTest.java
@@ -43,12 +43,12 @@ public class SqlComponentConfigurationAndDocumentationTest extends CamelTestSupp
@Test
public void testExplainEndpoint() throws Exception {
- String json = context.explainEndpointJson("sql:select?dataSourceRef=jdbc/myDataSource&allowNamedParameters=true&consumer.onConsume=foo", true);
+ String json = context.explainEndpointJson("sql:select?dataSourceRef=jdbc/myDataSource&allowNamedParameters=true&onConsume=foo", true);
assertNotNull(json);
- assertTrue(json.contains("\"onConsumeBatchComplete\": { \"kind\": \"parameter\", \"type\": \"string\""));
- assertTrue(json.contains("\"parametersCount\": { \"kind\": \"parameter\", \"type\": \"integer\""));
- assertTrue(json.contains("\"onConsume\": { \"kind\": \"parameter\", \"type\": \"string\", \"javaType\": \"java.lang.String\", \"deprecated\": \"false\", \"value\": \"foo\""));
+ assertTrue(json.contains("\"onConsumeBatchComplete\": { \"kind\": \"parameter\", \"label\": \"consumer\", \"type\": \"string\""));
+ assertTrue(json.contains("\"parametersCount\": { \"kind\": \"parameter\", \"label\": \"producer,advanced\", \"type\": \"integer\""));
+ assertTrue(json.contains("\"onConsume\": { \"kind\": \"parameter\", \"label\": \"consumer\", \"type\": \"string\", \"javaType\": \"java.lang.String\", \"deprecated\": \"false\", \"value\": \"foo\""));
}
}