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] 05/05: CAMEL-18996 - Camel-CassandraQL: Adding a parameter to pass a list of ExtraTypesCodec to SessionBuilder

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

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

commit 940dfd104d576b16e558ef6119aed970f523cc89
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 709af634b71..2b1214eedb0 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;
     }