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 <[email protected]>
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())

Reply via email to