fix: DefaultEventHandler should get its cache from the CR event source · java-tools/java-operator-sdk@c29c650 · GitHub
Skip to content

Commit c29c650

Browse files
committed
fix: DefaultEventHandler should get its cache from the CR event source
1 parent b569ffd commit c29c650

4 files changed

Lines changed: 44 additions & 9 deletions

File tree

‎operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java‎

Lines changed: 2 additions & 7 deletions

‎operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/DefaultEventSourceManager.java‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import io.fabric8.kubernetes.client.dsl.Resource;
77
import io.javaoperatorsdk.operator.api.ResourceController;
88
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
9+
import io.javaoperatorsdk.operator.processing.CustomResourceCache;
910
import io.javaoperatorsdk.operator.processing.DefaultEventHandler;
1011
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEventSource;
1112
import io.javaoperatorsdk.operator.processing.event.internal.TimerEventSource;
@@ -15,6 +16,7 @@
1516
import java.util.Optional;
1617
import java.util.concurrent.ConcurrentHashMap;
1718
import java.util.concurrent.locks.ReentrantLock;
19+
import java.util.function.Predicate;
1820
import org.slf4j.Logger;
1921
import org.slf4j.LoggerFactory;
2022

@@ -134,5 +136,24 @@ public void cleanup(String customResourceUid) {
134136
.keySet()
135137
.forEach(k -> deRegisterCustomResourceFromEventSource(k, customResourceUid));
136138
eventSources.remove(customResourceUid);
139+
getCache().cleanup(customResourceUid);
140+
}
141+
142+
// todo: remove
143+
public CustomResourceCache getCache() {
144+
final var source =
145+
(CustomResourceEventSource)
146+
getRegisteredEventSources().get(CUSTOM_RESOURCE_EVENT_SOURCE_NAME);
147+
return source.getCache();
148+
}
149+
150+
// todo: remove
151+
public Optional<CustomResource> getLatestResource(String customResourceUid) {
152+
return getCache().getLatestResource(customResourceUid);
153+
}
154+
155+
// todo: remove
156+
public void cacheResource(CustomResource resource, Predicate<CustomResource> predicate) {
157+
getCache().cacheResource(resource, predicate);
137158
}
138159
}

‎operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,4 +193,9 @@ public void onClose(WatcherException e) {
193193
System.exit(1);
194194
}
195195
}
196+
197+
// todo: remove
198+
public CustomResourceCache getCache() {
199+
return customResourceCache;
200+
}
196201
}

‎operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/DefaultEventHandlerTest.java‎

Lines changed: 16 additions & 2 deletions

0 commit comments

Comments
 (0)