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 2021/12/20 17:37:28 UTC

[camel] 02/03: CAMEL-15951 - Introduce configuration property to skip DescribeTable operation on start of aws2-ddb component

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

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

commit 89f3dd46d0a49ba88e312c647fbcdc417de7657c
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Dec 20 18:16:30 2021 +0100

    CAMEL-15951 - Introduce configuration property to skip DescribeTable operation on start of aws2-ddb component
---
 .../aws2/ddb/Ddb2ComponentConfigurer.java          |  6 ++++
 .../component/aws2/ddb/Ddb2EndpointConfigurer.java |  6 ++++
 .../component/aws2/ddb/Ddb2EndpointUriFactory.java |  3 +-
 .../apache/camel/component/aws2/ddb/aws2-ddb.json  |  2 ++
 .../component/aws2/ddb/Ddb2Configuration.java      |  2 +-
 .../dsl/Aws2DdbComponentBuilderFactory.java        | 18 +++++++++++
 .../endpoint/dsl/Ddb2EndpointBuilderFactory.java   | 35 ++++++++++++++++++++++
 7 files changed, 70 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2ComponentConfigurer.java b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2ComponentConfigurer.java
index b1215ce..7ec1721 100644
--- a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2ComponentConfigurer.java
+++ b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2ComponentConfigurer.java
@@ -37,6 +37,8 @@ public class Ddb2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws2.ddb.Ddb2Configuration.class, value)); return true;
         case "consistentread":
         case "consistentRead": getOrCreateConfiguration(target).setConsistentRead(property(camelContext, boolean.class, value)); return true;
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": getOrCreateConfiguration(target).setEnabledInitialDescribeTable(property(camelContext, boolean.class, value)); return true;
         case "keyattributename":
         case "keyAttributeName": getOrCreateConfiguration(target).setKeyAttributeName(property(camelContext, java.lang.String.class, value)); return true;
         case "keyattributetype":
@@ -88,6 +90,8 @@ public class Ddb2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "configuration": return org.apache.camel.component.aws2.ddb.Ddb2Configuration.class;
         case "consistentread":
         case "consistentRead": return boolean.class;
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": return boolean.class;
         case "keyattributename":
         case "keyAttributeName": return java.lang.String.class;
         case "keyattributetype":
@@ -135,6 +139,8 @@ public class Ddb2ComponentConfigurer extends PropertyConfigurerSupport implement
         case "configuration": return target.getConfiguration();
         case "consistentread":
         case "consistentRead": return getOrCreateConfiguration(target).isConsistentRead();
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": return getOrCreateConfiguration(target).isEnabledInitialDescribeTable();
         case "keyattributename":
         case "keyAttributeName": return getOrCreateConfiguration(target).getKeyAttributeName();
         case "keyattributetype":
diff --git a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointConfigurer.java b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointConfigurer.java
index ee60c1b..933505b 100644
--- a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointConfigurer.java
+++ b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointConfigurer.java
@@ -27,6 +27,8 @@ public class Ddb2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "amazonDDBClient": target.getConfiguration().setAmazonDDBClient(property(camelContext, software.amazon.awssdk.services.dynamodb.DynamoDbClient.class, value)); return true;
         case "consistentread":
         case "consistentRead": target.getConfiguration().setConsistentRead(property(camelContext, boolean.class, value)); return true;
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": target.getConfiguration().setEnabledInitialDescribeTable(property(camelContext, boolean.class, value)); return true;
         case "keyattributename":
         case "keyAttributeName": target.getConfiguration().setKeyAttributeName(property(camelContext, java.lang.String.class, value)); return true;
         case "keyattributetype":
@@ -75,6 +77,8 @@ public class Ddb2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "amazonDDBClient": return software.amazon.awssdk.services.dynamodb.DynamoDbClient.class;
         case "consistentread":
         case "consistentRead": return boolean.class;
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": return boolean.class;
         case "keyattributename":
         case "keyAttributeName": return java.lang.String.class;
         case "keyattributetype":
@@ -119,6 +123,8 @@ public class Ddb2EndpointConfigurer extends PropertyConfigurerSupport implements
         case "amazonDDBClient": return target.getConfiguration().getAmazonDDBClient();
         case "consistentread":
         case "consistentRead": return target.getConfiguration().isConsistentRead();
+        case "enabledinitialdescribetable":
+        case "enabledInitialDescribeTable": return target.getConfiguration().isEnabledInitialDescribeTable();
         case "keyattributename":
         case "keyAttributeName": return target.getConfiguration().getKeyAttributeName();
         case "keyattributetype":
diff --git a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointUriFactory.java b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointUriFactory.java
index 63dc75a..27da2ef 100644
--- a/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointUriFactory.java
+++ b/components/camel-aws/camel-aws2-ddb/src/generated/java/org/apache/camel/component/aws2/ddb/Ddb2EndpointUriFactory.java
@@ -20,13 +20,14 @@ public class Ddb2EndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> PROPERTY_NAMES;
     private static final Set<String> SECRET_PROPERTY_NAMES;
     static {
-        Set<String> props = new HashSet<>(20);
+        Set<String> props = new HashSet<>(21);
         props.add("amazonDDBClient");
         props.add("proxyProtocol");
         props.add("readCapacity");
         props.add("secretKey");
         props.add("keyScalarType");
         props.add("uriEndpointOverride");
+        props.add("enabledInitialDescribeTable");
         props.add("keyAttributeType");
         props.add("useDefaultCredentialsProvider");
         props.add("proxyHost");
diff --git a/components/camel-aws/camel-aws2-ddb/src/generated/resources/org/apache/camel/component/aws2/ddb/aws2-ddb.json b/components/camel-aws/camel-aws2-ddb/src/generated/resources/org/apache/camel/component/aws2/ddb/aws2-ddb.json
index 1480ea2..52075fd 100644
--- a/components/camel-aws/camel-aws2-ddb/src/generated/resources/org/apache/camel/component/aws2/ddb/aws2-ddb.json
+++ b/components/camel-aws/camel-aws2-ddb/src/generated/resources/org/apache/camel/component/aws2/ddb/aws2-ddb.json
@@ -25,6 +25,7 @@
     "amazonDDBClient": { "kind": "property", "displayName": "Amazon DDBClient", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.dynamodb.DynamoDbClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "To use the AmazonDynamoDB as the client" },
     "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
     "consistentRead": { "kind": "property", "displayName": "Consistent Read", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Determines whether or not strong consistency should be enforced when data is read." },
+    "enabledInitialDescribeTable": { "kind": "property", "displayName": "Enabled Initial Describe Table", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Set whether the initial Describe table operation in the DDB Endpoint must be  [...]
     "keyAttributeName": { "kind": "property", "displayName": "Key Attribute Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Attribute name when creating table" },
     "keyAttributeType": { "kind": "property", "displayName": "Key Attribute Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Attribute type when creating table" },
     "keyScalarType": { "kind": "property", "displayName": "Key Scalar Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "The key scalar type, it can be S (String), N (Number) and B (Bytes)" },
@@ -48,6 +49,7 @@
     "tableName": { "kind": "path", "displayName": "Table Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "The name of the table currently worked with." },
     "amazonDDBClient": { "kind": "parameter", "displayName": "Amazon DDBClient", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "software.amazon.awssdk.services.dynamodb.DynamoDbClient", "deprecated": false, "deprecationNote": "", "autowired": true, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "To use the AmazonDynamoDB as the client" },
     "consistentRead": { "kind": "parameter", "displayName": "Consistent Read", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Determines whether or not strong consistency should be enforced when data is read." },
+    "enabledInitialDescribeTable": { "kind": "parameter", "displayName": "Enabled Initial Describe Table", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Set whether the initial Describe table operation in the DDB Endpoint must be [...]
     "keyAttributeName": { "kind": "parameter", "displayName": "Key Attribute Name", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Attribute name when creating table" },
     "keyAttributeType": { "kind": "parameter", "displayName": "Key Attribute Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "Attribute type when creating table" },
     "keyScalarType": { "kind": "parameter", "displayName": "Key Scalar Type", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws2.ddb.Ddb2Configuration", "configurationField": "configuration", "description": "The key scalar type, it can be S (String), N (Number) and B (Bytes)" },
diff --git a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Configuration.java b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Configuration.java
index 3d81fcf..5086cf9 100644
--- a/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Configuration.java
+++ b/components/camel-aws/camel-aws2-ddb/src/main/java/org/apache/camel/component/aws2/ddb/Ddb2Configuration.java
@@ -68,7 +68,7 @@ public class Ddb2Configuration implements Cloneable {
     @UriParam(defaultValue = "false")
     private boolean useDefaultCredentialsProvider;
     @UriParam(defaultValue = "true")
-    private boolean enabledInitialDescribeTable;
+    private boolean enabledInitialDescribeTable = true;
 
     public String getAccessKey() {
         return accessKey;
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2DdbComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2DdbComponentBuilderFactory.java
index 4f75817..7e6e988 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2DdbComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/Aws2DdbComponentBuilderFactory.java
@@ -98,6 +98,23 @@ public interface Aws2DdbComponentBuilderFactory {
             return this;
         }
         /**
+         * Set whether the initial Describe table operation in the DDB Endpoint
+         * must be done, or not.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param enabledInitialDescribeTable the value to set
+         * @return the dsl builder
+         */
+        default Aws2DdbComponentBuilder enabledInitialDescribeTable(
+                boolean enabledInitialDescribeTable) {
+            doSetProperty("enabledInitialDescribeTable", enabledInitialDescribeTable);
+            return this;
+        }
+        /**
          * Attribute name when creating table.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
@@ -420,6 +437,7 @@ public interface Aws2DdbComponentBuilderFactory {
             case "amazonDDBClient": getOrCreateConfiguration((Ddb2Component) component).setAmazonDDBClient((software.amazon.awssdk.services.dynamodb.DynamoDbClient) value); return true;
             case "configuration": ((Ddb2Component) component).setConfiguration((org.apache.camel.component.aws2.ddb.Ddb2Configuration) value); return true;
             case "consistentRead": getOrCreateConfiguration((Ddb2Component) component).setConsistentRead((boolean) value); return true;
+            case "enabledInitialDescribeTable": getOrCreateConfiguration((Ddb2Component) component).setEnabledInitialDescribeTable((boolean) value); return true;
             case "keyAttributeName": getOrCreateConfiguration((Ddb2Component) component).setKeyAttributeName((java.lang.String) value); return true;
             case "keyAttributeType": getOrCreateConfiguration((Ddb2Component) component).setKeyAttributeType((java.lang.String) value); return true;
             case "keyScalarType": getOrCreateConfiguration((Ddb2Component) component).setKeyScalarType((java.lang.String) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ddb2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ddb2EndpointBuilderFactory.java
index 7696f01..983d2d4 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ddb2EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Ddb2EndpointBuilderFactory.java
@@ -98,6 +98,41 @@ public interface Ddb2EndpointBuilderFactory {
             return this;
         }
         /**
+         * Set whether the initial Describe table operation in the DDB Endpoint
+         * must be done, or not.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param enabledInitialDescribeTable the value to set
+         * @return the dsl builder
+         */
+        default Ddb2EndpointBuilder enabledInitialDescribeTable(
+                boolean enabledInitialDescribeTable) {
+            doSetProperty("enabledInitialDescribeTable", enabledInitialDescribeTable);
+            return this;
+        }
+        /**
+         * Set whether the initial Describe table operation in the DDB Endpoint
+         * must be done, or not.
+         * 
+         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
+         * type.
+         * 
+         * Default: true
+         * Group: producer
+         * 
+         * @param enabledInitialDescribeTable the value to set
+         * @return the dsl builder
+         */
+        default Ddb2EndpointBuilder enabledInitialDescribeTable(
+                String enabledInitialDescribeTable) {
+            doSetProperty("enabledInitialDescribeTable", enabledInitialDescribeTable);
+            return this;
+        }
+        /**
          * Attribute name when creating table.
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.