You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/10/02 16:53:04 UTC
[camel] 04/08: CAMEL-15603 - Camel-Infinispan: Support
Authentication through URI options, SASLMechanism option
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit fe344f3b155ba81339fca24f951a0d370f9098c5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Oct 2 17:20:45 2020 +0200
CAMEL-15603 - Camel-Infinispan: Support Authentication through URI options, SASLMechanism option
---
.../camel/catalog/docs/infinispan-component.adoc | 6 ++--
.../infinispan/InfinispanComponentConfigurer.java | 5 ++++
.../infinispan/InfinispanEndpointConfigurer.java | 5 ++++
.../infinispan/InfinispanEndpointUriFactory.java | 3 +-
.../camel/component/infinispan/infinispan.json | 2 ++
.../src/main/docs/infinispan-component.adoc | 6 ++--
.../infinispan/InfinispanConfiguration.java | 14 +++++++++
.../component/infinispan/InfinispanManager.java | 3 ++
.../InfinispanTestContainersProducerTest.java | 4 +--
.../dsl/InfinispanComponentBuilderFactory.java | 13 ++++++++
.../dsl/InfinispanEndpointBuilderFactory.java | 35 ++++++++++++++++++++++
.../modules/ROOT/pages/infinispan-component.adoc | 6 ++--
12 files changed, 93 insertions(+), 9 deletions(-)
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc
index 991d779..a21ffa9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/infinispan-component.adoc
@@ -63,7 +63,7 @@ If no cache configuration is provided, embedded cacheContainer is created direct
// component options: START
-The Infinispan component supports 26 options, which are listed below.
+The Infinispan component supports 27 options, which are listed below.
@@ -87,6 +87,7 @@ The Infinispan component supports 26 options, which are listed below.
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer
@@ -121,7 +122,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -145,6 +146,7 @@ with the following path and query parameters:
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanComponentConfigurer.java b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanComponentConfigurer.java
index e9597fe..d9abfe8 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanComponentConfigurer.java
+++ b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanComponentConfigurer.java
@@ -35,6 +35,7 @@ public class InfinispanComponentConfigurer extends PropertyConfigurerSupport imp
map.put("operation", org.apache.camel.component.infinispan.InfinispanOperation.class);
map.put("value", java.lang.Object.class);
map.put("password", java.lang.String.class);
+ map.put("saslMechanism", java.lang.String.class);
map.put("username", java.lang.String.class);
map.put("basicPropertyBinding", boolean.class);
map.put("cacheContainer", org.infinispan.commons.api.BasicCacheContainer.class);
@@ -95,6 +96,8 @@ public class InfinispanComponentConfigurer extends PropertyConfigurerSupport imp
case "remappingFunction": getOrCreateConfiguration(target).setRemappingFunction(property(camelContext, java.util.function.BiFunction.class, value)); return true;
case "resultheader":
case "resultHeader": getOrCreateConfiguration(target).setResultHeader(property(camelContext, java.lang.Object.class, value)); return true;
+ case "saslmechanism":
+ case "saslMechanism": getOrCreateConfiguration(target).setSaslMechanism(property(camelContext, java.lang.String.class, value)); return true;
case "secure": getOrCreateConfiguration(target).setSecure(property(camelContext, boolean.class, value)); return true;
case "sync": getOrCreateConfiguration(target).setSync(property(camelContext, boolean.class, value)); return true;
case "username": getOrCreateConfiguration(target).setUsername(property(camelContext, java.lang.String.class, value)); return true;
@@ -149,6 +152,8 @@ public class InfinispanComponentConfigurer extends PropertyConfigurerSupport imp
case "remappingFunction": return getOrCreateConfiguration(target).getRemappingFunction();
case "resultheader":
case "resultHeader": return getOrCreateConfiguration(target).getResultHeader();
+ case "saslmechanism":
+ case "saslMechanism": return getOrCreateConfiguration(target).getSaslMechanism();
case "secure": return getOrCreateConfiguration(target).isSecure();
case "sync": return getOrCreateConfiguration(target).isSync();
case "username": return getOrCreateConfiguration(target).getUsername();
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointConfigurer.java b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointConfigurer.java
index 96e8cb9..3257822 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointConfigurer.java
+++ b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointConfigurer.java
@@ -37,6 +37,7 @@ public class InfinispanEndpointConfigurer extends PropertyConfigurerSupport impl
map.put("operation", org.apache.camel.component.infinispan.InfinispanOperation.class);
map.put("value", java.lang.Object.class);
map.put("password", java.lang.String.class);
+ map.put("saslMechanism", java.lang.String.class);
map.put("username", java.lang.String.class);
map.put("basicPropertyBinding", boolean.class);
map.put("cacheContainer", org.infinispan.commons.api.BasicCacheContainer.class);
@@ -94,6 +95,8 @@ public class InfinispanEndpointConfigurer extends PropertyConfigurerSupport impl
case "remappingFunction": target.getConfiguration().setRemappingFunction(property(camelContext, java.util.function.BiFunction.class, value)); return true;
case "resultheader":
case "resultHeader": target.getConfiguration().setResultHeader(property(camelContext, java.lang.Object.class, value)); return true;
+ case "saslmechanism":
+ case "saslMechanism": target.getConfiguration().setSaslMechanism(property(camelContext, java.lang.String.class, value)); return true;
case "secure": target.getConfiguration().setSecure(property(camelContext, boolean.class, value)); return true;
case "sync": target.getConfiguration().setSync(property(camelContext, boolean.class, value)); return true;
case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
@@ -152,6 +155,8 @@ public class InfinispanEndpointConfigurer extends PropertyConfigurerSupport impl
case "remappingFunction": return target.getConfiguration().getRemappingFunction();
case "resultheader":
case "resultHeader": return target.getConfiguration().getResultHeader();
+ case "saslmechanism":
+ case "saslMechanism": return target.getConfiguration().getSaslMechanism();
case "secure": return target.getConfiguration().isSecure();
case "sync": return target.getConfiguration().isSync();
case "synchronous": return target.isSynchronous();
diff --git a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointUriFactory.java b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointUriFactory.java
index 8f06638..e70d3ae 100644
--- a/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointUriFactory.java
+++ b/components/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/InfinispanEndpointUriFactory.java
@@ -18,7 +18,7 @@ public class InfinispanEndpointUriFactory extends org.apache.camel.support.compo
private static final Set<String> PROPERTY_NAMES;
static {
- Set<String> set = new HashSet<>(29);
+ Set<String> set = new HashSet<>(30);
set.add("cacheName");
set.add("hosts");
set.add("queryBuilder");
@@ -38,6 +38,7 @@ public class InfinispanEndpointUriFactory extends org.apache.camel.support.compo
set.add("operation");
set.add("value");
set.add("password");
+ set.add("saslMechanism");
set.add("username");
set.add("basicPropertyBinding");
set.add("cacheContainer");
diff --git a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json b/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json
index f67b20e..381ab9b 100644
--- a/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json
+++ b/components/camel-infinispan/src/generated/resources/org/apache/camel/component/infinispan/infinispan.json
@@ -39,6 +39,7 @@
"operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ], [...]
"value": { "kind": "property", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
"password": { "kind": "property", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
+ "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
"username": { "kind": "property", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
"basicPropertyBinding": { "kind": "property", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": true, "secret": false, "defaultValue": false, "description": "Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
"cacheContainer": { "kind": "property", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
@@ -69,6 +70,7 @@
"operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.infinispan.InfinispanOperation", "enum": [ "PUT", "PUTASYNC", "PUTALL", "PUTALLASYNC", "PUTIFABSENT", "PUTIFABSENTASYNC", "GET", "GETORDEFAULT", "CONTAINSKEY", "CONTAINSVALUE", "REMOVE", "REMOVEASYNC", "REPLACE", "REPLACEASYNC", "SIZE", "CLEAR", "CLEARASYNC", "QUERY", "STATS", "COMPUTE", "COMPUTEASYNC" ] [...]
"value": { "kind": "parameter", "displayName": "Value", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "java.lang.Object", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Set a specific value for producer operations" },
"password": { "kind": "parameter", "displayName": "Password", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": true, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the password to access the infinispan instance" },
+ "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the SASL Mechanism to access the infinispan instance" },
"username": { "kind": "parameter", "displayName": "Username", "group": " security", "label": "common, security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Define the username to access the infinispan instance" },
"basicPropertyBinding": { "kind": "parameter", "displayName": "Basic Property Binding", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities" },
"cacheContainer": { "kind": "parameter", "displayName": "Cache Container", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.infinispan.commons.api.BasicCacheContainer", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.InfinispanConfiguration", "configurationField": "configuration", "description": "Specifies the cache Container to connect" },
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index 991d779..a21ffa9 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -63,7 +63,7 @@ If no cache configuration is provided, embedded cacheContainer is created direct
// component options: START
-The Infinispan component supports 26 options, which are listed below.
+The Infinispan component supports 27 options, which are listed below.
@@ -87,6 +87,7 @@ The Infinispan component supports 26 options, which are listed below.
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer
@@ -121,7 +122,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -145,6 +146,7 @@ with the following path and query parameters:
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
index 18b4cab..876eb5b 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
@@ -76,6 +76,8 @@ public class InfinispanConfiguration implements Cloneable {
private String username;
@UriParam(label = "common, security", secret = true)
private String password;
+ @UriParam(label = "common, security")
+ private String saslMechanism;
public String getCommand() {
return operation.toString();
@@ -393,4 +395,16 @@ public class InfinispanConfiguration implements Cloneable {
public void setPassword(String password) {
this.password = password;
}
+
+ public String getSaslMechanism() {
+ return saslMechanism;
+ }
+
+ /**
+ * Define the SASL Mechanism to access the infinispan instance
+ */
+ public void setSaslMechanism(String saslMechanism) {
+ this.saslMechanism = saslMechanism;
+ }
+
}
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
index a072cb8..b379370 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java
@@ -107,6 +107,9 @@ public class InfinispanManager extends ServiceSupport {
throw new IllegalArgumentException(
"If the Infinispan instance is secured, username and password are needed");
}
+ if (ObjectHelper.isNotEmpty(configuration.getSaslMechanism())) {
+ builder.security().authentication().saslMechanism(configuration.getSaslMechanism());
+ }
}
Properties properties = new Properties();
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/testcontainers/InfinispanTestContainersProducerTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/testcontainers/InfinispanTestContainersProducerTest.java
index f45aed28..8b52002 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/testcontainers/InfinispanTestContainersProducerTest.java
+++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/testcontainers/InfinispanTestContainersProducerTest.java
@@ -65,10 +65,10 @@ public class InfinispanTestContainersProducerTest extends InfinispanTestContaine
public void configure() {
from("direct:put")
.to("infinispan:mycache?hosts=" + getInfispanUrl()
- + "&operation=PUT&username=admin&password=password&secure=true");
+ + "&operation=PUT&username=admin&password=password&secure=true&saslMechanism=RAW(DIGEST-MD5)");
from("direct:get")
.to("infinispan:mycache?hosts=" + getInfispanUrl()
- + "&operation=GET&username=admin&password=password&secure=true");
+ + "&operation=GET&username=admin&password=password&secure=true&saslMechanism=RAW(DIGEST-MD5)");
}
};
}
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
index 7b2f8cc..ffaece0 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
@@ -279,6 +279,18 @@ public interface InfinispanComponentBuilderFactory {
return this;
}
/**
+ * Define the SASL Mechanism to access the infinispan instance.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ */
+ default InfinispanComponentBuilder saslMechanism(
+ java.lang.String saslMechanism) {
+ doSetProperty("saslMechanism", saslMechanism);
+ return this;
+ }
+ /**
* Define the username to access the infinispan instance.
*
* The option is a: <code>java.lang.String</code> type.
@@ -442,6 +454,7 @@ public interface InfinispanComponentBuilderFactory {
case "operation": getOrCreateConfiguration((InfinispanComponent) component).setOperation((org.apache.camel.component.infinispan.InfinispanOperation) value); return true;
case "value": getOrCreateConfiguration((InfinispanComponent) component).setValue((java.lang.Object) value); return true;
case "password": getOrCreateConfiguration((InfinispanComponent) component).setPassword((java.lang.String) value); return true;
+ case "saslMechanism": getOrCreateConfiguration((InfinispanComponent) component).setSaslMechanism((java.lang.String) value); return true;
case "username": getOrCreateConfiguration((InfinispanComponent) component).setUsername((java.lang.String) value); return true;
case "basicPropertyBinding": ((InfinispanComponent) component).setBasicPropertyBinding((boolean) value); return true;
case "cacheContainer": getOrCreateConfiguration((InfinispanComponent) component).setCacheContainer((org.infinispan.commons.api.BasicCacheContainer) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java
index f974c1b..f150885 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java
@@ -283,6 +283,18 @@ public interface InfinispanEndpointBuilderFactory {
return this;
}
/**
+ * Define the SASL Mechanism to access the infinispan instance.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ */
+ default InfinispanEndpointConsumerBuilder saslMechanism(
+ String saslMechanism) {
+ doSetProperty("saslMechanism", saslMechanism);
+ return this;
+ }
+ /**
* Define the username to access the infinispan instance.
*
* The option is a: <code>java.lang.String</code> type.
@@ -845,6 +857,18 @@ public interface InfinispanEndpointBuilderFactory {
return this;
}
/**
+ * Define the SASL Mechanism to access the infinispan instance.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ */
+ default InfinispanEndpointProducerBuilder saslMechanism(
+ String saslMechanism) {
+ doSetProperty("saslMechanism", saslMechanism);
+ return this;
+ }
+ /**
* Define the username to access the infinispan instance.
*
* The option is a: <code>java.lang.String</code> type.
@@ -1190,6 +1214,17 @@ public interface InfinispanEndpointBuilderFactory {
return this;
}
/**
+ * Define the SASL Mechanism to access the infinispan instance.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ */
+ default InfinispanEndpointBuilder saslMechanism(String saslMechanism) {
+ doSetProperty("saslMechanism", saslMechanism);
+ return this;
+ }
+ /**
* Define the username to access the infinispan instance.
*
* The option is a: <code>java.lang.String</code> type.
diff --git a/docs/components/modules/ROOT/pages/infinispan-component.adoc b/docs/components/modules/ROOT/pages/infinispan-component.adoc
index 138a463..7134025 100644
--- a/docs/components/modules/ROOT/pages/infinispan-component.adoc
+++ b/docs/components/modules/ROOT/pages/infinispan-component.adoc
@@ -65,7 +65,7 @@ If no cache configuration is provided, embedded cacheContainer is created direct
// component options: START
-The Infinispan component supports 26 options, which are listed below.
+The Infinispan component supports 27 options, which are listed below.
@@ -89,6 +89,7 @@ The Infinispan component supports 26 options, which are listed below.
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | *Deprecated* Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer
@@ -123,7 +124,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (28 parameters):
+=== Query Parameters (29 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -147,6 +148,7 @@ with the following path and query parameters:
| *operation* (producer) | The operation to perform. There are 21 enums and the value can be one of: PUT, PUTASYNC, PUTALL, PUTALLASYNC, PUTIFABSENT, PUTIFABSENTASYNC, GET, GETORDEFAULT, CONTAINSKEY, CONTAINSVALUE, REMOVE, REMOVEASYNC, REPLACE, REPLACEASYNC, SIZE, CLEAR, CLEARASYNC, QUERY, STATS, COMPUTE, COMPUTEASYNC | PUT | InfinispanOperation
| *value* (producer) | Set a specific value for producer operations | | Object
| *password* ( security) | Define the password to access the infinispan instance | | String
+| *saslMechanism* ( security) | Define the SASL Mechanism to access the infinispan instance | | String
| *username* ( security) | Define the username to access the infinispan instance | | String
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *cacheContainer* (advanced) | Specifies the cache Container to connect | | BasicCacheContainer