This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 23c0ea51201 CAMEL-18127: make the resume actions reusable by other components 23c0ea51201 is described below commit 23c0ea51201aeb33231f83e2a76e7be43773ec21 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Thu Jun 9 15:02:08 2022 +0200 CAMEL-18127: make the resume actions reusable by other components --- .../resources/org/apache/camel/catalog/components/cql.json | 2 +- .../resources/org/apache/camel/component/cassandra/cql.json | 2 +- .../org/apache/camel/component/cassandra/CassandraConstants.java | 2 +- .../org/apache/camel/component/cassandra/CassandraConsumer.java | 4 ++-- .../cassandra/consumer/support/CassandraResumeAdapter.java | 3 ++- .../cassandra/consumer/support/DefaultCassandraResumeAdapter.java | 5 +++-- .../cassandra/integration/CassandraComponentResumeStrategyIT.java | 6 +++--- .../src/main/java/org/apache/camel/resume/ResumeAction.java | 4 ++-- 8 files changed, 15 insertions(+), 13 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cql.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cql.json index 2a568f0f551..5e44352680f 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cql.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/cql.json @@ -28,7 +28,7 @@ }, "headers": { "CamelCqlQuery": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CQL query to execute.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CQL_QUERY" }, - "CamelCqlResumeQuery": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CQL query to execute when resuming.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CASSANDRA_RESUME_ACTION" } + "CamelCqlResumeQuery": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The resume action to execute when resuming.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CASSANDRA_RESUME_ACTION" } }, "properties": { "beanRef": { "kind": "path", "displayName": "Bean Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "beanRef is defined using bean:id" }, diff --git a/components/camel-cassandraql/src/generated/resources/org/apache/camel/component/cassandra/cql.json b/components/camel-cassandraql/src/generated/resources/org/apache/camel/component/cassandra/cql.json index 2a568f0f551..5e44352680f 100644 --- a/components/camel-cassandraql/src/generated/resources/org/apache/camel/component/cassandra/cql.json +++ b/components/camel-cassandraql/src/generated/resources/org/apache/camel/component/cassandra/cql.json @@ -28,7 +28,7 @@ }, "headers": { "CamelCqlQuery": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CQL query to execute.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CQL_QUERY" }, - "CamelCqlResumeQuery": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The CQL query to execute when resuming.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CASSANDRA_RESUME_ACTION" } + "CamelCqlResumeQuery": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The resume action to execute when resuming.", "constantName": "org.apache.camel.component.cassandra.CassandraConstants#CASSANDRA_RESUME_ACTION" } }, "properties": { "beanRef": { "kind": "path", "displayName": "Bean Ref", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "beanRef is defined using bean:id" }, diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConstants.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConstants.java index 83323ddcf80..4918b1359f1 100644 --- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConstants.java +++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConstants.java @@ -29,7 +29,7 @@ public final class CassandraConstants { @Metadata(label = "producer", description = "The CQL query to execute.", javaType = "String") public static final String CQL_QUERY = "CamelCqlQuery"; - @Metadata(label = "consumer", description = "The CQL query to execute when resuming.", javaType = "String") + @Metadata(label = "consumer", description = "The resume action to execute when resuming.", javaType = "String") public static final String CASSANDRA_RESUME_ACTION = "CamelCqlResumeQuery"; private CassandraConstants() { diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConsumer.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConsumer.java index 9d396d4bd6b..9113e53545b 100644 --- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConsumer.java +++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraConsumer.java @@ -22,8 +22,8 @@ import com.datastax.oss.driver.api.core.cql.ResultSet; import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.Processor; -import org.apache.camel.component.cassandra.consumer.support.CassandraResumeAction; import org.apache.camel.component.cassandra.consumer.support.CassandraResumeAdapter; +import org.apache.camel.resume.ResumeAction; import org.apache.camel.resume.ResumeAware; import org.apache.camel.resume.ResumeStrategy; import org.apache.camel.support.ScheduledPollConsumer; @@ -92,7 +92,7 @@ public class CassandraConsumer extends ScheduledPollConsumer implements ResumeAw CassandraResumeAdapter resumeAdapter = resumeStrategy.getAdapter(CassandraResumeAdapter.class); if (resumeAdapter != null) { - CassandraResumeAction action = (CassandraResumeAction) getEndpoint().getCamelContext().getRegistry() + ResumeAction action = (ResumeAction) getEndpoint().getCamelContext().getRegistry() .lookupByName(CASSANDRA_RESUME_ACTION); ObjectHelper.notNull(action, "The resume action cannot be null", this); diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAdapter.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAdapter.java index 7de5f5958c9..78283658fe5 100644 --- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAdapter.java +++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAdapter.java @@ -17,6 +17,7 @@ package org.apache.camel.component.cassandra.consumer.support; +import org.apache.camel.resume.ResumeAction; import org.apache.camel.resume.ResumeAdapter; /** @@ -29,5 +30,5 @@ public interface CassandraResumeAdapter extends ResumeAdapter { * * @param resumeAction the action to execute during resume */ - void setResumeAction(CassandraResumeAction resumeAction); + void setResumeAction(ResumeAction resumeAction); } diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/DefaultCassandraResumeAdapter.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/DefaultCassandraResumeAdapter.java index 62a3dab489f..dee8ad5e380 100644 --- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/DefaultCassandraResumeAdapter.java +++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/DefaultCassandraResumeAdapter.java @@ -23,14 +23,15 @@ import org.apache.camel.resume.Cacheable; import org.apache.camel.resume.Deserializable; import org.apache.camel.resume.Offset; import org.apache.camel.resume.OffsetKey; +import org.apache.camel.resume.ResumeAction; import org.apache.camel.resume.cache.ResumeCache; public class DefaultCassandraResumeAdapter implements CassandraResumeAdapter, Cacheable, Deserializable { private ResumeCache<Object> cache; - private CassandraResumeAction resumeAction; + private ResumeAction resumeAction; @Override - public void setResumeAction(CassandraResumeAction resumeAction) { + public void setResumeAction(ResumeAction resumeAction) { this.resumeAction = resumeAction; } diff --git a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentResumeStrategyIT.java b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentResumeStrategyIT.java index ee8647202c0..7a2d2aef525 100644 --- a/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentResumeStrategyIT.java +++ b/components/camel-cassandraql/src/test/java/org/apache/camel/component/cassandra/integration/CassandraComponentResumeStrategyIT.java @@ -23,10 +23,10 @@ import java.util.concurrent.TimeUnit; import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.cassandra.consumer.support.CassandraResumeAction; import org.apache.camel.component.cassandra.consumer.support.CassandraResumeAdapter; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.processor.resume.TransientResumeStrategy; +import org.apache.camel.resume.ResumeAction; import org.junit.jupiter.api.Test; import static org.apache.camel.component.cassandra.CassandraConstants.CASSANDRA_RESUME_ACTION; @@ -39,7 +39,7 @@ public class CassandraComponentResumeStrategyIT extends BaseCassandra { private boolean resumeActionNotNull; @Override - public void setResumeAction(CassandraResumeAction action) { + public void setResumeAction(ResumeAction action) { resumeActionNotNull = action != null; } @@ -74,7 +74,7 @@ public class CassandraComponentResumeStrategyIT extends BaseCassandra { protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - bindToRegistry(CASSANDRA_RESUME_ACTION, (CassandraResumeAction) (key, value) -> true); + bindToRegistry(CASSANDRA_RESUME_ACTION, (ResumeAction) (key, value) -> true); fromF("cql://%s/%s?cql=%s", getUrl(), KEYSPACE_NAME, CQL) .resumable(new TransientResumeStrategy(resumeStrategy)) diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAction.java b/core/camel-api/src/main/java/org/apache/camel/resume/ResumeAction.java similarity index 91% rename from components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAction.java rename to core/camel-api/src/main/java/org/apache/camel/resume/ResumeAction.java index 73c691ee5a5..864eb362c95 100644 --- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/consumer/support/CassandraResumeAction.java +++ b/core/camel-api/src/main/java/org/apache/camel/resume/ResumeAction.java @@ -15,12 +15,12 @@ * limitations under the License. */ -package org.apache.camel.component.cassandra.consumer.support; +package org.apache.camel.resume; /** * Provides and interface for integrations to run actions during resume */ -public interface CassandraResumeAction { +public interface ResumeAction { /** * Runs an action on an resumable (entry)