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 2021/01/14 07:43:04 UTC

[camel] 04/06: Validate configuration at consumer creation

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 0c533812af6c20f15cd1f25c4da3e7feac9467f4
Author: jmerljak <jm...@users.noreply.github.com>
AuthorDate: Wed Jan 13 14:31:15 2021 +0100

    Validate configuration at consumer creation
---
 .../google/calendar/stream/GoogleCalendarStreamConsumer.java  |  3 ---
 .../google/calendar/stream/GoogleCalendarStreamEndpoint.java  | 11 +++++++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
index 8111c9f..d129b35 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamConsumer.java
@@ -24,7 +24,6 @@ import java.util.Queue;
 
 import com.google.api.client.googleapis.json.GoogleJsonResponseException;
 import com.google.api.client.util.DateTime;
-import com.google.api.client.util.Preconditions;
 import com.google.api.services.calendar.Calendar;
 import com.google.api.services.calendar.model.Event;
 import com.google.api.services.calendar.model.Events;
@@ -72,7 +71,6 @@ public class GoogleCalendarStreamConsumer extends ScheduledBatchPollingConsumer
     protected int poll() throws Exception {
         Calendar.Events.List request = getClient().events().list(getConfiguration().getCalendarId());
         if (ObjectHelper.isNotEmpty(getConfiguration().getQuery())) {
-            Preconditions.checkArgument(!getConfiguration().isSyncFlow(), "query is incompatible with sync flow.");
             request.setQ(getConfiguration().getQuery());
         }
         if (ObjectHelper.isNotEmpty(getConfiguration().getMaxResults())) {
@@ -84,7 +82,6 @@ public class GoogleCalendarStreamConsumer extends ScheduledBatchPollingConsumer
             request.setTimeMin(new DateTime(date));
         }
         if (getConfiguration().isConsiderLastUpdate()) {
-            Preconditions.checkArgument(!getConfiguration().isSyncFlow(), "considerLastUpdate is incompatible with sync flow.");
             if (ObjectHelper.isNotEmpty(lastUpdate)) {
                 request.setUpdatedMin(lastUpdate);
             }
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
index 37f9bc5..8222c43 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/stream/GoogleCalendarStreamEndpoint.java
@@ -28,6 +28,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.support.ScheduledPollEndpoint;
+import org.apache.camel.util.ObjectHelper;
 
 /**
  * Poll for changes in a Google Calendar.
@@ -56,6 +57,16 @@ public class GoogleCalendarStreamEndpoint extends ScheduledPollEndpoint {
 
     @Override
     public Consumer createConsumer(Processor processor) throws Exception {
+        // check for incompatible configuration options
+        if (configuration.isSyncFlow()) {
+            if (ObjectHelper.isNotEmpty(configuration.getQuery())) {
+                throw new IllegalArgumentException("'query' parameter is incompatible with sync flow.");
+            }
+            if (configuration.isConsiderLastUpdate()) {
+                throw new IllegalArgumentException("'considerLastUpdate' is incompatible with sync flow.");
+            }
+        }
+
         final GoogleCalendarStreamConsumer consumer = new GoogleCalendarStreamConsumer(this, processor);
         configureConsumer(consumer);
         return consumer;