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 2017/02/15 20:15:45 UTC

camel git commit: CAMEL-10836: camel-salesforce - Allow to configure login details easier

Repository: camel
Updated Branches:
  refs/heads/master 60fc57c7e -> 933b0a869


CAMEL-10836: camel-salesforce - Allow to configure login details easier


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/933b0a86
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/933b0a86
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/933b0a86

Branch: refs/heads/master
Commit: 933b0a869a07ff563aabd3da753dba49075a84c7
Parents: 60fc57c
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Feb 15 21:02:17 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Feb 15 21:14:15 2017 +0100

----------------------------------------------------------------------
 .../src/main/docs/salesforce-component.adoc     |  11 +-
 .../salesforce/SalesforceComponent.java         | 121 ++++++++-
 .../salesforce/SalesforceLoginConfig.java       |  11 +
 .../main/resources/camel-connector-schema.json  |   5 +-
 .../src/main/resources/camel-connector.json     |   2 +-
 .../src/main/resources/application.properties   |  11 +-
 .../src/main/resources/application.properties   |  10 +-
 .../SalesforceComponentConfiguration.java       | 265 ++++++++++++-------
 8 files changed, 329 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 27346a3..fc102b9 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -423,7 +423,7 @@ link:salesforce.html[Salesforce].
 
 
 // component options: START
-The Salesforce component supports 16 options which are listed below.
+The Salesforce component supports 23 options which are listed below.
 
 
 
@@ -432,6 +432,13 @@ The Salesforce component supports 16 options which are listed below.
 |=======================================================================
 | Name | Group | Default | Java Type | Description
 | loginConfig | security |  | SalesforceLoginConfig | To use the shared SalesforceLoginConfig as login configuration
+| loginUrl | security | https://login.salesforce.com | String | Salesforce login URL defaults to https://login.salesforce.com
+| clientId | security |  | String | Salesforce connected application Consumer Key
+| clientSecret | security |  | String | Salesforce connected application Consumer Secret
+| refreshToken | security |  | String | Salesforce connected application Consumer token
+| userName | security |  | String | Salesforce account user name
+| password | security |  | String | Salesforce account password
+| lazyLogin | security | false | boolean | Flag to enable/disable lazy OAuth default is false. When enabled OAuth token retrieval or generation is not done until the first API call
 | config | advanced |  | SalesforceEndpointConfig | To use the shared SalesforceEndpointConfig as endpoint configuration
 | httpClientProperties | advanced |  | Map | Used for configuring HTTP client properties as key/value pairs
 | sslContextParameters | security |  | SSLContextParameters | To configure security using SSLContextParameters
@@ -536,4 +543,4 @@ DateTime, and picklist fields are mapped to generated Java Enumerations.
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index 441ff86..2a5effd 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -56,6 +56,8 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.camel.component.salesforce.SalesforceLoginConfig.DEFAULT_LOGIN_URL;
+
 /**
  * Represents the component that manages {@link SalesforceEndpoint}.
  */
@@ -69,6 +71,23 @@ public class SalesforceComponent extends UriEndpointComponent implements Endpoin
 
     @Metadata(label = "security")
     private SalesforceLoginConfig loginConfig;
+
+    // allow fine grained login as well
+    @Metadata(label = "security", defaultValue = DEFAULT_LOGIN_URL)
+    private String loginUrl;
+    @Metadata(label = "security", secret = true)
+    private String clientId;
+    @Metadata(label = "security", secret = true)
+    private String clientSecret;
+    @Metadata(label = "security", secret = true)
+    private String refreshToken;
+    @Metadata(label = "security", secret = true)
+    private String userName;
+    @Metadata(label = "security", secret = true)
+    private String password;
+    @Metadata(label = "security")
+    private boolean lazyLogin;
+
     @Metadata(label = "advanced")
     private SalesforceEndpointConfig config;
 
@@ -197,8 +216,31 @@ public class SalesforceComponent extends UriEndpointComponent implements Endpoin
 
     @Override
     protected void doStart() throws Exception {
-        // validate properties
-        ObjectHelper.notNull(loginConfig, "loginConfig");
+        if (loginConfig == null) {
+            loginConfig = new SalesforceLoginConfig();
+            if (loginUrl != null) {
+                loginConfig.setLoginUrl(loginUrl);
+            }
+            if (refreshToken != null) {
+                loginConfig.setRefreshToken(refreshToken);
+            }
+            if (clientId != null) {
+                loginConfig.setClientId(clientId);
+            }
+            if (clientSecret != null) {
+                loginConfig.setClientSecret(clientSecret);
+            }
+            if (userName != null) {
+                loginConfig.setUserName(userName);
+            }
+            if (password != null) {
+                loginConfig.setPassword(password);
+            }
+            loginConfig.setLazyLogin(lazyLogin);
+            LOG.debug("Created login configuration: {}", loginConfig);
+        } else {
+            LOG.debug("Using shared login configuration: {}", loginConfig);
+        }
 
         // create a Jetty HttpClient if not already set
         if (null == httpClient) {
@@ -257,7 +299,7 @@ public class SalesforceComponent extends UriEndpointComponent implements Endpoin
         }
 
         // support restarts
-        if (null == this.session) {
+        if (this.session == null) {
             this.session = new SalesforceSession(httpClient, httpClient.getTimeout(), loginConfig);
         }
         // set session before calling start()
@@ -405,6 +447,79 @@ public class SalesforceComponent extends UriEndpointComponent implements Endpoin
         this.loginConfig = loginConfig;
     }
 
+    /**
+     * Salesforce login URL, defaults to https://login.salesforce.com
+     */
+    public void setLoginUrl(String loginUrl) {
+        this.loginUrl = loginUrl;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    /**
+     * Salesforce connected application Consumer Key
+     */
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public String getClientSecret() {
+        return clientSecret;
+    }
+
+    /**
+     * Salesforce connected application Consumer Secret
+     */
+    public void setClientSecret(String clientSecret) {
+        this.clientSecret = clientSecret;
+    }
+
+    public String getRefreshToken() {
+        return refreshToken;
+    }
+
+    /**
+     * Salesforce connected application Consumer token
+     */
+    public void setRefreshToken(String refreshToken) {
+        this.refreshToken = refreshToken;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    /**
+     * Salesforce account user name
+     */
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    /**
+     * Salesforce account password
+     */
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public boolean isLazyLogin() {
+        return lazyLogin;
+    }
+
+    /**
+     * Flag to enable/disable lazy OAuth, default is false. When enabled, OAuth token retrieval or generation is not done until the first API call
+     */
+    public void setLazyLogin(boolean lazyLogin) {
+        this.lazyLogin = lazyLogin;
+    }
+
     public SalesforceEndpointConfig getConfig() {
         return config;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceLoginConfig.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceLoginConfig.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceLoginConfig.java
index 7e1c365..14dc0ed 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceLoginConfig.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceLoginConfig.java
@@ -137,4 +137,15 @@ public class SalesforceLoginConfig {
         this.lazyLogin = lazyLogin;
     }
 
+    @Override
+    public String toString() {
+        return "SalesforceLoginConfig["
+            + "loginUrl='" + loginUrl + '\''
+            + ", clientId='" + clientId + '\''
+            + ", clientSecret='********'"
+            + ", refreshToken='" + refreshToken + '\''
+            + ", userName='" + userName + '\''
+            + ", password=********'" + password + '\''
+            + ", lazyLogin=" + lazyLogin + ']';
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
----------------------------------------------------------------------
diff --git a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
index 82498b4..2fc468e 100644
--- a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
+++ b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json
@@ -16,7 +16,10 @@
     "version": "2.19.0-SNAPSHOT"
   },
   "componentProperties": {
-    "loginConfig": {"kind":"property","group":"security","label":"security","required":"false","type":"object","javaType":"org.apache.camel.component.salesforce.SalesforceLoginConfig","deprecated":"false","secret":"false","description":"To use the shared SalesforceLoginConfig as login configuration"}
+    "loginUrl": { "kind": "property", "group": "security", "label": "security", "required": "false", "type": "string", "javaType": "java.lang.String", "deprecated": "false", "secret": "false", "defaultValue": "https://login.salesforce.com", "description": "Salesforce login URL defaults to https://login.salesforce.com" },
+    "clientId": { "kind": "property", "group": "security", "label": "security", "required": "false", "type": "string", "javaType": "java.lang.String", "deprecated": "false", "secret": "true", "description": "Salesforce connected application Consumer Key" },
+    "clientSecret": { "kind": "property", "group": "security", "label": "security", "required": "false", "type": "string", "javaType": "java.lang.String", "deprecated": "false", "secret": "true", "description": "Salesforce connected application Consumer Secret" },
+    "refreshToken": { "kind": "property", "group": "security", "label": "security", "required": "false", "type": "string", "javaType": "java.lang.String", "deprecated": "false", "secret": "true", "description": "Salesforce connected application Consumer token" }
   },
   "properties": {
     "sObjectIdName": {"kind":"parameter","group":"common","type":"string","javaType":"java.lang.String","deprecated":"false","secret":"false","description":"SObject external ID field name","required":"true"},

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
----------------------------------------------------------------------
diff --git a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
index 464680f..07aa0df 100644
--- a/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
+++ b/connectors/examples/salesforce-upsert-contact-connector/src/main/resources/camel-connector.json
@@ -12,7 +12,7 @@
   "description": "Create or update Salesforce Contact SObject",
   "labels" : [ "salesforce" ],
   "pattern": "To",
-  "componentOptions" : [ "loginConfig" ],
+  "componentOptions" : [ "loginUrl", "clientId", "clientSecret", "refreshToken" ],
   "endpointValues" : {
     "operationName": "upsertSObject"
   },

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/connectors/examples/twitter-salesforce-example/src/main/resources/application.properties
----------------------------------------------------------------------
diff --git a/connectors/examples/twitter-salesforce-example/src/main/resources/application.properties b/connectors/examples/twitter-salesforce-example/src/main/resources/application.properties
index 9d745d7..978d776 100644
--- a/connectors/examples/twitter-salesforce-example/src/main/resources/application.properties
+++ b/connectors/examples/twitter-salesforce-example/src/main/resources/application.properties
@@ -10,11 +10,12 @@ camel.component.twitter.access-token=26693234-W0YjxL9cMJrC0VZZ4xdgFMymxIQ10LeL1K
 camel.component.twitter.access-token-secret=BZD51BgzbOdFstWZYsqB5p5dbuuDV12vrOdatzhY4E
 
 ## Consumer Key of the connected application
-camel.component.salesforce.loginConfig.clientId=3MVG9szVa2RxsqBZXHfqsW3hf9HQp_N6qdSmpjKMzSJaEL4UP161JlDkE32EigL82ra_jM1WuQgF4rYDgzL3u
+camel.component.salesforce.clientId=3MVG9szVa2RxsqBZXHfqsW3hf9HQp_N6qdSmpjKMzSJaEL4UP161JlDkE32EigL82ra_jM1WuQgF4rYDgzL3u
 ## Consumer Secret of the connected application
-camel.component.salesforce.loginConfig.clientSecret=1039611643161946846
+camel.component.salesforce.clientSecret=1039611643161946846
 ## refresh_token from OAuth flow
-camel.component.salesforce.loginConfig.refreshToken=5Aep861HDR3iASSXIX6hI7M1qMWSCs1Ym57WUH1ftjE7RvnM7MvnAXx9EZaw_HIoNCKktNsuhx.xwjLThofuJH4
+camel.component.salesforce.refreshToken=5Aep861HDR3iASSXIX6hI7M1qMWSCs1Ym57WUH1ftjE7RvnM7MvnAXx9EZaw_HIoNCKktNsuhx.xwjLThofuJH4
+
 ## you can also use:
-#camel.component.salesforce.loginConfig.userName=<Salesforce username>
-#camel.component.salesforce.loginConfig.password=<Salesforce password>
+#camel.component.salesforce.userName=<Salesforce username>
+#camel.component.salesforce.password=<Salesforce password>

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/examples/camel-example-twitter-salesforce/src/main/resources/application.properties
----------------------------------------------------------------------
diff --git a/examples/camel-example-twitter-salesforce/src/main/resources/application.properties b/examples/camel-example-twitter-salesforce/src/main/resources/application.properties
index 92e4154..a3fb8da 100644
--- a/examples/camel-example-twitter-salesforce/src/main/resources/application.properties
+++ b/examples/camel-example-twitter-salesforce/src/main/resources/application.properties
@@ -12,11 +12,11 @@ camel.component.twitter.access-token-secret=BZD51BgzbOdFstWZYsqB5p5dbuuDV12vrOda
 ## This uses Camel test Salesforce developer account please use your own account in your applications
 
 ## Consumer Key of the connected application
-camel.component.salesforce.loginConfig.clientId=3MVG9szVa2RxsqBZXHfqsW3hf9HQp_N6qdSmpjKMzSJaEL4UP161JlDkE32EigL82ra_jM1WuQgF4rYDgzL3u
+camel.component.salesforce.clientId=3MVG9szVa2RxsqBZXHfqsW3hf9HQp_N6qdSmpjKMzSJaEL4UP161JlDkE32EigL82ra_jM1WuQgF4rYDgzL3u
 ## Consumer Secret of the connected application
-camel.component.salesforce.loginConfig.clientSecret=1039611643161946846
+camel.component.salesforce.clientSecret=1039611643161946846
 ## refresh_token from OAuth flow
-camel.component.salesforce.loginConfig.refreshToken=5Aep861HDR3iASSXIX6hI7M1qMWSCs1Ym57WUH1ftjE7RvnM7MvnAXx9EZaw_HIoNCKktNsuhx.xwjLThofuJH4
+camel.component.salesforce.refreshToken=5Aep861HDR3iASSXIX6hI7M1qMWSCs1Ym57WUH1ftjE7RvnM7MvnAXx9EZaw_HIoNCKktNsuhx.xwjLThofuJH4
 ## you can also use:
-#camel.component.salesforce.loginConfig.userName=<Salesforce username>
-#camel.component.salesforce.loginConfig.password=<Salesforce password>
+#camel.component.salesforce.userName=<Salesforce username>
+#camel.component.salesforce.password=<Salesforce password>

http://git-wip-us.apache.org/repos/asf/camel/blob/933b0a86/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
index 55e2279..0713088 100644
--- a/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
+++ b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
@@ -46,6 +46,35 @@ public class SalesforceComponentConfiguration {
      */
     private SalesforceLoginConfigNestedConfiguration loginConfig;
     /**
+     * Salesforce login URL defaults to https://login.salesforce.com
+     */
+    private String loginUrl = "https://login.salesforce.com";
+    /**
+     * Salesforce connected application Consumer Key
+     */
+    private String clientId;
+    /**
+     * Salesforce connected application Consumer Secret
+     */
+    private String clientSecret;
+    /**
+     * Salesforce connected application Consumer token
+     */
+    private String refreshToken;
+    /**
+     * Salesforce account user name
+     */
+    private String userName;
+    /**
+     * Salesforce account password
+     */
+    private String password;
+    /**
+     * Flag to enable/disable lazy OAuth default is false. When enabled OAuth
+     * token retrieval or generation is not done until the first API call
+     */
+    private Boolean lazyLogin = false;
+    /**
      * To use the shared SalesforceEndpointConfig as endpoint configuration
      */
     private SalesforceEndpointConfigNestedConfiguration config;
@@ -117,6 +146,62 @@ public class SalesforceComponentConfiguration {
         this.loginConfig = loginConfig;
     }
 
+    public String getLoginUrl() {
+        return loginUrl;
+    }
+
+    public void setLoginUrl(String loginUrl) {
+        this.loginUrl = loginUrl;
+    }
+
+    public String getClientId() {
+        return clientId;
+    }
+
+    public void setClientId(String clientId) {
+        this.clientId = clientId;
+    }
+
+    public String getClientSecret() {
+        return clientSecret;
+    }
+
+    public void setClientSecret(String clientSecret) {
+        this.clientSecret = clientSecret;
+    }
+
+    public String getRefreshToken() {
+        return refreshToken;
+    }
+
+    public void setRefreshToken(String refreshToken) {
+        this.refreshToken = refreshToken;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public Boolean getLazyLogin() {
+        return lazyLogin;
+    }
+
+    public void setLazyLogin(Boolean lazyLogin) {
+        this.lazyLogin = lazyLogin;
+    }
+
     public SalesforceEndpointConfigNestedConfiguration getConfig() {
         return config;
     }
@@ -240,6 +325,96 @@ public class SalesforceComponentConfiguration {
         this.packages = packages;
     }
 
+    public static class SalesforceLoginConfigNestedConfiguration {
+        public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.salesforce.SalesforceLoginConfig.class;
+        /**
+         * Salesforce login URL, defaults to https://login.salesforce.com
+         */
+        private String loginUrl;
+        /**
+         * Salesforce connected application Consumer Key
+         */
+        private String clientId;
+        /**
+         * Salesforce connected application Consumer Secret
+         */
+        private String clientSecret;
+        /**
+         * Salesforce connected application Consumer token
+         */
+        private String refreshToken;
+        /**
+         * Salesforce account user name
+         */
+        private String userName;
+        /**
+         * Salesforce account password
+         */
+        private String password;
+        /**
+         * Flag to enable/disable lazy OAuth, default is false. When enabled,
+         * OAuth token retrieval or generation is not done until the first API
+         * call
+         */
+        private Boolean lazyLogin;
+
+        public String getLoginUrl() {
+            return loginUrl;
+        }
+
+        public void setLoginUrl(String loginUrl) {
+            this.loginUrl = loginUrl;
+        }
+
+        public String getClientId() {
+            return clientId;
+        }
+
+        public void setClientId(String clientId) {
+            this.clientId = clientId;
+        }
+
+        public String getClientSecret() {
+            return clientSecret;
+        }
+
+        public void setClientSecret(String clientSecret) {
+            this.clientSecret = clientSecret;
+        }
+
+        public String getRefreshToken() {
+            return refreshToken;
+        }
+
+        public void setRefreshToken(String refreshToken) {
+            this.refreshToken = refreshToken;
+        }
+
+        public String getUserName() {
+            return userName;
+        }
+
+        public void setUserName(String userName) {
+            this.userName = userName;
+        }
+
+        public String getPassword() {
+            return password;
+        }
+
+        public void setPassword(String password) {
+            this.password = password;
+        }
+
+        public Boolean getLazyLogin() {
+            return lazyLogin;
+        }
+
+        public void setLazyLogin(Boolean lazyLogin) {
+            this.lazyLogin = lazyLogin;
+        }
+    }
+
     public static class SalesforceEndpointConfigNestedConfiguration {
         public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.salesforce.SalesforceEndpointConfig.class;
         /**
@@ -816,94 +991,4 @@ public class SalesforceComponentConfiguration {
             this.approvalSkipEntryCriteria = approvalSkipEntryCriteria;
         }
     }
-
-    public static class SalesforceLoginConfigNestedConfiguration {
-        public static final Class CAMEL_NESTED_CLASS = org.apache.camel.component.salesforce.SalesforceLoginConfig.class;
-        /**
-         * Salesforce login URL, defaults to https://login.salesforce.com
-         */
-        private String loginUrl;
-        /**
-         * Salesforce connected application Consumer Key
-         */
-        private String clientId;
-        /**
-         * Salesforce connected application Consumer Secret
-         */
-        private String clientSecret;
-        /**
-         * Salesforce connected application Consumer token
-         */
-        private String refreshToken;
-        /**
-         * Salesforce account user name
-         */
-        private String userName;
-        /**
-         * Salesforce account password
-         */
-        private String password;
-        /**
-         * Flag to enable/disable lazy OAuth, default is false. When enabled,
-         * OAuth token retrieval or generation is not done until the first API
-         * call
-         */
-        private Boolean lazyLogin;
-
-        public String getLoginUrl() {
-            return loginUrl;
-        }
-
-        public void setLoginUrl(String loginUrl) {
-            this.loginUrl = loginUrl;
-        }
-
-        public String getClientId() {
-            return clientId;
-        }
-
-        public void setClientId(String clientId) {
-            this.clientId = clientId;
-        }
-
-        public String getClientSecret() {
-            return clientSecret;
-        }
-
-        public void setClientSecret(String clientSecret) {
-            this.clientSecret = clientSecret;
-        }
-
-        public String getRefreshToken() {
-            return refreshToken;
-        }
-
-        public void setRefreshToken(String refreshToken) {
-            this.refreshToken = refreshToken;
-        }
-
-        public String getUserName() {
-            return userName;
-        }
-
-        public void setUserName(String userName) {
-            this.userName = userName;
-        }
-
-        public String getPassword() {
-            return password;
-        }
-
-        public void setPassword(String password) {
-            this.password = password;
-        }
-
-        public Boolean getLazyLogin() {
-            return lazyLogin;
-        }
-
-        public void setLazyLogin(Boolean lazyLogin) {
-            this.lazyLogin = lazyLogin;
-        }
-    }
 }
\ No newline at end of file