Skip to content

Cleaning event handler API #624

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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;
Expand All @@ -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<R extends CustomResource<?, ?>> implements EventHandler {
public class DefaultEventHandler<R extends CustomResource<?, ?>>
implements EventHandler, Closeable {

private static final Logger log = LoggerFactory.getLogger(DefaultEventHandler.class);

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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 +
'}';
}
}
Original file line number Diff line number Diff line change
@@ -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 {}
}
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,6 @@ public void start() {

@Override
public void close() throws IOException {
eventHandler.close();
for (SharedIndexInformer<T> informer : sharedIndexInformers.values()) {
try {
log.info("Closing informer {} -> {}", controller, informer);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<T extends HasMetadata> extends AbstractEventSource {

Expand Down Expand Up @@ -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);
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<R extends CustomResource<?, ?>> extends AbstractEventSource {
private static final Logger log = LoggerFactory.getLogger(TimerEventSource.class);
Expand Down Expand Up @@ -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));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down