You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/09/01 14:36:28 UTC

[camel] branch master updated: camel-zendesk - Allow to configure server, and login information on component level.

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 <cl...@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;
             }
         }