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)

Reply via email to