This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-17339-dapr in repository https://gitbox.apache.org/repos/asf/camel.git
commit 67b6922ba7b7ace579f67ecf2ef90e6c73e8eee3 Author: Andrea Cosentino <[email protected]> AuthorDate: Fri Jul 18 12:07:31 2025 +0200 CAMEL-17339 - Avoid List<String> as configuration parameter types in Endpoint configurations - Camel Dapr Signed-off-by: Andrea Cosentino <[email protected]> --- .../org/apache/camel/catalog/components/dapr.json | 6 +-- .../component/dapr/DaprComponentConfigurer.java | 13 +---- .../component/dapr/DaprEndpointConfigurer.java | 13 +---- .../org/apache/camel/component/dapr/dapr.json | 6 +-- .../camel/component/dapr/DaprConfiguration.java | 16 +++++-- .../dapr/DaprConfigurationOptionsProxy.java | 6 ++- .../apache/camel/component/dapr/DaprConstants.java | 2 +- .../camel/component/dapr/DaprExchangeHeaders.java | 4 +- .../dapr/consumer/DaprConfigurationConsumer.java | 2 +- .../dapr/operations/DaprConfigurationHandler.java | 4 +- .../consumer/DaprConfigurationConsumerTest.java | 3 +- .../dapr/operations/DaprConfigurationTest.java | 5 +- .../org/apache/camel/spi/GroovyScriptCompiler.java | 8 ++-- .../camel/main/DefaultConfigurationProperties.java | 9 ++-- .../scan/DefaultPackageScanResourceResolver.java | 4 +- .../component/dsl/DaprComponentBuilderFactory.java | 7 ++- .../endpoint/dsl/DaprEndpointBuilderFactory.java | 56 ++-------------------- 17 files changed, 52 insertions(+), 112 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/dapr.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/dapr.json index 001cdd9244a..d58fd9e6d26 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/dapr.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/dapr.json @@ -24,7 +24,7 @@ "remote": true }, "componentProperties": { - "configKeys": { "index": 0, "kind": "property", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, + "configKeys": { "index": 0, "kind": "property", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, "configStore": { "index": 1, "kind": "property", "displayName": "Config Store", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr configuration store to interact with, defined in statestore.yaml config" }, "configuration": { "index": 2, "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.dapr.DaprConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configurations" }, "contentType": { "index": 3, "kind": "property", "displayName": "Content Type", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The contentType for the Pub\/Sub component to use." }, @@ -81,13 +81,13 @@ "CamelDaprTraceState": { "index": 29, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Gets additional vendor-specific trace context", "constantName": "org.apache.camel.component.dapr.DaprConstants#TRACE_STATE" }, "CamelDaprBindingName": { "index": 30, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the Dapr binding to invoke", "constantName": "org.apache.camel.component.dapr.DaprConstants#BINDING_NAME" }, "CamelDaprBindingOperation": { "index": 31, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation to perform on the binding", "constantName": "org.apache.camel.component.dapr.DaprConstants#BINDING_OPERATION" }, - "CamelDaprConfigKeys": { "index": 32, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "List<String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of keys for configuration operation", "constantName": "org.apache.camel.component.dapr.DaprConstants#CONFIG_KEYS" }, + "CamelDaprConfigKeys": { "index": 32, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of keys for configuration operation", "constantName": "org.apache.camel.component.dapr.DaprConstants#CONFIG_KEYS" }, "CamelDaprSubscriptionId": { "index": 33, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id for configuration change subscription", "constantName": "org.apache.camel.component.dapr.DaprConstants#SUBSCRIPTION_ID" }, "CamelDaprRawConfigResponse": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "Map<String, io.dapr.client.domain.ConfigurationItem", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The raw configuration update response", "constantName": "org.apache.camel.component.dapr.DaprConstants#RAW_CONFIG_RESPONSE" } }, "properties": { "operation": { "index": 0, "kind": "path", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.dapr.DaprOperation", "enum": [ "invokeService", "state" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The Dapr building block opera [...] - "configKeys": { "index": 1, "kind": "parameter", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, + "configKeys": { "index": 1, "kind": "parameter", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, "configStore": { "index": 2, "kind": "parameter", "displayName": "Config Store", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr configuration store to interact with, defined in statestore.yaml config" }, "contentType": { "index": 3, "kind": "parameter", "displayName": "Content Type", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The contentType for the Pub\/Sub component to use." }, "pubSubName": { "index": 4, "kind": "parameter", "displayName": "Pub Sub Name", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr Pub\/Sub component to use. This identifies which underlying messaging system Dapr will inter [...] diff --git a/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprComponentConfigurer.java b/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprComponentConfigurer.java index e44296d8749..647d63e4261 100644 --- a/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprComponentConfigurer.java +++ b/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprComponentConfigurer.java @@ -40,7 +40,7 @@ public class DaprComponentConfigurer extends PropertyConfigurerSupport implement case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true; case "concurrency": getOrCreateConfiguration(target).setConcurrency(property(camelContext, io.dapr.client.domain.StateOptions.Concurrency.class, value)); return true; case "configkeys": - case "configKeys": getOrCreateConfiguration(target).setConfigKeys(property(camelContext, java.util.List.class, value)); return true; + case "configKeys": getOrCreateConfiguration(target).setConfigKeys(property(camelContext, java.lang.String.class, value)); return true; case "configstore": case "configStore": getOrCreateConfiguration(target).setConfigStore(property(camelContext, java.lang.String.class, value)); return true; case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.dapr.DaprConfiguration.class, value)); return true; @@ -92,7 +92,7 @@ public class DaprComponentConfigurer extends PropertyConfigurerSupport implement case "bridgeErrorHandler": return boolean.class; case "concurrency": return io.dapr.client.domain.StateOptions.Concurrency.class; case "configkeys": - case "configKeys": return java.util.List.class; + case "configKeys": return java.lang.String.class; case "configstore": case "configStore": return java.lang.String.class; case "configuration": return org.apache.camel.component.dapr.DaprConfiguration.class; @@ -173,14 +173,5 @@ public class DaprComponentConfigurer extends PropertyConfigurerSupport implement default: return null; } } - - @Override - public Object getCollectionValueType(Object target, String name, boolean ignoreCase) { - switch (ignoreCase ? name.toLowerCase() : name) { - case "configkeys": - case "configKeys": return java.lang.String.class; - default: return null; - } - } } diff --git a/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprEndpointConfigurer.java b/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprEndpointConfigurer.java index 27b8953de24..4e685ce9396 100644 --- a/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprEndpointConfigurer.java +++ b/components/camel-dapr/src/generated/java/org/apache/camel/component/dapr/DaprEndpointConfigurer.java @@ -31,7 +31,7 @@ public class DaprEndpointConfigurer extends PropertyConfigurerSupport implements case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true; case "concurrency": target.getConfiguration().setConcurrency(property(camelContext, io.dapr.client.domain.StateOptions.Concurrency.class, value)); return true; case "configkeys": - case "configKeys": target.getConfiguration().setConfigKeys(property(camelContext, java.util.List.class, value)); return true; + case "configKeys": target.getConfiguration().setConfigKeys(property(camelContext, java.lang.String.class, value)); return true; case "configstore": case "configStore": target.getConfiguration().setConfigStore(property(camelContext, java.lang.String.class, value)); return true; case "consistency": target.getConfiguration().setConsistency(property(camelContext, io.dapr.client.domain.StateOptions.Consistency.class, value)); return true; @@ -84,7 +84,7 @@ public class DaprEndpointConfigurer extends PropertyConfigurerSupport implements case "bridgeErrorHandler": return boolean.class; case "concurrency": return io.dapr.client.domain.StateOptions.Concurrency.class; case "configkeys": - case "configKeys": return java.util.List.class; + case "configKeys": return java.lang.String.class; case "configstore": case "configStore": return java.lang.String.class; case "consistency": return io.dapr.client.domain.StateOptions.Consistency.class; @@ -169,14 +169,5 @@ public class DaprEndpointConfigurer extends PropertyConfigurerSupport implements default: return null; } } - - @Override - public Object getCollectionValueType(Object target, String name, boolean ignoreCase) { - switch (ignoreCase ? name.toLowerCase() : name) { - case "configkeys": - case "configKeys": return java.lang.String.class; - default: return null; - } - } } diff --git a/components/camel-dapr/src/generated/resources/META-INF/org/apache/camel/component/dapr/dapr.json b/components/camel-dapr/src/generated/resources/META-INF/org/apache/camel/component/dapr/dapr.json index 001cdd9244a..d58fd9e6d26 100644 --- a/components/camel-dapr/src/generated/resources/META-INF/org/apache/camel/component/dapr/dapr.json +++ b/components/camel-dapr/src/generated/resources/META-INF/org/apache/camel/component/dapr/dapr.json @@ -24,7 +24,7 @@ "remote": true }, "componentProperties": { - "configKeys": { "index": 0, "kind": "property", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, + "configKeys": { "index": 0, "kind": "property", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, "configStore": { "index": 1, "kind": "property", "displayName": "Config Store", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr configuration store to interact with, defined in statestore.yaml config" }, "configuration": { "index": 2, "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.dapr.DaprConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configurations" }, "contentType": { "index": 3, "kind": "property", "displayName": "Content Type", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The contentType for the Pub\/Sub component to use." }, @@ -81,13 +81,13 @@ "CamelDaprTraceState": { "index": 29, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Gets additional vendor-specific trace context", "constantName": "org.apache.camel.component.dapr.DaprConstants#TRACE_STATE" }, "CamelDaprBindingName": { "index": 30, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the Dapr binding to invoke", "constantName": "org.apache.camel.component.dapr.DaprConstants#BINDING_NAME" }, "CamelDaprBindingOperation": { "index": 31, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The operation to perform on the binding", "constantName": "org.apache.camel.component.dapr.DaprConstants#BINDING_OPERATION" }, - "CamelDaprConfigKeys": { "index": 32, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "List<String>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of keys for configuration operation", "constantName": "org.apache.camel.component.dapr.DaprConstants#CONFIG_KEYS" }, + "CamelDaprConfigKeys": { "index": 32, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "List of keys for configuration operation", "constantName": "org.apache.camel.component.dapr.DaprConstants#CONFIG_KEYS" }, "CamelDaprSubscriptionId": { "index": 33, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The id for configuration change subscription", "constantName": "org.apache.camel.component.dapr.DaprConstants#SUBSCRIPTION_ID" }, "CamelDaprRawConfigResponse": { "index": 34, "kind": "header", "displayName": "", "group": "common", "label": "common", "required": false, "javaType": "Map<String, io.dapr.client.domain.ConfigurationItem", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The raw configuration update response", "constantName": "org.apache.camel.component.dapr.DaprConstants#RAW_CONFIG_RESPONSE" } }, "properties": { "operation": { "index": 0, "kind": "path", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.dapr.DaprOperation", "enum": [ "invokeService", "state" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The Dapr building block opera [...] - "configKeys": { "index": 1, "kind": "parameter", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "array", "javaType": "java.util.List<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, + "configKeys": { "index": 1, "kind": "parameter", "displayName": "Config Keys", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "List of keys for configuration operation" }, "configStore": { "index": 2, "kind": "parameter", "displayName": "Config Store", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr configuration store to interact with, defined in statestore.yaml config" }, "contentType": { "index": 3, "kind": "parameter", "displayName": "Content Type", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The contentType for the Pub\/Sub component to use." }, "pubSubName": { "index": 4, "kind": "parameter", "displayName": "Pub Sub Name", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.dapr.DaprConfiguration", "configurationField": "configuration", "description": "The name of the Dapr Pub\/Sub component to use. This identifies which underlying messaging system Dapr will inter [...] diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfiguration.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfiguration.java index 005a70e5b86..3463781e339 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfiguration.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfiguration.java @@ -84,7 +84,7 @@ public class DaprConfiguration implements Cloneable { @UriParam(label = "producer", description = "The operation to perform on the binding") private String bindingOperation; @UriParam(label = "common", description = "List of keys for configuration operation") - private List<String> configKeys; + private String configKeys; /** * The Dapr <b>building block operation</b> to perform with this component @@ -335,13 +335,21 @@ public class DaprConfiguration implements Cloneable { } /** - * List of <b>keys</b> for configuration operation. + * Comma separated list of <b>keys</b> for configuration operation. */ - public List<String> getConfigKeys() { + public String getConfigKeys() { return configKeys; } - public void setConfigKeys(List<String> configKeys) { + public List<String> getConfigKeysAsList() { + if (configKeys != null) { + return List.of(configKeys.split(",")); + } else { + return null; + } + } + + public void setConfigKeys(String configKeys) { this.configKeys = configKeys; } diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfigurationOptionsProxy.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfigurationOptionsProxy.java index 1fe7d5b6085..182e406615b 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfigurationOptionsProxy.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConfigurationOptionsProxy.java @@ -137,10 +137,14 @@ public class DaprConfigurationOptionsProxy { return getOption(DaprExchangeHeaders::getBindingOperationFromHeaders, configuration::getBindingOperation, exchange); } - public List<String> getConfigKeys(final Exchange exchange) { + public String getConfigKeys(final Exchange exchange) { return getOption(DaprExchangeHeaders::getConfigKeysFromHeaders, configuration::getConfigKeys, exchange); } + public List<String> getConfigKeysAsList(final Exchange exchange) { + return configuration.getConfigKeysAsList(); + } + private <R> R getOption(final Function<Exchange, R> exchangeFn, final Supplier<R> fallbackFn, final Exchange exchange) { // we first try to look if our value in exchange otherwise fallback to fallbackFn which could be either a function or constant return ObjectHelper.isEmpty(exchange) || ObjectHelper.isEmpty(exchangeFn.apply(exchange)) diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConstants.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConstants.java index 5cdcc047f80..4b1c7c5eb6b 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConstants.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprConstants.java @@ -122,7 +122,7 @@ public class DaprConstants { public static final String BINDING_NAME = HEADER_PREFIX + "BindingName"; @Metadata(label = "producer", description = "The operation to perform on the binding", javaType = "String") public static final String BINDING_OPERATION = HEADER_PREFIX + "BindingOperation"; - @Metadata(label = "producer", description = "List of keys for configuration operation", javaType = "List<String>") + @Metadata(label = "producer", description = "List of keys for configuration operation", javaType = "String") public static final String CONFIG_KEYS = HEADER_PREFIX + "ConfigKeys"; @Metadata(label = "consumer", description = "The id for configuration change subscription", javaType = "String") public static final String SUBSCRIPTION_ID = HEADER_PREFIX + "SubscriptionId"; diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprExchangeHeaders.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprExchangeHeaders.java index a326eebb4fa..5def06d2037 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprExchangeHeaders.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/DaprExchangeHeaders.java @@ -128,8 +128,8 @@ public class DaprExchangeHeaders { } @SuppressWarnings("unchecked") - public static List<String> getConfigKeysFromHeaders(final Exchange exchange) { - return getObjectFromHeaders(exchange, DaprConstants.CONFIG_KEYS, List.class); + public static String getConfigKeysFromHeaders(final Exchange exchange) { + return getObjectFromHeaders(exchange, DaprConstants.CONFIG_KEYS, String.class); } private static <T> T getObjectFromHeaders(final Exchange exchange, final String headerName, final Class<T> classType) { diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumer.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumer.java index 7c522ac976c..237316e6cc7 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumer.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumer.java @@ -46,7 +46,7 @@ public class DaprConfigurationConsumer extends DefaultConsumer { public DaprConfigurationConsumer(final DaprEndpoint endpoint, final Processor processor) { super(endpoint, processor); configStore = endpoint.getConfiguration().getConfigStore(); - configKeys = endpoint.getConfiguration().getConfigKeys(); + configKeys = endpoint.getConfiguration().getConfigKeysAsList(); client = endpoint.getClient(); } diff --git a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprConfigurationHandler.java b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprConfigurationHandler.java index 8596e57f154..9fb8e22a1ae 100644 --- a/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprConfigurationHandler.java +++ b/components/camel-dapr/src/main/java/org/apache/camel/component/dapr/operations/DaprConfigurationHandler.java @@ -37,7 +37,7 @@ public class DaprConfigurationHandler implements DaprOperationHandler { @Override public DaprOperationResponse handle(Exchange exchange, DaprClient client) { String configStore = configurationOptionsProxy.getConfigStore(exchange); - List<String> configKeys = configurationOptionsProxy.getConfigKeys(exchange); + List<String> configKeys = configurationOptionsProxy.getConfigKeysAsList(exchange); Map<String, String> metadata = configurationOptionsProxy.getMetadata(exchange); GetConfigurationRequest configRequest = new GetConfigurationRequest(configStore, configKeys); @@ -51,7 +51,7 @@ public class DaprConfigurationHandler implements DaprOperationHandler { @Override public void validateConfiguration(Exchange exchange) { String configStore = configurationOptionsProxy.getConfigStore(exchange); - List<String> configKeys = configurationOptionsProxy.getConfigKeys(exchange); + String configKeys = configurationOptionsProxy.getConfigKeys(exchange); if (ObjectHelper.isEmpty(configStore) || ObjectHelper.isEmpty(configKeys)) { throw new IllegalArgumentException("configStore and configKeys are mandatory for get configuration operation"); diff --git a/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumerTest.java b/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumerTest.java index 8295a7ae767..544d21b7936 100644 --- a/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumerTest.java +++ b/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/consumer/DaprConfigurationConsumerTest.java @@ -17,7 +17,6 @@ package org.apache.camel.component.dapr.consumer; import java.util.HashMap; -import java.util.List; import java.util.Map; import io.dapr.client.DaprClient; @@ -63,7 +62,7 @@ public class DaprConfigurationConsumerTest extends CamelTestSupport { private final ArgumentCaptor<AsyncCallback> callbackCaptor = ArgumentCaptor.forClass(AsyncCallback.class); private DaprConfigurationConsumer consumer; - private final List<String> configKeys = List.of("myKey1", "myKey2"); + private final String configKeys = "myKey1,myKey2"; @BeforeEach void beforeEach() throws Exception { diff --git a/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/operations/DaprConfigurationTest.java b/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/operations/DaprConfigurationTest.java index e5067f1912a..da344606a8d 100644 --- a/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/operations/DaprConfigurationTest.java +++ b/components/camel-dapr/src/test/java/org/apache/camel/component/dapr/operations/DaprConfigurationTest.java @@ -16,7 +16,6 @@ */ package org.apache.camel.component.dapr.operations; -import java.util.List; import java.util.Map; import io.dapr.client.DaprClient; @@ -58,7 +57,7 @@ public class DaprConfigurationTest extends CamelTestSupport { DaprConfiguration configuration = new DaprConfiguration(); configuration.setOperation(DaprOperation.configuration); configuration.setSecretStore("myStore"); - configuration.setConfigKeys(List.of("myKey")); + configuration.setConfigKeys("myKey"); DaprConfigurationOptionsProxy configurationOptionsProxy = new DaprConfigurationOptionsProxy(configuration); final Exchange exchange = new DefaultExchange(context); @@ -88,7 +87,7 @@ public class DaprConfigurationTest extends CamelTestSupport { assertThrows(IllegalArgumentException.class, () -> operation.validateConfiguration(exchange)); // case 3: valid configuration - configuration.setConfigKeys(List.of("myKey")); + configuration.setConfigKeys("myKey"); assertDoesNotThrow(() -> operation.validateConfiguration(exchange)); } } diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/GroovyScriptCompiler.java b/core/camel-api/src/main/java/org/apache/camel/spi/GroovyScriptCompiler.java index bdc1386b791..c9910dbc164 100644 --- a/core/camel-api/src/main/java/org/apache/camel/spi/GroovyScriptCompiler.java +++ b/core/camel-api/src/main/java/org/apache/camel/spi/GroovyScriptCompiler.java @@ -40,15 +40,13 @@ public interface GroovyScriptCompiler { /** * Whether to preload existing compiled Groovy sources from classpath and the {@link CompileStrategy#getWorkDir()}, - * on startup. This can be enabled to avoid compiling sources that already has been compiled during - * a build phase. + * on startup. This can be enabled to avoid compiling sources that already has been compiled during a build phase. */ void setPreloadCompiled(boolean preloadCompiled); /** - * Whether to preload existing compiled Groovy sources from the {@link CompileStrategy#getWorkDir()}, - * on startup. This can be enabled to avoid compiling sources that already has been compiled during - * a build phase. + * Whether to preload existing compiled Groovy sources from the {@link CompileStrategy#getWorkDir()}, on startup. + * This can be enabled to avoid compiling sources that already has been compiled during a build phase. */ boolean isPreloadCompiled(); diff --git a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java index 7e9eefadabb..3c4c944e465 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java @@ -1420,8 +1420,8 @@ public abstract class DefaultConfigurationProperties<T> { } /** - * Whether to preload existing compiled Groovy sources from the compileWorkDir option on startup. - * This can be enabled to avoid compiling sources that already has been compiled during a build phase. + * Whether to preload existing compiled Groovy sources from the compileWorkDir option on startup. This can be + * enabled to avoid compiling sources that already has been compiled during a build phase. */ public void setGroovyPreloadCompiled(boolean groovyPreloadCompiled) { this.groovyPreloadCompiled = groovyPreloadCompiled; @@ -2817,15 +2817,14 @@ public abstract class DefaultConfigurationProperties<T> { } /** - * Whether to preload existing compiled Groovy sources from the compileWorkDir option on startup. - * This can be enabled to avoid compiling sources that already has been compiled during a build phase. + * Whether to preload existing compiled Groovy sources from the compileWorkDir option on startup. This can be + * enabled to avoid compiling sources that already has been compiled during a build phase. */ public T withGroovyPreloadCompiled(boolean groovyPreloadCompiled) { this.groovyPreloadCompiled = groovyPreloadCompiled; return (T) this; } - /** * Whether to use cloud properties location setting. Default is none. */ diff --git a/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java b/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java index 9e853047405..c47a9a5d0d8 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/scan/DefaultPackageScanResourceResolver.java @@ -168,8 +168,8 @@ public class DefaultPackageScanResourceResolver extends BasePackageScanResolver } else { InputStream stream; if (urlPath.startsWith("http:") || urlPath.startsWith("https:") - || urlPath.startsWith("sonicfs:") - || isAcceptableScheme(urlPath)) { + || urlPath.startsWith("sonicfs:") + || isAcceptableScheme(urlPath)) { // load resources using http/https, sonicfs and other acceptable scheme // sonic ESB requires to be loaded using a regular URLConnection LOG.trace("Loading from jar using url: {}", urlPath); diff --git a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DaprComponentBuilderFactory.java b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DaprComponentBuilderFactory.java index 5aac854a5be..b83c279bca5 100644 --- a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DaprComponentBuilderFactory.java +++ b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DaprComponentBuilderFactory.java @@ -53,15 +53,14 @@ public interface DaprComponentBuilderFactory { /** * List of keys for configuration operation. * - * The option is a: - * <code>java.util.List&lt;java.lang.String&gt;</code> type. + * The option is a: <code>java.lang.String</code> type. * * Group: common * * @param configKeys the value to set * @return the dsl builder */ - default DaprComponentBuilder configKeys(java.util.List<java.lang.String> configKeys) { + default DaprComponentBuilder configKeys(java.lang.String configKeys) { doSetProperty("configKeys", configKeys); return this; } @@ -468,7 +467,7 @@ public interface DaprComponentBuilderFactory { String name, Object value) { switch (name) { - case "configKeys": getOrCreateConfiguration((DaprComponent) component).setConfigKeys((java.util.List) value); return true; + case "configKeys": getOrCreateConfiguration((DaprComponent) component).setConfigKeys((java.lang.String) value); return true; case "configStore": getOrCreateConfiguration((DaprComponent) component).setConfigStore((java.lang.String) value); return true; case "configuration": ((DaprComponent) component).setConfiguration((org.apache.camel.component.dapr.DaprConfiguration) value); return true; case "contentType": getOrCreateConfiguration((DaprComponent) component).setContentType((java.lang.String) value); return true; diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DaprEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DaprEndpointBuilderFactory.java index a17d8efbe43..5b0cb60a3fc 100644 --- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DaprEndpointBuilderFactory.java +++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DaprEndpointBuilderFactory.java @@ -46,23 +46,7 @@ public interface DaprEndpointBuilderFactory { /** * List of keys for configuration operation. * - * The option is a: <code>java.util.List<java.lang.String></code> - * type. - * - * Group: common - * - * @param configKeys the value to set - * @return the dsl builder - */ - default DaprEndpointConsumerBuilder configKeys(List<java.lang.String> configKeys) { - doSetProperty("configKeys", configKeys); - return this; - } - /** - * List of keys for configuration operation. - * - * The option will be converted to a - * <code>java.util.List<java.lang.String></code> type. + * The option is a: <code>java.lang.String</code> type. * * Group: common * @@ -305,23 +289,7 @@ public interface DaprEndpointBuilderFactory { /** * List of keys for configuration operation. * - * The option is a: <code>java.util.List<java.lang.String></code> - * type. - * - * Group: common - * - * @param configKeys the value to set - * @return the dsl builder - */ - default DaprEndpointProducerBuilder configKeys(List<java.lang.String> configKeys) { - doSetProperty("configKeys", configKeys); - return this; - } - /** - * List of keys for configuration operation. - * - * The option will be converted to a - * <code>java.util.List<java.lang.String></code> type. + * The option is a: <code>java.lang.String</code> type. * * Group: common * @@ -724,23 +692,7 @@ public interface DaprEndpointBuilderFactory { /** * List of keys for configuration operation. * - * The option is a: <code>java.util.List<java.lang.String></code> - * type. - * - * Group: common - * - * @param configKeys the value to set - * @return the dsl builder - */ - default DaprEndpointBuilder configKeys(List<java.lang.String> configKeys) { - doSetProperty("configKeys", configKeys); - return this; - } - /** - * List of keys for configuration operation. - * - * The option will be converted to a - * <code>java.util.List<java.lang.String></code> type. + * The option is a: <code>java.lang.String</code> type. * * Group: common * @@ -1300,7 +1252,7 @@ public interface DaprEndpointBuilderFactory { /** * List of keys for configuration operation. * - * The option is a: {@code List<String>} type. + * The option is a: {@code String} type. * * Group: producer *
