diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java index 045b24b4c6..aac79938cd 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java @@ -1,5 +1,6 @@ package io.javaoperatorsdk.operator.processing; +import java.io.Closeable; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -17,10 +18,7 @@ import io.javaoperatorsdk.operator.api.config.ConfigurationService; import io.javaoperatorsdk.operator.api.config.ExecutorServiceManager; import io.javaoperatorsdk.operator.api.monitoring.Metrics; -import io.javaoperatorsdk.operator.processing.event.CustomResourceID; -import io.javaoperatorsdk.operator.processing.event.DefaultEventSourceManager; -import io.javaoperatorsdk.operator.processing.event.Event; -import io.javaoperatorsdk.operator.processing.event.EventHandler; +import io.javaoperatorsdk.operator.processing.event.*; import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent; import io.javaoperatorsdk.operator.processing.event.internal.ResourceAction; import io.javaoperatorsdk.operator.processing.retry.GenericRetry; @@ -34,7 +32,8 @@ * Event handler that makes sure that events are processed in a "single threaded" way per resource * UID, while buffering events which are received during an execution. */ -public class DefaultEventHandler> implements EventHandler { +public class DefaultEventHandler> + implements EventHandler, Closeable { private static final Logger log = LoggerFactory.getLogger(DefaultEventHandler.class); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/DefaultEvent.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/DefaultEvent.java deleted file mode 100644 index 7c55939da5..0000000000 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/DefaultEvent.java +++ /dev/null @@ -1,23 +0,0 @@ -package io.javaoperatorsdk.operator.processing.event; - -@SuppressWarnings("rawtypes") -public class DefaultEvent implements Event { - - private final CustomResourceID relatedCustomResource; - - public DefaultEvent(CustomResourceID targetCustomResource) { - this.relatedCustomResource = targetCustomResource; - } - - @Override - public CustomResourceID getRelatedCustomResourceID() { - return relatedCustomResource; - } - - @Override - public String toString() { - return "DefaultEvent{" + - "relatedCustomResource=" + relatedCustomResource + - '}'; - } -} diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/Event.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/Event.java index b0d51a37c0..ff871b1534 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/Event.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/Event.java @@ -1,7 +1,21 @@ package io.javaoperatorsdk.operator.processing.event; -public interface Event { +public class Event { - CustomResourceID getRelatedCustomResourceID(); + private final CustomResourceID relatedCustomResource; + public Event(CustomResourceID targetCustomResource) { + this.relatedCustomResource = targetCustomResource; + } + + public CustomResourceID getRelatedCustomResourceID() { + return relatedCustomResource; + } + + @Override + public String toString() { + return "DefaultEvent{" + + "relatedCustomResource=" + relatedCustomResource + + '}'; + } } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventHandler.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventHandler.java index e0a657e1d1..73f7867da4 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventHandler.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventHandler.java @@ -1,12 +1,7 @@ package io.javaoperatorsdk.operator.processing.event; -import java.io.Closeable; -import java.io.IOException; - -public interface EventHandler extends Closeable { +public interface EventHandler { void handleEvent(Event event); - @Override - default void close() throws IOException {} } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEvent.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEvent.java index 0c20369e0a..9752e7cf5e 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEvent.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEvent.java @@ -1,9 +1,9 @@ package io.javaoperatorsdk.operator.processing.event.internal; import io.javaoperatorsdk.operator.processing.event.CustomResourceID; -import io.javaoperatorsdk.operator.processing.event.DefaultEvent; +import io.javaoperatorsdk.operator.processing.event.Event; -public class CustomResourceEvent extends DefaultEvent { +public class CustomResourceEvent extends Event { private final ResourceAction action; diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java index b9c4c5b6a3..84a3ad75dc 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java @@ -106,7 +106,6 @@ public void start() { @Override public void close() throws IOException { - eventHandler.close(); for (SharedIndexInformer informer : sharedIndexInformers.values()) { try { log.info("Closing informer {} -> {}", controller, informer); diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/InformerEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/InformerEventSource.java index 42b1c94084..9d32432360 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/InformerEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/InformerEventSource.java @@ -13,7 +13,7 @@ import io.fabric8.kubernetes.client.informers.cache.Store; import io.javaoperatorsdk.operator.processing.event.AbstractEventSource; import io.javaoperatorsdk.operator.processing.event.CustomResourceID; -import io.javaoperatorsdk.operator.processing.event.DefaultEvent; +import io.javaoperatorsdk.operator.processing.event.Event; public class InformerEventSource extends AbstractEventSource { @@ -82,7 +82,7 @@ private void propagateEvent(T object) { return; } uids.forEach(uid -> { - DefaultEvent event = new DefaultEvent(CustomResourceID.fromResource(object)); + Event event = new Event(CustomResourceID.fromResource(object)); this.eventHandler.handleEvent(event); }); } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java index 5015df4281..e8a1b7bc20 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/TimerEventSource.java @@ -13,7 +13,7 @@ import io.fabric8.kubernetes.client.CustomResource; import io.javaoperatorsdk.operator.processing.event.AbstractEventSource; import io.javaoperatorsdk.operator.processing.event.CustomResourceID; -import io.javaoperatorsdk.operator.processing.event.DefaultEvent; +import io.javaoperatorsdk.operator.processing.event.Event; public class TimerEventSource> extends AbstractEventSource { private static final Logger log = LoggerFactory.getLogger(TimerEventSource.class); @@ -95,7 +95,7 @@ public EventProducerTimeTask(CustomResourceID customResourceUid) { public void run() { if (running.get()) { log.debug("Producing event for custom resource id: {}", customResourceUid); - eventHandler.handleEvent(new DefaultEvent(customResourceUid)); + eventHandler.handleEvent(new Event(customResourceUid)); } } } diff --git a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/DefaultEventHandlerTest.java b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/DefaultEventHandlerTest.java index f231852537..93a36d5304 100644 --- a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/DefaultEventHandlerTest.java +++ b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/DefaultEventHandlerTest.java @@ -13,7 +13,6 @@ import io.fabric8.kubernetes.client.CustomResource; import io.javaoperatorsdk.operator.processing.event.CustomResourceID; -import io.javaoperatorsdk.operator.processing.event.DefaultEvent; import io.javaoperatorsdk.operator.processing.event.DefaultEventSourceManager; import io.javaoperatorsdk.operator.processing.event.Event; import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent; @@ -315,7 +314,7 @@ private CustomResourceEvent prepareCREvent(CustomResourceID uid) { } private Event nonCREvent(CustomResourceID relatedCustomResourceUid) { - return new DefaultEvent(relatedCustomResourceUid); + return new Event(relatedCustomResourceUid); } private void overrideData(CustomResourceID id, CustomResource applyTo) {