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;