Skip to content

Commit 2f2171d

Browse files
committed
feat: make primary cache accessible from Context
1 parent b3c88fc commit 2f2171d

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/Context.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1111
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.ManagedDependentResourceContext;
1212
import io.javaoperatorsdk.operator.processing.event.EventSourceRetriever;
13+
import io.javaoperatorsdk.operator.processing.event.source.IndexerResourceCache;
1314

1415
public interface Context<P extends HasMetadata> {
1516

@@ -43,4 +44,12 @@ <R> Optional<R> getSecondaryResource(Class<R> expectedType,
4344
* ExecutorService initialized by framework for workflows. Used for workflow standalone mode.
4445
*/
4546
ExecutorService getWorkflowExecutorService();
47+
48+
/**
49+
* Retrieves the primary resource cache.
50+
*
51+
* @return the {@link IndexerResourceCache} associated with the associated {@link Reconciler} for
52+
* this context
53+
*/
54+
IndexerResourceCache<P> getPrimaryCache();
4655
}

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/DefaultContext.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.ManagedDependentResourceContext;
1414
import io.javaoperatorsdk.operator.processing.Controller;
1515
import io.javaoperatorsdk.operator.processing.event.EventSourceRetriever;
16+
import io.javaoperatorsdk.operator.processing.event.source.IndexerResourceCache;
1617

1718
public class DefaultContext<P extends HasMetadata> implements Context<P> {
1819

@@ -40,6 +41,11 @@ public <T> Set<T> getSecondaryResources(Class<T> expectedType) {
4041
return getSecondaryResourcesAsStream(expectedType).collect(Collectors.toSet());
4142
}
4243

44+
@Override
45+
public IndexerResourceCache<P> getPrimaryCache() {
46+
return controller.getEventSourceManager().getControllerResourceEventSource();
47+
}
48+
4349
@Override
4450
public <R> Stream<R> getSecondaryResourcesAsStream(Class<R> expectedType) {
4551
return controller.getEventSourceManager().getResourceEventSourcesFor(expectedType).stream()

0 commit comments

Comments
 (0)