camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davscl...@apache.org
Subject camel git commit: CAMEL-11003: camel-google-calendar - Easier to configure scopes
Date Mon, 13 Mar 2017 16:04:15 GMT
Repository: camel
Updated Branches:
  refs/heads/master c0387103c -> c94c61982


CAMEL-11003: camel-google-calendar - Easier to configure scopes


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

Branch: refs/heads/master
Commit: c94c619828781277282bf5c6ae80d545466fdbc2
Parents: c038710
Author: Claus Ibsen <davsclaus@apache.org>
Authored: Mon Mar 13 13:54:17 2017 +0100
Committer: Claus Ibsen <davsclaus@apache.org>
Committed: Mon Mar 13 17:04:06 2017 +0100

----------------------------------------------------------------------
 .../src/main/docs/google-calendar-component.adoc       |  2 +-
 .../google/calendar/GoogleCalendarComponent.java       | 13 ++++++++++++-
 .../google/calendar/GoogleCalendarConfiguration.java   | 11 ++++++-----
 .../src/test/resources/log4j2.properties               |  9 +++++++--
 4 files changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c94c6198/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index 4ca05e4..8e55fbc 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -86,7 +86,7 @@ with the following path and query parameters:
 | inBody | common |  | String | Sets the name of a parameter to be passed in the exchange
In Body
 | p12FileName | common |  | String | The name of the p12 file which has the private key to
use with the Google Service Account.
 | refreshToken | common |  | String | OAuth 2 refresh token. Using this the Google Calendar
component can obtain a new accessToken whenever the current one expires - a necessity if the
application is long-lived.
-| scopes | common | https://www.googleapis.com/auth/calendar | List | Specifies the level
of permissions you want a calendar application to have to a user account. See https://developers.google.com/google-apps/calendar/auth
for more info.
+| scopes | common | https://www.googleapis.com/auth/calendar | String | Specifies the level
of permissions you want a calendar application to have to a user account. You can separate
multiple scopes by comma. See https://developers.google.com/google-apps/calendar/auth for
more info.
 | user | common |  | String | The email address of the user the application is trying to
impersonate in the service account flow
 | bridgeErrorHandler | consumer | false | boolean | 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.
 | exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use
a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options
is not in use. By default the consumer will deal with exceptions that will be logged at WARN
or ERROR level and ignored.

http://git-wip-us.apache.org/repos/asf/camel/blob/c94c6198/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
index 109fdf5..040eb56 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
@@ -16,6 +16,10 @@
  */
 package org.apache.camel.component.google.calendar;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import com.google.api.services.calendar.Calendar;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
@@ -49,8 +53,15 @@ public class GoogleCalendarComponent extends AbstractApiComponent<GoogleCalendar
 
     public Calendar getClient(GoogleCalendarConfiguration config) {
         if (client == null) {
+
+            List<String> list = null;
+            if (config.getScopes() != null) {
+                String[] arr = config.getScopes().split(",");
+                list = Arrays.asList(arr);
+            }
+
             client = getClientFactory().makeClient(config.getClientId(),
-                    config.getClientSecret(), config.getScopes(),
+                    config.getClientSecret(), list,
                     config.getApplicationName(), config.getRefreshToken(),
                     config.getAccessToken(), config.getEmailAddress(),
                     config.getP12FileName(), config.getUser());

http://git-wip-us.apache.org/repos/asf/camel/blob/c94c6198/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
index dae776c..250fc45 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarConfiguration.java
@@ -31,7 +31,6 @@ import org.apache.camel.spi.UriPath;
  */
 @UriParams
 public class GoogleCalendarConfiguration {
-    private static final List<String> DEFAULT_SCOPES = Arrays.asList(CalendarScopes.CALENDAR);
 
     @UriPath
     @Metadata(required = "true")
@@ -42,7 +41,7 @@ public class GoogleCalendarConfiguration {
     private String methodName;
 
     @UriParam(defaultValue = CalendarScopes.CALENDAR)
-    private List<String> scopes = DEFAULT_SCOPES;
+    private String scopes = CalendarScopes.CALENDAR;
 
     @UriParam
     private String clientId;
@@ -156,14 +155,16 @@ public class GoogleCalendarConfiguration {
         this.applicationName = applicationName;
     }
 
-    public List<String> getScopes() {
+    public String getScopes() {
         return scopes;
     }
 
     /**
-     * Specifies the level of permissions you want a calendar application to have to a user
account. See https://developers.google.com/google-apps/calendar/auth for more info.
+     * Specifies the level of permissions you want a calendar application to have to a user
account.
+     * You can separate multiple scopes by comma.
+     * See https://developers.google.com/google-apps/calendar/auth for more info.
      */
-    public void setScopes(List<String> scopes) {
+    public void setScopes(String scopes) {
         this.scopes = scopes;
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c94c6198/components/camel-google-calendar/src/test/resources/log4j2.properties
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/test/resources/log4j2.properties b/components/camel-google-calendar/src/test/resources/log4j2.properties
index 93d8e72..c271dfa 100644
--- a/components/camel-google-calendar/src/test/resources/log4j2.properties
+++ b/components/camel-google-calendar/src/test/resources/log4j2.properties
@@ -15,9 +15,14 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
+appender.file.type = File
+appender.file.name = file
+appender.file.fileName = target/camel-google-calendar-test.log
+appender.file.layout.type = PatternLayout
+appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
 appender.out.type = Console
 appender.out.name = out
 appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
+appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
 rootLogger.level = INFO
-rootLogger.appenderRef.out.ref = out
+rootLogger.appenderRef.file.ref = file


Mime
View raw message