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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new d1dd1d8  camel-zendesk - Allow to configure server, and login 
information on component level.
d1dd1d8 is described below

commit d1dd1d8a4a43b2228e056a42ca684fac70b2ac27
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Sep 1 16:36:07 2020 +0200

    camel-zendesk - Allow to configure server, and login information on 
component level.
---
 .../zendesk/ZendeskComponentConfigurer.java        |  19 ++++
 .../apache/camel/component/zendesk/zendesk.json    |   7 +-
 .../src/main/docs/zendesk-component.adoc           |   7 +-
 .../camel/component/zendesk/ZendeskComponent.java  | 116 ++++++++++++++++++++-
 .../dsl/ZendeskComponentBuilderFactory.java        |  60 +++++++++++
 5 files changed, 206 insertions(+), 3 deletions(-)

diff --git 
a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskComponentConfigurer.java
 
b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskComponentConfigurer.java
index 490afa8..6b080b7 100644
--- 
a/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskComponentConfigurer.java
+++ 
b/components/camel-zendesk/src/generated/java/org/apache/camel/component/zendesk/ZendeskComponentConfigurer.java
@@ -26,6 +26,13 @@ public class ZendeskComponentConfigurer extends 
PropertyConfigurerSupport implem
         case "configuration": target.setConfiguration(property(camelContext, 
org.apache.camel.component.zendesk.ZendeskConfiguration.class, value)); return 
true;
         case "lazystartproducer":
         case "lazyStartProducer": 
target.setLazyStartProducer(property(camelContext, boolean.class, value)); 
return true;
+        case "oauthtoken":
+        case "oauthToken": target.setOauthToken(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "password": target.setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "serverurl":
+        case "serverUrl": target.setServerUrl(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "token": target.setToken(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "username": target.setUsername(property(camelContext, 
java.lang.String.class, value)); return true;
         case "zendesk": target.setZendesk(property(camelContext, 
org.zendesk.client.v2.Zendesk.class, value)); return true;
         default: return false;
         }
@@ -38,6 +45,11 @@ public class ZendeskComponentConfigurer extends 
PropertyConfigurerSupport implem
         answer.put("bridgeErrorHandler", boolean.class);
         answer.put("configuration", 
org.apache.camel.component.zendesk.ZendeskConfiguration.class);
         answer.put("lazyStartProducer", boolean.class);
+        answer.put("oauthToken", java.lang.String.class);
+        answer.put("password", java.lang.String.class);
+        answer.put("serverUrl", java.lang.String.class);
+        answer.put("token", java.lang.String.class);
+        answer.put("username", java.lang.String.class);
         answer.put("zendesk", org.zendesk.client.v2.Zendesk.class);
         return answer;
     }
@@ -53,6 +65,13 @@ public class ZendeskComponentConfigurer extends 
PropertyConfigurerSupport implem
         case "configuration": return target.getConfiguration();
         case "lazystartproducer":
         case "lazyStartProducer": return target.isLazyStartProducer();
+        case "oauthtoken":
+        case "oauthToken": return target.getOauthToken();
+        case "password": return target.getPassword();
+        case "serverurl":
+        case "serverUrl": return target.getServerUrl();
+        case "token": return target.getToken();
+        case "username": return target.getUsername();
         case "zendesk": return target.getZendesk();
         default: return null;
         }
diff --git 
a/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
 
b/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
index f82bc7e..32061cd 100644
--- 
a/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
+++ 
b/components/camel-zendesk/src/generated/resources/org/apache/camel/component/zendesk/zendesk.json
@@ -23,11 +23,16 @@
     "lenientProperties": true
   },
   "componentProperties": {
+    "serverUrl": { "kind": "property", "displayName": "Server Url", "group": 
"common", "label": "", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "secret": false, "description": "The 
server URL to connect." },
     "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error 
Handler", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": 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 during starting and cause the r [...]
     "basicPropertyBinding": { "kind": "property", "displayName": "Basic 
Property Binding", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, 
"defaultValue": false, "description": "Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities" },
     "configuration": { "kind": "property", "displayName": "Configuration", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.apache.camel.component.zendesk.ZendeskConfiguration", 
"deprecated": false, "secret": false, "description": "Component configuration" 
},
-    "zendesk": { "kind": "property", "displayName": "Zendesk", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.zendesk.client.v2.Zendesk", "deprecated": false, "secret": 
false, "description": "To use a shared Zendesk instance." }
+    "zendesk": { "kind": "property", "displayName": "Zendesk", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.zendesk.client.v2.Zendesk", "deprecated": false, "secret": 
false, "description": "To use a shared Zendesk instance." },
+    "oauthToken": { "kind": "property", "displayName": "Oauth Token", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The OAuth token." },
+    "password": { "kind": "property", "displayName": "Password", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The password." },
+    "token": { "kind": "property", "displayName": "Token", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The security token." },
+    "username": { "kind": "property", "displayName": "Username", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "secret": true, 
"description": "The user name." }
   },
   "properties": {
     "methodName": { "kind": "path", "displayName": "Method Name", "group": 
"common", "label": "", "required": true, "type": "object", "javaType": 
"org.apache.camel.component.zendesk.internal.ZendeskApiMethod", "enum": [ 
"addTagToOrganisations", "addTagToTicket", "addTagToTopics", 
"associateAttachmentsToArticle", "changeUserPassword", "createArticle", 
"createArticleTranslation", "createAutomation", "createCategory", 
"createCategoryTranslation", "createComment", "createDynamicContentItem", [...]
diff --git a/components/camel-zendesk/src/main/docs/zendesk-component.adoc 
b/components/camel-zendesk/src/main/docs/zendesk-component.adoc
index d14c879..9b11a37 100644
--- a/components/camel-zendesk/src/main/docs/zendesk-component.adoc
+++ b/components/camel-zendesk/src/main/docs/zendesk-component.adoc
@@ -30,18 +30,23 @@ for this component:
 == Zendesk Options
 
 // component options: START
-The Zendesk component supports 5 options, which are listed below.
+The Zendesk component supports 10 options, which are listed below.
 
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
+| *serverUrl* (common) | The server URL to connect. |  | String
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *lazyStartProducer* (producer) | 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 during 
starting and cause the route to fail being started. By deferring this startup 
to be lazy then the startup failure can be handled during routing messages via 
Camel's routing error handlers. Beware that when the first message is processed 
then creating and [...]
 | *basicPropertyBinding* (advanced) | Whether the component should use basic 
property binding (Camel 2.x) or the newer property binding with additional 
capabilities | false | boolean
 | *configuration* (advanced) | Component configuration |  | 
ZendeskConfiguration
 | *zendesk* (advanced) | To use a shared Zendesk instance. |  | Zendesk
+| *oauthToken* (security) | The OAuth token. |  | String
+| *password* (security) | The password. |  | String
+| *token* (security) | The security token. |  | String
+| *username* (security) | The user name. |  | String
 |===
 // component options: END
 
diff --git 
a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskComponent.java
 
b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskComponent.java
index cd8ab90..7173587 100644
--- 
a/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskComponent.java
+++ 
b/components/camel-zendesk/src/main/java/org/apache/camel/component/zendesk/ZendeskComponent.java
@@ -34,8 +34,18 @@ import org.zendesk.client.v2.Zendesk;
 @Component("zendesk")
 public class ZendeskComponent extends AbstractApiComponent<ZendeskApiName, 
ZendeskConfiguration, ZendeskApiCollection> {
 
+    @Metadata
+    private String serverUrl;
+    @Metadata(label = "security", secret = true)
+    private String username;
+    @Metadata(label = "security", secret = true)
+    private String oauthToken;
+    @Metadata(label = "security", secret = true)
+    private String token;
+    @Metadata(label = "security", secret = true)
+    private String password;
     @Metadata(label = "advanced")
-    Zendesk zendesk;
+    private Zendesk zendesk;
 
     public ZendeskComponent() {
         super(ZendeskEndpoint.class, ZendeskApiName.class, 
ZendeskApiCollection.getCollection());
@@ -79,11 +89,115 @@ public class ZendeskComponent extends 
AbstractApiComponent<ZendeskApiName, Zende
         this.zendesk = zendesk;
     }
 
+    /**
+     * The server URL to connect.
+     *
+     * @return server URL
+     */
+    public String getServerUrl() {
+        return serverUrl;
+    }
+
+    /**
+     * The server URL to connect.
+     *
+     * @param url server URL
+     */
+    public void setServerUrl(String url) {
+        this.serverUrl = url;
+    }
+
+    /**
+     * The user name.
+     *
+     * @return user name
+     */
+    public String getUsername() {
+        return username;
+    }
+
+    /**
+     * The user name.
+     *
+     * @param user user name
+     */
+    public void setUsername(String user) {
+        this.username = user;
+    }
+
+    /**
+     * The security token.
+     *
+     * @return security token
+     */
+    public String getToken() {
+        return token;
+    }
+
+    /**
+     * The security token.
+     *
+     * @param token security token
+     */
+    public void setToken(String token) {
+        this.token = token;
+    }
+
+    /**
+     * The OAuth token.
+     *
+     * @return OAuth token
+     */
+    public String getOauthToken() {
+        return oauthToken;
+    }
+
+    /**
+     * The OAuth token.
+     *
+     * @param token OAuth token
+     */
+    public void setOauthToken(String token) {
+        this.oauthToken = token;
+    }
+
+    /**
+     * The password.
+     *
+     * @return password
+     */
+    public String getPassword() {
+        return password;
+    }
+
+    /**
+     * The password.
+     *
+     * @param password password
+     */
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
     @Override
     protected Endpoint createEndpoint(
             String uri, String methodName, ZendeskApiName apiName,
             ZendeskConfiguration endpointConfiguration) {
         
endpointConfiguration.setMethodName(ZendeskApiMethod.fromValue(methodName));
+
+        if (endpointConfiguration.getServerUrl() == null) {
+            endpointConfiguration.setServerUrl(serverUrl);
+        }
+        if (endpointConfiguration.getUsername() == null) {
+            endpointConfiguration.setUsername(username);
+        }
+        if (endpointConfiguration.getPassword() == null) {
+            endpointConfiguration.setPassword(password);
+        }
+        if (endpointConfiguration.getOauthToken() == null) {
+            endpointConfiguration.setOauthToken(oauthToken);
+        }
+
         return new ZendeskEndpoint(uri, this, apiName, methodName, 
endpointConfiguration);
     }
 
diff --git 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ZendeskComponentBuilderFactory.java
 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ZendeskComponentBuilderFactory.java
index 4578317..77bed28 100644
--- 
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ZendeskComponentBuilderFactory.java
+++ 
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ZendeskComponentBuilderFactory.java
@@ -49,6 +49,17 @@ public interface ZendeskComponentBuilderFactory {
             extends
                 ComponentBuilder<ZendeskComponent> {
         /**
+         * The server URL to connect.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: common
+         */
+        default ZendeskComponentBuilder serverUrl(java.lang.String serverUrl) {
+            doSetProperty("serverUrl", serverUrl);
+            return this;
+        }
+        /**
          * Allows for bridging the consumer to the Camel routing Error Handler,
          * which mean any exceptions occurred while the consumer is trying to
          * pickup incoming messages, or the likes, will now be processed as a
@@ -128,6 +139,50 @@ public interface ZendeskComponentBuilderFactory {
             doSetProperty("zendesk", zendesk);
             return this;
         }
+        /**
+         * The OAuth token.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default ZendeskComponentBuilder oauthToken(java.lang.String 
oauthToken) {
+            doSetProperty("oauthToken", oauthToken);
+            return this;
+        }
+        /**
+         * The password.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default ZendeskComponentBuilder password(java.lang.String password) {
+            doSetProperty("password", password);
+            return this;
+        }
+        /**
+         * The security token.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default ZendeskComponentBuilder token(java.lang.String token) {
+            doSetProperty("token", token);
+            return this;
+        }
+        /**
+         * The user name.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         */
+        default ZendeskComponentBuilder username(java.lang.String username) {
+            doSetProperty("username", username);
+            return this;
+        }
     }
 
     class ZendeskComponentBuilderImpl
@@ -145,11 +200,16 @@ public interface ZendeskComponentBuilderFactory {
                 String name,
                 Object value) {
             switch (name) {
+            case "serverUrl": ((ZendeskComponent) 
component).setServerUrl((java.lang.String) value); return true;
             case "bridgeErrorHandler": ((ZendeskComponent) 
component).setBridgeErrorHandler((boolean) value); return true;
             case "lazyStartProducer": ((ZendeskComponent) 
component).setLazyStartProducer((boolean) value); return true;
             case "basicPropertyBinding": ((ZendeskComponent) 
component).setBasicPropertyBinding((boolean) value); return true;
             case "configuration": ((ZendeskComponent) 
component).setConfiguration((org.apache.camel.component.zendesk.ZendeskConfiguration)
 value); return true;
             case "zendesk": ((ZendeskComponent) 
component).setZendesk((org.zendesk.client.v2.Zendesk) value); return true;
+            case "oauthToken": ((ZendeskComponent) 
component).setOauthToken((java.lang.String) value); return true;
+            case "password": ((ZendeskComponent) 
component).setPassword((java.lang.String) value); return true;
+            case "token": ((ZendeskComponent) 
component).setToken((java.lang.String) value); return true;
+            case "username": ((ZendeskComponent) 
component).setUsername((java.lang.String) value); return true;
             default: return false;
             }
         }

Reply via email to