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/15 12:34:21 UTC

[camel] 01/03: CAMEL-17339 - Avoid List as configuration parameter types in Endpoint configurations - Azure-CosmosDB

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 38c8e72db1f14e830261c7d61aa7d41cbced6194
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Dec 15 13:12:13 2021 +0100

    CAMEL-17339 - Avoid List<String> as configuration parameter types in Endpoint configurations - Azure-CosmosDB
---
 .../camel/component/azure/cosmosdb/CosmosDbConfiguration.java      | 6 +++---
 .../component/azure/cosmosdb/client/CosmosDbClientFactory.java     | 7 ++++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
index a947c02..c8d099b 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/CosmosDbConfiguration.java
@@ -51,7 +51,7 @@ public class CosmosDbConfiguration implements Cloneable {
     @UriParam(label = "common", defaultValue = "SESSION")
     private ConsistencyLevel consistencyLevel = ConsistencyLevel.SESSION;
     @UriParam(label = "common")
-    private List<String> preferredRegions;
+    private String preferredRegions;
     @UriParam(label = "common", defaultValue = "false")
     private boolean clientTelemetryEnabled;
     @UriParam(label = "common", defaultValue = "false")
@@ -268,11 +268,11 @@ public class CosmosDbConfiguration implements Cloneable {
      * When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the regions in
      * the container in the order they are specified to perform operations.
      */
-    public List<String> getPreferredRegions() {
+    public String getPreferredRegions() {
         return preferredRegions;
     }
 
-    public void setPreferredRegions(List<String> preferredRegions) {
+    public void setPreferredRegions(String preferredRegions) {
         this.preferredRegions = preferredRegions;
     }
 
diff --git a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
index cde387c..9d43858 100644
--- a/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
+++ b/components/camel-azure/camel-azure-cosmosdb/src/main/java/org/apache/camel/component/azure/cosmosdb/client/CosmosDbClientFactory.java
@@ -21,6 +21,9 @@ import com.azure.cosmos.CosmosClient;
 import com.azure.cosmos.CosmosClientBuilder;
 import org.apache.camel.component.azure.cosmosdb.CosmosDbConfiguration;
 
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
 public final class CosmosDbClientFactory {
 
     private CosmosDbClientFactory() {
@@ -42,7 +45,9 @@ public final class CosmosDbClientFactory {
                 .endpoint(configuration.getDatabaseEndpoint())
                 .contentResponseOnWriteEnabled(configuration.isContentResponseOnWriteEnabled())
                 .consistencyLevel(configuration.getConsistencyLevel())
-                .preferredRegions(configuration.getPreferredRegions())
+                .preferredRegions(Stream.of(configuration.getPreferredRegions().split(","))
+                        .map(String::trim)
+                        .collect(Collectors.toList()))
                 .connectionSharingAcrossClientsEnabled(configuration.isConnectionSharingAcrossClientsEnabled())
                 .clientTelemetryEnabled(configuration.isClientTelemetryEnabled())
                 .multipleWriteRegionsEnabled(configuration.isMultipleWriteRegionsEnabled())