Skip to content

Commit 5024b24

Browse files
committed
feat: configure resource class and name for controller
1 parent da026a7 commit 5024b24

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

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

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,24 @@ public class ControllerConfigurationOverrider<R extends HasMetadata> {
3636
private GenericFilter<R> genericFilter;
3737
private RateLimiter rateLimiter;
3838
private Map<DependentResourceSpec, Object> configurations;
39+
private Class<R> resourceClass;
40+
private String name;
3941

4042
private ControllerConfigurationOverrider(ControllerConfiguration<R> original) {
41-
finalizer = original.getFinalizerName();
42-
generationAware = original.isGenerationAware();
43-
namespaces = new HashSet<>(original.getNamespaces());
44-
retry = original.getRetry();
45-
labelSelector = original.getLabelSelector();
46-
customResourcePredicate = original.getEventFilter();
47-
reconciliationMaxInterval = original.maxReconciliationInterval().orElse(null);
43+
this.finalizer = original.getFinalizerName();
44+
this.generationAware = original.isGenerationAware();
45+
this.namespaces = new HashSet<>(original.getNamespaces());
46+
this.retry = original.getRetry();
47+
this.labelSelector = original.getLabelSelector();
48+
this.customResourcePredicate = original.getEventFilter();
49+
this.reconciliationMaxInterval = original.maxReconciliationInterval().orElse(null);
4850
this.onAddFilter = original.onAddFilter().orElse(null);
4951
this.onUpdateFilter = original.onUpdateFilter().orElse(null);
5052
this.genericFilter = original.genericFilter().orElse(null);
5153
this.original = original;
5254
this.rateLimiter = original.getRateLimiter();
55+
this.resourceClass = original.getResourceClass();
56+
this.name = original.getName();
5357
}
5458

5559
public ControllerConfigurationOverrider<R> withFinalizer(String finalizer) {
@@ -152,6 +156,16 @@ public ControllerConfigurationOverrider<R> withGenericFilter(GenericFilter<R> ge
152156
return this;
153157
}
154158

159+
public ControllerConfigurationOverrider<R> withName(String name) {
160+
this.name = name;
161+
return this;
162+
}
163+
164+
public ControllerConfigurationOverrider<R> withResourceClass(Class<R> resourceClass) {
165+
this.resourceClass = resourceClass;
166+
return this;
167+
}
168+
155169
public ControllerConfigurationOverrider<R> replacingNamedDependentResourceConfig(String name,
156170
Object dependentResourceConfig) {
157171

@@ -165,13 +179,12 @@ public ControllerConfigurationOverrider<R> replacingNamedDependentResourceConfig
165179
configurations = new HashMap<>(specs.size());
166180
}
167181
configurations.put(spec, dependentResourceConfig);
168-
169182
return this;
170183
}
171184

172185
public ControllerConfiguration<R> build() {
173186
final var overridden = new ResolvedControllerConfiguration<>(
174-
original.getResourceClass(), original.getName(),
187+
resourceClass, name,
175188
generationAware, original.getAssociatedReconcilerClassName(), retry, rateLimiter,
176189
reconciliationMaxInterval, onAddFilter, onUpdateFilter, genericFilter,
177190
original.getDependentResources(),

0 commit comments

Comments
 (0)