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

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

commit f6e3661c9abb73021fcce4b86996fd8804ce6539
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Jul 16 16:27:07 2025 +0200

    CAMEL-22247 - Camel Google Components: Make the scopes parameter a string 
in all the components - Google Calendar
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../camel/catalog/components/google-calendar.json  |  4 +-
 ...CalendarAclEndpointConfigurationConfigurer.java | 14 +---
 ...alendarListEndpointConfigurationConfigurer.java | 14 +---
 ...arCalendarsEndpointConfigurationConfigurer.java | 14 +---
 ...darChannelsEndpointConfigurationConfigurer.java | 14 +---
 ...endarColorsEndpointConfigurationConfigurer.java | 14 +---
 ...endarEventsEndpointConfigurationConfigurer.java | 14 +---
 ...darFreebusyEndpointConfigurationConfigurer.java | 14 +---
 ...darSettingsEndpointConfigurationConfigurer.java | 14 +---
 .../GoogleCalendarComponentConfigurer.java         | 14 +---
 .../GoogleCalendarConfigurationConfigurer.java     | 14 +---
 .../calendar/GoogleCalendarEndpointConfigurer.java |  7 +-
 .../component/google/calendar/google-calendar.json |  4 +-
 .../google/calendar/GoogleCalendarComponent.java   |  5 +-
 .../calendar/GoogleCalendarConfiguration.java      | 22 ++++--
 .../dsl/GoogleCalendarComponentBuilderFactory.java | 13 ++--
 .../dsl/GoogleCalendarEndpointBuilderFactory.java  | 84 ++++------------------
 17 files changed, 75 insertions(+), 204 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
index f1533bd1e6d..fd2cbdef8e4 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/google-calendar.json
@@ -29,7 +29,7 @@
     "clientId": { "index": 1, "kind": "property", "displayName": "Client Id", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Client ID of the 
calendar application" },
     "configuration": { "index": 2, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use the shared configuration" },
     "delegate": { "index": 3, "kind": "property", "displayName": "Delegate", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Delegate for wide-domain 
service account" },
-    "scopes": { "index": 4, "kind": "property", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permiss [...]
+    "scopes": { "index": 4, "kind": "property", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permissions you want a [...]
     "bridgeErrorHandler": { "index": 5, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 6, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "autowiredEnabled": { "index": 7, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
@@ -49,7 +49,7 @@
     "clientId": { "index": 3, "kind": "parameter", "displayName": "Client Id", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Client ID of the 
calendar application" },
     "delegate": { "index": 4, "kind": "parameter", "displayName": "Delegate", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Delegate for wide-domain 
service account" },
     "inBody": { "index": 5, "kind": "parameter", "displayName": "In Body", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the name of a parameter to be passed in 
the exchange In Body" },
-    "scopes": { "index": 6, "kind": "parameter", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permis [...]
+    "scopes": { "index": 6, "kind": "parameter", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permissions you want  [...]
     "sendEmptyMessageWhenIdle": { "index": 7, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
     "bridgeErrorHandler": { "index": 8, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
     "exceptionHandler": { "index": 9, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By def [...]
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfigurationConfigurer.java
index cc9eab749e3..733dafe3a90 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarAclEndpointConfigurationConfigurer.java
@@ -38,7 +38,7 @@ public class CalendarAclEndpointConfigurationConfigurer 
extends org.apache.camel
         map.put("PageToken", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
         map.put("RuleId", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("SendNotifications", java.lang.Boolean.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("ShowDeleted", java.lang.Boolean.class);
@@ -81,7 +81,7 @@ public class CalendarAclEndpointConfigurationConfigurer 
extends org.apache.camel
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
         case "ruleid":
         case "ruleId": target.setRuleId(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "sendnotifications":
         case "sendNotifications": 
target.setSendNotifications(property(camelContext, java.lang.Boolean.class, 
value)); return true;
         case "serviceaccountkey":
@@ -133,7 +133,7 @@ public class CalendarAclEndpointConfigurationConfigurer 
extends org.apache.camel
         case "refreshToken": return java.lang.String.class;
         case "ruleid":
         case "ruleId": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "sendnotifications":
         case "sendNotifications": return java.lang.Boolean.class;
         case "serviceaccountkey":
@@ -194,13 +194,5 @@ public class CalendarAclEndpointConfigurationConfigurer 
extends org.apache.camel
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfigurationConfigurer.java
index 0e0665f4194..1a085c7e60b 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarListEndpointConfigurationConfigurer.java
@@ -39,7 +39,7 @@ public class 
CalendarCalendarListEndpointConfigurationConfigurer extends org.apa
         map.put("P12FileName", java.lang.String.class);
         map.put("PageToken", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("ShowDeleted", java.lang.Boolean.class);
         map.put("ShowHidden", java.lang.Boolean.class);
@@ -84,7 +84,7 @@ public class 
CalendarCalendarListEndpointConfigurationConfigurer extends org.apa
         case "pageToken": target.setPageToken(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "showdeleted":
@@ -138,7 +138,7 @@ public class 
CalendarCalendarListEndpointConfigurationConfigurer extends org.apa
         case "pageToken": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "showdeleted":
@@ -201,13 +201,5 @@ public class 
CalendarCalendarListEndpointConfigurationConfigurer extends org.apa
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfigurationConfigurer.java
index b6aa6786165..4534c891239 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarCalendarsEndpointConfigurationConfigurer.java
@@ -34,7 +34,7 @@ public class CalendarCalendarsEndpointConfigurationConfigurer 
extends org.apache
         map.put("MethodName", java.lang.String.class);
         map.put("P12FileName", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("User", java.lang.String.class);
         ALL_OPTIONS = map;
@@ -66,7 +66,7 @@ public class CalendarCalendarsEndpointConfigurationConfigurer 
extends org.apache
         case "p12FileName": target.setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "user": target.setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -104,7 +104,7 @@ public class 
CalendarCalendarsEndpointConfigurationConfigurer extends org.apache
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -145,13 +145,5 @@ public class 
CalendarCalendarsEndpointConfigurationConfigurer extends org.apache
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfigurationConfigurer.java
index 48c9a223be7..bdd2f2cf09a 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarChannelsEndpointConfigurationConfigurer.java
@@ -33,7 +33,7 @@ public class CalendarChannelsEndpointConfigurationConfigurer 
extends org.apache.
         map.put("MethodName", java.lang.String.class);
         map.put("P12FileName", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("User", java.lang.String.class);
         ALL_OPTIONS = map;
@@ -64,7 +64,7 @@ public class CalendarChannelsEndpointConfigurationConfigurer 
extends org.apache.
         case "p12FileName": target.setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "user": target.setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -101,7 +101,7 @@ public class 
CalendarChannelsEndpointConfigurationConfigurer extends org.apache.
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -141,13 +141,5 @@ public class 
CalendarChannelsEndpointConfigurationConfigurer extends org.apache.
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfigurationConfigurer.java
index 85ce60deafb..d2e99db4303 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarColorsEndpointConfigurationConfigurer.java
@@ -32,7 +32,7 @@ public class CalendarColorsEndpointConfigurationConfigurer 
extends org.apache.ca
         map.put("MethodName", java.lang.String.class);
         map.put("P12FileName", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("User", java.lang.String.class);
         ALL_OPTIONS = map;
@@ -61,7 +61,7 @@ public class CalendarColorsEndpointConfigurationConfigurer 
extends org.apache.ca
         case "p12FileName": target.setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "user": target.setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -96,7 +96,7 @@ public class CalendarColorsEndpointConfigurationConfigurer 
extends org.apache.ca
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -134,13 +134,5 @@ public class CalendarColorsEndpointConfigurationConfigurer 
extends org.apache.ca
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfigurationConfigurer.java
index 8b861cadded..91af062a9e1 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarEventsEndpointConfigurationConfigurer.java
@@ -48,7 +48,7 @@ public class CalendarEventsEndpointConfigurationConfigurer 
extends org.apache.ca
         map.put("PrivateExtendedProperty", java.util.List.class);
         map.put("Q", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("SendNotifications", java.lang.Boolean.class);
         map.put("SendUpdates", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
@@ -119,7 +119,7 @@ public class CalendarEventsEndpointConfigurationConfigurer 
extends org.apache.ca
         case "q": target.setQ(property(camelContext, java.lang.String.class, 
value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "sendnotifications":
         case "sendNotifications": 
target.setSendNotifications(property(camelContext, java.lang.Boolean.class, 
value)); return true;
         case "sendupdates":
@@ -208,7 +208,7 @@ public class CalendarEventsEndpointConfigurationConfigurer 
extends org.apache.ca
         case "q": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "sendnotifications":
         case "sendNotifications": return java.lang.Boolean.class;
         case "sendupdates":
@@ -325,13 +325,5 @@ public class CalendarEventsEndpointConfigurationConfigurer 
extends org.apache.ca
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfigurationConfigurer.java
index 8c4295f7a18..584d877b423 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarFreebusyEndpointConfigurationConfigurer.java
@@ -33,7 +33,7 @@ public class CalendarFreebusyEndpointConfigurationConfigurer 
extends org.apache.
         map.put("MethodName", java.lang.String.class);
         map.put("P12FileName", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("User", java.lang.String.class);
         ALL_OPTIONS = map;
@@ -63,7 +63,7 @@ public class CalendarFreebusyEndpointConfigurationConfigurer 
extends org.apache.
         case "p12FileName": target.setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "user": target.setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -99,7 +99,7 @@ public class CalendarFreebusyEndpointConfigurationConfigurer 
extends org.apache.
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -138,13 +138,5 @@ public class 
CalendarFreebusyEndpointConfigurationConfigurer extends org.apache.
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfigurationConfigurer.java
index 02903f5729a..e773e101478 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/CalendarSettingsEndpointConfigurationConfigurer.java
@@ -35,7 +35,7 @@ public class CalendarSettingsEndpointConfigurationConfigurer 
extends org.apache.
         map.put("P12FileName", java.lang.String.class);
         map.put("PageToken", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("Setting", java.lang.String.class);
         map.put("SyncToken", java.lang.String.class);
@@ -72,7 +72,7 @@ public class CalendarSettingsEndpointConfigurationConfigurer 
extends org.apache.
         case "pageToken": target.setPageToken(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "setting": target.setSetting(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -116,7 +116,7 @@ public class 
CalendarSettingsEndpointConfigurationConfigurer extends org.apache.
         case "pageToken": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "setting": return java.lang.String.class;
@@ -166,13 +166,5 @@ public class 
CalendarSettingsEndpointConfigurationConfigurer extends org.apache.
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarComponentConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarComponentConfigurer.java
index f258b1314be..e63be24cb5f 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarComponentConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarComponentConfigurer.java
@@ -26,7 +26,7 @@ public class GoogleCalendarComponentConfigurer extends 
PropertyConfigurerSupport
         map.put("ClientId", java.lang.String.class);
         map.put("Configuration", 
org.apache.camel.component.google.calendar.GoogleCalendarConfiguration.class);
         map.put("Delegate", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("BridgeErrorHandler", boolean.class);
         map.put("LazyStartProducer", boolean.class);
         map.put("AutowiredEnabled", boolean.class);
@@ -76,7 +76,7 @@ public class GoogleCalendarComponentConfigurer extends 
PropertyConfigurerSupport
         case "p12FileName": 
getOrCreateConfiguration(target).setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": 
getOrCreateConfiguration(target).setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": 
getOrCreateConfiguration(target).setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": 
getOrCreateConfiguration(target).setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
getOrCreateConfiguration(target).setServiceAccountKey(property(camelContext, 
java.lang.String.class, value)); return true;
         case "user": 
getOrCreateConfiguration(target).setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -116,7 +116,7 @@ public class GoogleCalendarComponentConfigurer extends 
PropertyConfigurerSupport
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -159,13 +159,5 @@ public class GoogleCalendarComponentConfigurer extends 
PropertyConfigurerSupport
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarConfigurationConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarConfigurationConfigurer.java
index 1737a032d7e..549da829cd8 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarConfigurationConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarConfigurationConfigurer.java
@@ -32,7 +32,7 @@ public class GoogleCalendarConfigurationConfigurer extends 
org.apache.camel.supp
         map.put("MethodName", java.lang.String.class);
         map.put("P12FileName", java.lang.String.class);
         map.put("RefreshToken", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("ServiceAccountKey", java.lang.String.class);
         map.put("User", java.lang.String.class);
         ALL_OPTIONS = map;
@@ -61,7 +61,7 @@ public class GoogleCalendarConfigurationConfigurer extends 
org.apache.camel.supp
         case "p12FileName": target.setP12FileName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "refreshtoken":
         case "refreshToken": target.setRefreshToken(property(camelContext, 
java.lang.String.class, value)); return true;
-        case "scopes": target.setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": target.setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "serviceaccountkey":
         case "serviceAccountKey": 
target.setServiceAccountKey(property(camelContext, java.lang.String.class, 
value)); return true;
         case "user": target.setUser(property(camelContext, 
java.lang.String.class, value)); return true;
@@ -96,7 +96,7 @@ public class GoogleCalendarConfigurationConfigurer extends 
org.apache.camel.supp
         case "p12FileName": return java.lang.String.class;
         case "refreshtoken":
         case "refreshToken": return java.lang.String.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "serviceaccountkey":
         case "serviceAccountKey": return java.lang.String.class;
         case "user": return java.lang.String.class;
@@ -134,13 +134,5 @@ public class GoogleCalendarConfigurationConfigurer extends 
org.apache.camel.supp
         default: return null;
         }
     }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean 
ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "scopes": return java.lang.String.class;
-        default: return null;
-        }
-    }
 }
 
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpointConfigurer.java
 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpointConfigurer.java
index 65ba3b1e7c7..d9a2e72ba9b 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpointConfigurer.java
+++ 
b/components/camel-google/camel-google-calendar/src/generated/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpointConfigurer.java
@@ -28,7 +28,7 @@ public class GoogleCalendarEndpointConfigurer extends 
PropertyConfigurerSupport
         map.put("ClientId", java.lang.String.class);
         map.put("Delegate", java.lang.String.class);
         map.put("InBody", java.lang.String.class);
-        map.put("Scopes", java.util.List.class);
+        map.put("Scopes", java.lang.String.class);
         map.put("SendEmptyMessageWhenIdle", boolean.class);
         map.put("BridgeErrorHandler", boolean.class);
         map.put("ExceptionHandler", 
org.apache.camel.spi.ExceptionHandler.class);
@@ -109,7 +109,7 @@ public class GoogleCalendarEndpointConfigurer extends 
PropertyConfigurerSupport
         case "scheduler": target.setScheduler(property(camelContext, 
java.lang.Object.class, value)); return true;
         case "schedulerproperties":
         case "schedulerProperties": 
target.setSchedulerProperties(property(camelContext, java.util.Map.class, 
value)); return true;
-        case "scopes": 
target.getConfiguration().setScopes(property(camelContext, 
java.util.List.class, value)); return true;
+        case "scopes": 
target.getConfiguration().setScopes(property(camelContext, 
java.lang.String.class, value)); return true;
         case "sendemptymessagewhenidle":
         case "sendEmptyMessageWhenIdle": 
target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class, 
value)); return true;
         case "serviceaccountkey":
@@ -179,7 +179,7 @@ public class GoogleCalendarEndpointConfigurer extends 
PropertyConfigurerSupport
         case "scheduler": return java.lang.Object.class;
         case "schedulerproperties":
         case "schedulerProperties": return java.util.Map.class;
-        case "scopes": return java.util.List.class;
+        case "scopes": return java.lang.String.class;
         case "sendemptymessagewhenidle":
         case "sendEmptyMessageWhenIdle": return boolean.class;
         case "serviceaccountkey":
@@ -266,7 +266,6 @@ public class GoogleCalendarEndpointConfigurer extends 
PropertyConfigurerSupport
         switch (ignoreCase ? name.toLowerCase() : name) {
         case "schedulerproperties":
         case "schedulerProperties": return java.lang.Object.class;
-        case "scopes": return java.lang.String.class;
         default: return null;
         }
     }
diff --git 
a/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json
 
b/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json
index f1533bd1e6d..fd2cbdef8e4 100644
--- 
a/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json
+++ 
b/components/camel-google/camel-google-calendar/src/generated/resources/META-INF/org/apache/camel/component/google/calendar/google-calendar.json
@@ -29,7 +29,7 @@
     "clientId": { "index": 1, "kind": "property", "displayName": "Client Id", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Client ID of the 
calendar application" },
     "configuration": { "index": 2, "kind": "property", "displayName": 
"Configuration", "group": "common", "label": "", "required": false, "type": 
"object", "javaType": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use the shared configuration" },
     "delegate": { "index": 3, "kind": "property", "displayName": "Delegate", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Delegate for wide-domain 
service account" },
-    "scopes": { "index": 4, "kind": "property", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permiss [...]
+    "scopes": { "index": 4, "kind": "property", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permissions you want a [...]
     "bridgeErrorHandler": { "index": 5, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Allows for bridging the consumer to the Camel routing Error Handler, which 
mean any exceptions (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 6, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
     "autowiredEnabled": { "index": 7, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching t [...]
@@ -49,7 +49,7 @@
     "clientId": { "index": 3, "kind": "parameter", "displayName": "Client Id", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Client ID of the 
calendar application" },
     "delegate": { "index": 4, "kind": "parameter", "displayName": "Delegate", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Delegate for wide-domain 
service account" },
     "inBody": { "index": 5, "kind": "parameter", "displayName": "In Body", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Sets the name of a parameter to be passed in 
the exchange In Body" },
-    "scopes": { "index": 6, "kind": "parameter", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "array", "javaType": 
"java.util.List<java.lang.String>", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permis [...]
+    "scopes": { "index": 6, "kind": "parameter", "displayName": "Scopes", 
"group": "common", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"https:\/\/www.googleapis.com\/auth\/calendar", "configurationClass": 
"org.apache.camel.component.google.calendar.GoogleCalendarConfiguration", 
"configurationField": "configuration", "description": "Specifies the level of 
permissions you want  [...]
     "sendEmptyMessageWhenIdle": { "index": 7, "kind": "parameter", 
"displayName": "Send Empty Message When Idle", "group": "consumer", "label": 
"consumer", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
false, "description": "If the polling consumer did not poll any files, you can 
enable this option to send an empty message (no body) instead." },
     "bridgeErrorHandler": { "index": 8, "kind": "parameter", "displayName": 
"Bridge Error Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions (if possible) occurred 
while the Camel consumer is trying to pickup incoming  [...]
     "exceptionHandler": { "index": 9, "kind": "parameter", "displayName": 
"Exception Handler", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By def [...]
diff --git 
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
 
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
index b97637367d6..902a6fc6853 100644
--- 
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
+++ 
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
@@ -53,11 +53,12 @@ public class GoogleCalendarComponent
         if (client == null) {
             if (config.getClientId() != null && !config.getClientId().isBlank()
                     && config.getClientSecret() != null && 
!config.getClientSecret().isBlank()) {
-                client = getClientFactory().makeClient(config.getClientId(), 
config.getClientSecret(), config.getScopes(),
+                client = getClientFactory().makeClient(config.getClientId(), 
config.getClientSecret(), config.getScopesAsList(),
                         config.getApplicationName(), config.getRefreshToken(),
                         config.getAccessToken(), config.getEmailAddress(), 
config.getP12FileName(), config.getUser());
             } else if (config.getServiceAccountKey() != null && 
!config.getServiceAccountKey().isBlank()) {
-                client = getClientFactory().makeClient(getCamelContext(), 
config.getServiceAccountKey(), config.getScopes(),
+                client = getClientFactory().makeClient(getCamelContext(), 
config.getServiceAccountKey(),
+                        config.getScopesAsList(),
                         config.getApplicationName(), config.getDelegate());
             } else {
                 throw new IllegalArgumentException(
diff --git 
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
 
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
index 8b8ce1e4479..ee56a80f4d6 100644
--- 
a/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
+++ 
b/components/camel-google/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.google.calendar;
 
+import java.util.Collection;
 import java.util.List;
 
 import com.google.api.services.calendar.CalendarScopes;
@@ -40,7 +41,7 @@ public class GoogleCalendarConfiguration {
     @Metadata(required = true)
     private String methodName;
     @UriParam(defaultValue = CalendarScopes.CALENDAR)
-    private List<String> scopes;
+    private String scopes;
     @UriParam
     private String clientId;
     @UriParam
@@ -152,15 +153,26 @@ public class GoogleCalendarConfiguration {
         this.applicationName = applicationName;
     }
 
-    public List<String> getScopes() {
+    public String getScopes() {
         return scopes;
     }
 
+    public Collection<String> getScopesAsList() {
+        if (scopes != null) {
+            return List.of(scopes.split(","));
+        } else {
+            return null;
+        }
+    }
+
     /**
-     * Specifies the level of permissions you want a calendar application to 
have to a user account. You can separate
-     * multiple scopes by comma. See 
https://developers.google.com/google-apps/calendar/auth for more info.
+     * Specifies the level of permissions you want a calendar application to 
have to a user account. See
+     * https://developers.google.com/identity/protocols/googlescopes for more 
info. Multiple scopes can be separated by
+     * comma.
+     *
+     * @see com.google.api.services.calendar.CalendarScopes
      */
-    public void setScopes(List<String> scopes) {
+    public void setScopes(String scopes) {
         this.scopes = scopes;
     }
 
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleCalendarComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleCalendarComponentBuilderFactory.java
index d0316defc0f..2cdadf111d9 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleCalendarComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/GoogleCalendarComponentBuilderFactory.java
@@ -115,12 +115,11 @@ public interface GoogleCalendarComponentBuilderFactory {
         
         /**
          * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
+         * have to a user account. See
+         * https://developers.google.com/identity/protocols/googlescopes for
+         * more info. Multiple scopes can be separated by comma.
          * 
-         * The option is a:
-         * 
&lt;code&gt;java.util.List&amp;lt;java.lang.String&amp;gt;&lt;/code&gt; type.
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
          * Default: https://www.googleapis.com/auth/calendar
          * Group: common
@@ -128,7 +127,7 @@ public interface GoogleCalendarComponentBuilderFactory {
          * @param scopes the value to set
          * @return the dsl builder
          */
-        default GoogleCalendarComponentBuilder 
scopes(java.util.List<java.lang.String> scopes) {
+        default GoogleCalendarComponentBuilder scopes(java.lang.String scopes) 
{
             doSetProperty("scopes", scopes);
             return this;
         }
@@ -360,7 +359,7 @@ public interface GoogleCalendarComponentBuilderFactory {
             case "clientId": 
getOrCreateConfiguration((GoogleCalendarComponent) 
component).setClientId((java.lang.String) value); return true;
             case "configuration": ((GoogleCalendarComponent) 
component).setConfiguration((org.apache.camel.component.google.calendar.GoogleCalendarConfiguration)
 value); return true;
             case "delegate": 
getOrCreateConfiguration((GoogleCalendarComponent) 
component).setDelegate((java.lang.String) value); return true;
-            case "scopes": getOrCreateConfiguration((GoogleCalendarComponent) 
component).setScopes((java.util.List) value); return true;
+            case "scopes": getOrCreateConfiguration((GoogleCalendarComponent) 
component).setScopes((java.lang.String) value); return true;
             case "bridgeErrorHandler": ((GoogleCalendarComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((GoogleCalendarComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "autowiredEnabled": ((GoogleCalendarComponent) 
component).setAutowiredEnabled((boolean) value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarEndpointBuilderFactory.java
index d74061e9d73..0aed5a988c8 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/GoogleCalendarEndpointBuilderFactory.java
@@ -102,31 +102,11 @@ public interface GoogleCalendarEndpointBuilderFactory {
         }
         /**
          * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
+         * have to a user account. See
+         * https://developers.google.com/identity/protocols/googlescopes for
+         * more info. Multiple scopes can be separated by comma.
          * 
-         * The option is a: <code>java.util.List&lt;java.lang.String&gt;</code>
-         * type.
-         * 
-         * Default: https://www.googleapis.com/auth/calendar
-         * Group: common
-         * 
-         * @param scopes the value to set
-         * @return the dsl builder
-         */
-        default GoogleCalendarEndpointConsumerBuilder 
scopes(List<java.lang.String> scopes) {
-            doSetProperty("scopes", scopes);
-            return this;
-        }
-        /**
-         * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
-         * 
-         * The option will be converted to a
-         * <code>java.util.List&lt;java.lang.String&gt;</code> type.
+         * The option is a: <code>java.lang.String</code> type.
          * 
          * Default: https://www.googleapis.com/auth/calendar
          * Group: common
@@ -966,31 +946,11 @@ public interface GoogleCalendarEndpointBuilderFactory {
         }
         /**
          * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
-         * 
-         * The option is a: <code>java.util.List&lt;java.lang.String&gt;</code>
-         * type.
-         * 
-         * Default: https://www.googleapis.com/auth/calendar
-         * Group: common
-         * 
-         * @param scopes the value to set
-         * @return the dsl builder
-         */
-        default GoogleCalendarEndpointProducerBuilder 
scopes(List<java.lang.String> scopes) {
-            doSetProperty("scopes", scopes);
-            return this;
-        }
-        /**
-         * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
+         * have to a user account. See
+         * https://developers.google.com/identity/protocols/googlescopes for
+         * more info. Multiple scopes can be separated by comma.
          * 
-         * The option will be converted to a
-         * <code>java.util.List&lt;java.lang.String&gt;</code> type.
+         * The option is a: <code>java.lang.String</code> type.
          * 
          * Default: https://www.googleapis.com/auth/calendar
          * Group: common
@@ -1234,31 +1194,11 @@ public interface GoogleCalendarEndpointBuilderFactory {
         }
         /**
          * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
-         * 
-         * The option is a: <code>java.util.List&lt;java.lang.String&gt;</code>
-         * type.
-         * 
-         * Default: https://www.googleapis.com/auth/calendar
-         * Group: common
-         * 
-         * @param scopes the value to set
-         * @return the dsl builder
-         */
-        default GoogleCalendarEndpointBuilder scopes(List<java.lang.String> 
scopes) {
-            doSetProperty("scopes", scopes);
-            return this;
-        }
-        /**
-         * Specifies the level of permissions you want a calendar application 
to
-         * have to a user account. You can separate multiple scopes by comma.
-         * See https://developers.google.com/google-apps/calendar/auth for more
-         * info.
+         * have to a user account. See
+         * https://developers.google.com/identity/protocols/googlescopes for
+         * more info. Multiple scopes can be separated by comma.
          * 
-         * The option will be converted to a
-         * <code>java.util.List&lt;java.lang.String&gt;</code> type.
+         * The option is a: <code>java.lang.String</code> type.
          * 
          * Default: https://www.googleapis.com/auth/calendar
          * Group: common

Reply via email to