Skip to content

Commit be5bfd9

Browse files
committed
refactor: avoid computing context several times
1 parent 2fda82b commit be5bfd9

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/BaseConfigurationService.java

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ protected <P extends HasMetadata> ControllerConfiguration<P> configFor(Reconcile
117117
final var associatedReconcilerClass =
118118
ResolvedControllerConfiguration.getAssociatedReconcilerClassName(reconciler.getClass());
119119

120+
final var context = Utils.contextFor(name);
120121
final Class<? extends Retry> retryClass = annotation.retry();
121122
final var retry = Utils.instantiateAndConfigureIfNeeded(retryClass, Retry.class,
122-
Utils.contextFor(name, null, null), configuratorFor(Retry.class, reconciler));
123+
context, configuratorFor(Retry.class, reconciler));
123124

124125
final Class<? extends RateLimiter> rateLimiterClass = annotation.rateLimiter();
125126
final var rateLimiter = Utils.instantiateAndConfigureIfNeeded(rateLimiterClass,
126-
RateLimiter.class,
127-
Utils.contextFor(name, null, null), configuratorFor(RateLimiter.class, reconciler));
127+
RateLimiter.class, context, configuratorFor(RateLimiter.class, reconciler));
128128

129129
final var reconciliationInterval = annotation.maxReconciliationInterval();
130130
long interval = -1;
@@ -133,21 +133,14 @@ protected <P extends HasMetadata> ControllerConfiguration<P> configFor(Reconcile
133133
interval = reconciliationInterval.interval();
134134
timeUnit = reconciliationInterval.timeUnit();
135135
}
136-
137-
final var itemStore =
138-
Utils.instantiateAndConfigureIfNeeded(annotation.itemStore(), ItemStore.class,
139-
Utils.contextFor(name), null);
140-
136+
141137
final var config = new ResolvedControllerConfiguration<P>(
142138
resourceClass, name, generationAware,
143139
associatedReconcilerClass, retry, rateLimiter,
144140
ResolvedControllerConfiguration.getMaxReconciliationInterval(interval, timeUnit),
145-
Utils.instantiate(annotation.onAddFilter(), OnAddFilter.class,
146-
Utils.contextFor(name, null, null)),
147-
Utils.instantiate(annotation.onUpdateFilter(), OnUpdateFilter.class,
148-
Utils.contextFor(name, null, null)),
149-
Utils.instantiate(annotation.genericFilter(), GenericFilter.class,
150-
Utils.contextFor(name, null, null)),
141+
Utils.instantiate(annotation.onAddFilter(), OnAddFilter.class, context),
142+
Utils.instantiate(annotation.onUpdateFilter(), OnUpdateFilter.class, context),
143+
Utils.instantiate(annotation.genericFilter(), GenericFilter.class, context),
151144
Set.of(valueOrDefault(annotation,
152145
io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration::namespaces,
153146
DEFAULT_NAMESPACES_SET.toArray(String[]::new))),
@@ -157,7 +150,8 @@ protected <P extends HasMetadata> ControllerConfiguration<P> configFor(Reconcile
157150
valueOrDefault(annotation,
158151
io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration::labelSelector,
159152
Constants.NO_VALUE_SET),
160-
null, itemStore);
153+
null,
154+
Utils.instantiate(annotation.itemStore(), ItemStore.class, context));
161155

162156
ResourceEventFilter<P> answer = deprecatedEventFilter(annotation);
163157
config.setEventFilter(answer != null ? answer : ResourceEventFilters.passthrough());

0 commit comments

Comments
 (0)