Skip to content

Commit 8fae1ee

Browse files
committed
refactor: clean up
1 parent 6c6bb29 commit 8fae1ee

File tree

2 files changed

+25
-35
lines changed

2 files changed

+25
-35
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import io.fabric8.kubernetes.api.model.HasMetadata;
44

5-
@SuppressWarnings("rawtypes")
65
public class UpdateControl<T extends HasMetadata> extends BaseControl<UpdateControl<T>> {
76

87
private final T resource;
@@ -32,8 +31,7 @@ public static <T extends HasMetadata> UpdateControl<T> updateResource(T customRe
3231
return new UpdateControl<>(customResource, false, true);
3332
}
3433

35-
public static <T extends HasMetadata> UpdateControl<T> updateStatus(
36-
T customResource) {
34+
public static <T extends HasMetadata> UpdateControl<T> updateStatus(T customResource) {
3735
return new UpdateControl<>(customResource, true, false);
3836
}
3937

sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageStandaloneDependentsReconciler.java

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
import org.slf4j.Logger;
66
import org.slf4j.LoggerFactory;
77

8-
import io.fabric8.kubernetes.api.model.ConfigMap;
9-
import io.fabric8.kubernetes.api.model.Service;
10-
import io.fabric8.kubernetes.api.model.apps.Deployment;
8+
import io.fabric8.kubernetes.api.model.HasMetadata;
119
import io.fabric8.kubernetes.client.KubernetesClient;
1210
import io.javaoperatorsdk.operator.api.reconciler.Context;
1311
import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
@@ -37,56 +35,50 @@ public class WebPageStandaloneDependentsReconciler
3735
private static final Logger log =
3836
LoggerFactory.getLogger(WebPageStandaloneDependentsReconciler.class);
3937

40-
private KubernetesDependentResource<ConfigMap, WebPage> configMapDR;
41-
private KubernetesDependentResource<Deployment, WebPage> deploymentDR;
42-
private KubernetesDependentResource<Service, WebPage> serviceDR;
38+
private final Map<String, KubernetesDependentResource<?, WebPage>> dependentResources;
4339

4440
public WebPageStandaloneDependentsReconciler(KubernetesClient kubernetesClient) {
45-
createDependentResources(kubernetesClient);
41+
dependentResources = Map.of(
42+
"configmap", new ConfigMapDependentResource(),
43+
"deployment", new DeploymentDependentResource(),
44+
"service", new ServiceDependentResource());
45+
final var config = new KubernetesDependentResourceConfig()
46+
.setLabelSelector(DEPENDENT_RESOURCE_LABEL_SELECTOR);
47+
dependentResources.values().forEach(dr -> {
48+
dr.setKubernetesClient(kubernetesClient);
49+
dr.configureWith(config);
50+
});
4651
}
4752

4853
@Override
49-
public Map<String, EventSource> prepareEventSources(EventSourceContext<WebPage> context) {
50-
return Map.of(
51-
"configmap", configMapDR.initEventSource(context),
52-
"deployment", deploymentDR.initEventSource(context),
53-
"service", serviceDR.initEventSource(context));
54+
public Map<String, ? extends EventSource> prepareEventSources(
55+
EventSourceContext<WebPage> context) {
56+
dependentResources.values().forEach(dr -> dr.initEventSource(context));
57+
return dependentResources;
5458
}
5559

5660
@Override
5761
public UpdateControl<WebPage> reconcile(WebPage webPage, Context<WebPage> context)
5862
throws Exception {
5963
simulateErrorIfRequested(webPage);
6064

61-
configMapDR.reconcile(webPage, context);
62-
deploymentDR.reconcile(webPage, context);
63-
serviceDR.reconcile(webPage, context);
65+
dependentResources.values().forEach(dr -> dr.reconcile(webPage, context));
6466

65-
webPage.setStatus(
66-
createStatus(configMapDR.getResource(webPage).orElseThrow().getMetadata().getName()));
67+
webPage.setStatus(createStatus(getConfigMapName(webPage)));
6768
return UpdateControl.updateStatus(webPage);
6869
}
6970

71+
private String getConfigMapName(WebPage webPage) {
72+
return dependent("configmap").getResource(webPage).orElseThrow().getMetadata().getName();
73+
}
74+
7075
@Override
7176
public ErrorStatusUpdateControl<WebPage> updateErrorStatus(
7277
WebPage resource, Context<WebPage> retryInfo, Exception e) {
7378
return handleError(resource, e);
7479
}
7580

76-
private void createDependentResources(KubernetesClient client) {
77-
this.configMapDR = new ConfigMapDependentResource();
78-
this.configMapDR.setKubernetesClient(client);
79-
configMapDR.configureWith(new KubernetesDependentResourceConfig()
80-
.setLabelSelector(DEPENDENT_RESOURCE_LABEL_SELECTOR));
81-
82-
this.deploymentDR = new DeploymentDependentResource();
83-
deploymentDR.setKubernetesClient(client);
84-
deploymentDR.configureWith(new KubernetesDependentResourceConfig()
85-
.setLabelSelector(DEPENDENT_RESOURCE_LABEL_SELECTOR));
86-
87-
this.serviceDR = new ServiceDependentResource();
88-
serviceDR.setKubernetesClient(client);
89-
serviceDR.configureWith(new KubernetesDependentResourceConfig()
90-
.setLabelSelector(DEPENDENT_RESOURCE_LABEL_SELECTOR));
81+
private KubernetesDependentResource<? extends HasMetadata, WebPage> dependent(String name) {
82+
return dependentResources.get(name);
9183
}
9284
}

0 commit comments

Comments
 (0)