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 <jmerl...@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;