You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/02/02 13:46:51 UTC

[camel] branch camel-3.x updated (b295eb51480 -> cb796f6d993)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git


    from b295eb51480 CAMEL-18990: camel-jbang - Export to Quarkus should add resources for native compilation
     new 3f913235023 CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
     new c8ca5886d27 CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
     new 5e34466029b CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
     new 5664110ac2c CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
     new cb796f6d993 CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/camel/catalog/components/cql.json   |  1 +
 .../cassandra/CassandraEndpointConfigurer.java     |  6 ++++
 .../cassandra/CassandraEndpointUriFactory.java     |  3 +-
 .../org/apache/camel/component/cassandra/cql.json  |  1 +
 .../component/cassandra/CassandraEndpoint.java     | 28 ++++++++++++++++++
 .../utils/cassandra/CassandraExtraCodecs.java      | 34 ++++++++++++++++++++++
 6 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java


[camel] 04/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5664110ac2c900007b920313610e4706ab96e63e
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 2 14:24:12 2023 +0100

    CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../generated/resources/org/apache/camel/component/cassandra/cql.json   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 376cf648e7d..724921d329f 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
@@ -39,7 +39,7 @@
     "consistencyLevel": { "kind": "parameter", "displayName": "Consistency Level", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.datastax.oss.driver.api.core.DefaultConsistencyLevel", "enum": [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ], "deprecated": false, "autowired": false, "secret": false, "description": "Consistency level to use" },
     "cql": { "kind": "parameter", "displayName": "Cql", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "CQL query to perform. Can be overridden with the message header with key CamelCqlQuery." },
     "datacenter": { "kind": "parameter", "displayName": "Datacenter", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "datacenter1", "description": "Datacenter to use" },
-    "extraTypeCodecs": { "kind": "parameter", "displayName": "Extra Type Codecs", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific comma separated list of Extra Type codecs" },
+    "extraTypeCodecs": { "kind": "parameter", "displayName": "Extra Type Codecs", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO [...]
     "loadBalancingPolicyClass": { "kind": "parameter", "displayName": "Load Balancing Policy Class", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific LoadBalancingPolicyClass" },
     "password": { "kind": "parameter", "displayName": "Password", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Password for session authentication" },
     "prepareStatements": { "kind": "parameter", "displayName": "Prepare Statements", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use PreparedStatements or regular Statements" },


[camel] 01/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3f91323502322fe00a13311b79f99d7e3a0442b7
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 2 14:11:23 2023 +0100

    CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../cassandra/CassandraEndpointConfigurer.java     |  6 ++++
 .../cassandra/CassandraEndpointUriFactory.java     |  3 +-
 .../org/apache/camel/component/cassandra/cql.json  |  1 +
 .../component/cassandra/CassandraEndpoint.java     | 31 ++++++++++++++++++++
 .../utils/cassandra/CassandraExtraCodecs.java      | 34 ++++++++++++++++++++++
 5 files changed, 74 insertions(+), 1 deletion(-)

diff --git a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
index 0e608905113..1182a55d7a1 100644
--- a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
+++ b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointConfigurer.java
@@ -40,6 +40,8 @@ public class CassandraEndpointConfigurer extends PropertyConfigurerSupport imple
         case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
         case "exchangepattern":
         case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
+        case "extratypecodecs":
+        case "extraTypeCodecs": target.setExtraTypeCodecs(property(camelContext, java.lang.String.class, value)); return true;
         case "greedy": target.setGreedy(property(camelContext, boolean.class, value)); return true;
         case "initialdelay":
         case "initialDelay": target.setInitialDelay(property(camelContext, long.class, value)); return true;
@@ -99,6 +101,8 @@ public class CassandraEndpointConfigurer extends PropertyConfigurerSupport imple
         case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
         case "exchangepattern":
         case "exchangePattern": return org.apache.camel.ExchangePattern.class;
+        case "extratypecodecs":
+        case "extraTypeCodecs": return java.lang.String.class;
         case "greedy": return boolean.class;
         case "initialdelay":
         case "initialDelay": return long.class;
@@ -159,6 +163,8 @@ public class CassandraEndpointConfigurer extends PropertyConfigurerSupport imple
         case "exceptionHandler": return target.getExceptionHandler();
         case "exchangepattern":
         case "exchangePattern": return target.getExchangePattern();
+        case "extratypecodecs":
+        case "extraTypeCodecs": return target.getExtraTypeCodecs();
         case "greedy": return target.isGreedy();
         case "initialdelay":
         case "initialDelay": return target.getInitialDelay();
diff --git a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
index c4cce3a244d..c46eebc9112 100644
--- a/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
+++ b/components/camel-cassandraql/src/generated/java/org/apache/camel/component/cassandra/CassandraEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class CassandraEndpointUriFactory extends org.apache.camel.support.compon
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(34);
+        Set<String> props = new HashSet<>(35);
         props.add("backoffErrorThreshold");
         props.add("backoffIdleThreshold");
         props.add("backoffMultiplier");
@@ -34,6 +34,7 @@ public class CassandraEndpointUriFactory extends org.apache.camel.support.compon
         props.add("delay");
         props.add("exceptionHandler");
         props.add("exchangePattern");
+        props.add("extraTypeCodecs");
         props.add("greedy");
         props.add("hosts");
         props.add("initialDelay");
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 94a59e4b9ca..376cf648e7d 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
@@ -39,6 +39,7 @@
     "consistencyLevel": { "kind": "parameter", "displayName": "Consistency Level", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.datastax.oss.driver.api.core.DefaultConsistencyLevel", "enum": [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ], "deprecated": false, "autowired": false, "secret": false, "description": "Consistency level to use" },
     "cql": { "kind": "parameter", "displayName": "Cql", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "CQL query to perform. Can be overridden with the message header with key CamelCqlQuery." },
     "datacenter": { "kind": "parameter", "displayName": "Datacenter", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "datacenter1", "description": "Datacenter to use" },
+    "extraTypeCodecs": { "kind": "parameter", "displayName": "Extra Type Codecs", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific comma separated list of Extra Type codecs" },
     "loadBalancingPolicyClass": { "kind": "parameter", "displayName": "Load Balancing Policy Class", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific LoadBalancingPolicyClass" },
     "password": { "kind": "parameter", "displayName": "Password", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Password for session authentication" },
     "prepareStatements": { "kind": "parameter", "displayName": "Prepare Statements", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use PreparedStatements or regular Statements" },
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index 2c1f8d5d565..82fd51dccae 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -17,6 +17,8 @@
 package org.apache.camel.component.cassandra;
 
 import java.net.InetSocketAddress;
+import java.util.ArrayList;
+import java.util.List;
 
 import com.datastax.oss.driver.api.core.ConsistencyLevel;
 import com.datastax.oss.driver.api.core.CqlSession;
@@ -27,6 +29,10 @@ import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
 import com.datastax.oss.driver.api.core.cql.PreparedStatement;
 import com.datastax.oss.driver.api.core.cql.ResultSet;
 import com.datastax.oss.driver.api.core.cql.SimpleStatement;
+import com.datastax.oss.driver.api.core.session.SessionBuilder;
+import com.datastax.oss.driver.api.core.type.codec.ExtraTypeCodecs;
+import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
+import com.datastax.oss.driver.api.core.type.codec.TypeCodecs;
 import org.apache.camel.Category;
 import org.apache.camel.Component;
 import org.apache.camel.Consumer;
@@ -37,7 +43,9 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.ScheduledPollEndpoint;
+import org.apache.camel.utils.cassandra.CassandraExtraCodecs;
 import org.apache.camel.utils.cassandra.CassandraSessionHolder;
 
 /**
@@ -78,6 +86,8 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
     private String loadBalancingPolicyClass;
     @UriParam
     private ResultSetConversionStrategy resultSetConversionStrategy = ResultSetConversionStrategies.all();
+    @UriParam
+    private String extraTypeCodecs;
 
     public CassandraEndpoint(String endpointUri, Component component) {
         super(endpointUri, component);
@@ -159,6 +169,17 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
             sessionBuilder.withClassLoader(classLoader);
         }
 
+        if (extraTypeCodecs != null) {
+            String[] c = extraTypeCodecs.split(",");
+            System.err.println(c.toString());
+            for (String codec: c
+                 ) {
+                if (CassandraExtraCodecs.valueOf(codec).codec() != null) {
+                    sessionBuilder.addTypeCodecs(CassandraExtraCodecs.valueOf(codec).codec());
+                }
+            }
+        }
+
         return sessionBuilder;
     }
 
@@ -355,4 +376,14 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
         this.loadBalancingPolicyClass = loadBalancingPolicyClass;
     }
 
+    /**
+     * To use a specific comma separated list of Extra Type codecs
+     */
+    public String getExtraTypeCodecs() {
+        return extraTypeCodecs;
+    }
+
+    public void setExtraTypeCodecs(String extraTypeCodecs) {
+        this.extraTypeCodecs = extraTypeCodecs;
+    }
 }
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java b/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java
new file mode 100644
index 00000000000..53b3b7b8df4
--- /dev/null
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java
@@ -0,0 +1,34 @@
+package org.apache.camel.utils.cassandra;
+
+import com.datastax.oss.driver.api.core.type.codec.ExtraTypeCodecs;
+import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
+
+public enum CassandraExtraCodecs {
+
+    BLOB_TO_ARRAY(ExtraTypeCodecs.BLOB_TO_ARRAY),
+    BOOLEAN_LIST_TO_ARRAY(ExtraTypeCodecs.BOOLEAN_LIST_TO_ARRAY),
+    BYTE_LIST_TO_ARRAY(ExtraTypeCodecs.BYTE_LIST_TO_ARRAY),
+    SHORT_LIST_TO_ARRAY(ExtraTypeCodecs.SHORT_LIST_TO_ARRAY),
+    INT_LIST_TO_ARRAY(ExtraTypeCodecs.INT_LIST_TO_ARRAY),
+    LONG_LIST_TO_ARRAY(ExtraTypeCodecs.LONG_LIST_TO_ARRAY),
+    FLOAT_LIST_TO_ARRAY(ExtraTypeCodecs.FLOAT_LIST_TO_ARRAY),
+    DOUBLE_LIST_TO_ARRAY(ExtraTypeCodecs.DOUBLE_LIST_TO_ARRAY),
+    TIMESTAMP_UTC(ExtraTypeCodecs.TIMESTAMP_UTC),
+    TIMESTAMP_MILLIS_SYSTEM(ExtraTypeCodecs.TIMESTAMP_MILLIS_SYSTEM),
+    TIMESTAMP_MILLIS_UTC(ExtraTypeCodecs.TIMESTAMP_MILLIS_UTC),
+    ZONED_TIMESTAMP_SYSTEM(ExtraTypeCodecs.ZONED_TIMESTAMP_SYSTEM),
+    ZONED_TIMESTAMP_UTC(ExtraTypeCodecs.ZONED_TIMESTAMP_UTC),
+    ZONED_TIMESTAMP_PERSISTED(ExtraTypeCodecs.ZONED_TIMESTAMP_PERSISTED),
+    LOCAL_TIMESTAMP_SYSTEM(ExtraTypeCodecs.LOCAL_TIMESTAMP_SYSTEM),
+    LOCAL_TIMESTAMP_UTC(ExtraTypeCodecs.LOCAL_TIMESTAMP_UTC);
+
+    private final TypeCodec codec;
+
+    private CassandraExtraCodecs(TypeCodec codec){
+        this.codec = codec;
+    }
+
+    public TypeCodec codec() {
+        return codec;
+    }
+}


[camel] 03/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5e34466029b2852c3cb3236db0dc5312fcaf0156
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 2 14:23:21 2023 +0100

    CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../org/apache/camel/component/cassandra/CassandraEndpoint.java     | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index c4a4d146dd7..e08259673d4 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -377,7 +377,11 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
     }
 
     /**
-     * To use a specific comma separated list of Extra Type codecs
+     * To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY,
+     * BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO_ARRAY,
+     * TIMESTAMP_UTC, TIMESTAMP_MILLIS_SYSTEM, TIMESTAMP_MILLIS_UTC, ZONED_TIMESTAMP_SYSTEM, ZONED_TIMESTAMP_UTC,
+     * ZONED_TIMESTAMP_PERSISTED, LOCAL_TIMESTAMP_SYSTEM and
+     * LOCAL_TIMESTAMP_UTC
      */
     public String getExtraTypeCodecs() {
         return extraTypeCodecs;


[camel] 05/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit cb796f6d993ec81ad080b8987d0d42e68d9788ed
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 2 14:27:57 2023 +0100

    CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../org/apache/camel/catalog/components/cql.json        |  1 +
 .../camel/component/cassandra/CassandraEndpoint.java    | 17 +++++------------
 .../camel/utils/cassandra/CassandraExtraCodecs.java     |  2 +-
 3 files changed, 7 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 94a59e4b9ca..724921d329f 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
@@ -39,6 +39,7 @@
     "consistencyLevel": { "kind": "parameter", "displayName": "Consistency Level", "group": "common", "label": "", "required": false, "type": "object", "javaType": "com.datastax.oss.driver.api.core.DefaultConsistencyLevel", "enum": [ "ANY", "ONE", "TWO", "THREE", "QUORUM", "ALL", "LOCAL_ONE", "LOCAL_QUORUM", "EACH_QUORUM", "SERIAL", "LOCAL_SERIAL" ], "deprecated": false, "autowired": false, "secret": false, "description": "Consistency level to use" },
     "cql": { "kind": "parameter", "displayName": "Cql", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "CQL query to perform. Can be overridden with the message header with key CamelCqlQuery." },
     "datacenter": { "kind": "parameter", "displayName": "Datacenter", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "datacenter1", "description": "Datacenter to use" },
+    "extraTypeCodecs": { "kind": "parameter", "displayName": "Extra Type Codecs", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO [...]
     "loadBalancingPolicyClass": { "kind": "parameter", "displayName": "Load Balancing Policy Class", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "To use a specific LoadBalancingPolicyClass" },
     "password": { "kind": "parameter", "displayName": "Password", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Password for session authentication" },
     "prepareStatements": { "kind": "parameter", "displayName": "Prepare Statements", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to use PreparedStatements or regular Statements" },
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index e08259673d4..371260fc5b2 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.cassandra;
 
 import java.net.InetSocketAddress;
-import java.util.ArrayList;
-import java.util.List;
 
 import com.datastax.oss.driver.api.core.ConsistencyLevel;
 import com.datastax.oss.driver.api.core.CqlSession;
@@ -29,10 +27,6 @@ import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
 import com.datastax.oss.driver.api.core.cql.PreparedStatement;
 import com.datastax.oss.driver.api.core.cql.ResultSet;
 import com.datastax.oss.driver.api.core.cql.SimpleStatement;
-import com.datastax.oss.driver.api.core.session.SessionBuilder;
-import com.datastax.oss.driver.api.core.type.codec.ExtraTypeCodecs;
-import com.datastax.oss.driver.api.core.type.codec.TypeCodec;
-import com.datastax.oss.driver.api.core.type.codec.TypeCodecs;
 import org.apache.camel.Category;
 import org.apache.camel.Component;
 import org.apache.camel.Consumer;
@@ -172,8 +166,7 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
         if (extraTypeCodecs != null) {
             String[] c = extraTypeCodecs.split(",");
             System.err.println(c.toString());
-            for (String codec: c
-                 ) {
+            for (String codec : c) {
                 if (ObjectHelper.isNotEmpty(CassandraExtraCodecs.valueOf(codec))) {
                     sessionBuilder.addTypeCodecs(CassandraExtraCodecs.valueOf(codec).codec());
                 }
@@ -377,10 +370,10 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
     }
 
     /**
-     * To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY, BOOLEAN_LIST_TO_ARRAY,
-     * BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY, FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO_ARRAY,
-     * TIMESTAMP_UTC, TIMESTAMP_MILLIS_SYSTEM, TIMESTAMP_MILLIS_UTC, ZONED_TIMESTAMP_SYSTEM, ZONED_TIMESTAMP_UTC,
-     * ZONED_TIMESTAMP_PERSISTED, LOCAL_TIMESTAMP_SYSTEM and
+     * To use a specific comma separated list of Extra Type codecs. Possible values are: BLOB_TO_ARRAY,
+     * BOOLEAN_LIST_TO_ARRAY, BYTE_LIST_TO_ARRAY, SHORT_LIST_TO_ARRAY, INT_LIST_TO_ARRAY, LONG_LIST_TO_ARRAY,
+     * FLOAT_LIST_TO_ARRAY, DOUBLE_LIST_TO_ARRAY, TIMESTAMP_UTC, TIMESTAMP_MILLIS_SYSTEM, TIMESTAMP_MILLIS_UTC,
+     * ZONED_TIMESTAMP_SYSTEM, ZONED_TIMESTAMP_UTC, ZONED_TIMESTAMP_PERSISTED, LOCAL_TIMESTAMP_SYSTEM and
      * LOCAL_TIMESTAMP_UTC
      */
     public String getExtraTypeCodecs() {
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java b/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java
index 53b3b7b8df4..8823cbe9858 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/utils/cassandra/CassandraExtraCodecs.java
@@ -24,7 +24,7 @@ public enum CassandraExtraCodecs {
 
     private final TypeCodec codec;
 
-    private CassandraExtraCodecs(TypeCodec codec){
+    private CassandraExtraCodecs(TypeCodec codec) {
         this.codec = codec;
     }
 


[camel] 02/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c8ca5886d27bd218ded45ff26f01524b5d6db187
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Feb 2 14:20:52 2023 +0100

    CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../java/org/apache/camel/component/cassandra/CassandraEndpoint.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index 82fd51dccae..c4a4d146dd7 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -43,8 +43,8 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 import org.apache.camel.support.CamelContextHelper;
-import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.utils.cassandra.CassandraExtraCodecs;
 import org.apache.camel.utils.cassandra.CassandraSessionHolder;
 
@@ -174,7 +174,7 @@ public class CassandraEndpoint extends ScheduledPollEndpoint {
             System.err.println(c.toString());
             for (String codec: c
                  ) {
-                if (CassandraExtraCodecs.valueOf(codec).codec() != null) {
+                if (ObjectHelper.isNotEmpty(CassandraExtraCodecs.valueOf(codec))) {
                     sessionBuilder.addTypeCodecs(CassandraExtraCodecs.valueOf(codec).codec());
                 }
             }