Skip to content

fix: event source holder not an event source #1102

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 1 commit into from
Mar 30, 2022
Merged
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,34 +1,22 @@
package io.javaoperatorsdk.operator.processing.dependent;

import io.fabric8.kubernetes.api.model.HasMetadata;
import io.javaoperatorsdk.operator.OperatorException;
import io.javaoperatorsdk.operator.api.reconciler.Context;
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
import io.javaoperatorsdk.operator.api.reconciler.dependent.EventSourceProvider;
import io.javaoperatorsdk.operator.api.reconciler.dependent.RecentOperationCacheFiller;
import io.javaoperatorsdk.operator.api.reconciler.dependent.RecentOperationEventFilter;
import io.javaoperatorsdk.operator.processing.event.EventHandler;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.ResourceEventSource;

public abstract class AbstractEventSourceHolderDependentResource<R, P extends HasMetadata, T extends ResourceEventSource<R, P>>
extends AbstractDependentResource<R, P>
implements ResourceEventSource<R, P>, EventSourceProvider<P> {
implements EventSourceProvider<P> {
private T eventSource;
private boolean isFilteringEventSource;
private boolean isCacheFillerEventSource;

@Override
public void start() throws OperatorException {
eventSource.start();
}

@Override
public void stop() throws OperatorException {
eventSource.stop();
}

public EventSource initEventSource(EventSourceContext<P> context) {
// some sub-classes (e.g. KubernetesDependentResource) can have their event source created
// before this method is called in the managed case, so only create the event source if it
Expand All @@ -41,7 +29,7 @@ public EventSource initEventSource(EventSourceContext<P> context) {
// already been set before this method is called
isFilteringEventSource = eventSource instanceof RecentOperationEventFilter;
isCacheFillerEventSource = eventSource instanceof RecentOperationCacheFiller;
return this;
return eventSource;
}

protected abstract T createEventSource(EventSourceContext<P> context);
Expand All @@ -50,11 +38,6 @@ protected void setEventSource(T eventSource) {
this.eventSource = eventSource;
}

@Override
public void setEventHandler(EventHandler handler) {
eventSource.setEventHandler(handler);
}

protected T eventSource() {
return eventSource;
}
Expand Down