Skip to content

Commit 65894e5

Browse files
committed
fix: properly init nodes from dependent resource spec
1 parent fd6fd40 commit 65894e5

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DefaultManagedWorkflow.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,11 @@ public Workflow<P> resolve(KubernetesClient client,
7474
ControllerConfiguration<P> configuration) {
7575
final var alreadyResolved = new HashMap<String, DependentResourceNode>(specs.size());
7676
for (DependentResourceSpec spec : specs) {
77-
final var node =
78-
new DependentResourceNode(spec.getName(), resolve(spec, client, configuration));
77+
final var node = new DependentResourceNode(spec.getName(),
78+
spec.getReconcileCondition(),
79+
spec.getDeletePostCondition(),
80+
spec.getReadyCondition(),
81+
resolve(spec, client, configuration));
7982
alreadyResolved.put(node.getName(), node);
8083
spec.getDependsOn()
8184
.forEach(depend -> node.addDependsOnRelation(alreadyResolved.get((String) depend)));

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DependentResourceNode.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,21 @@ public class DependentResourceNode<R, P extends HasMetadata> {
1616
private Condition<R, P> reconcilePrecondition;
1717
private Condition<R, P> deletePostcondition;
1818
private Condition<R, P> readyPostcondition;
19-
private DependentResource<R, P> dependentResource;
19+
private final DependentResource<R, P> dependentResource;
20+
21+
DependentResourceNode(DependentResource<R, P> dependentResource) {
22+
this(getNameFor(dependentResource), null, null, null, dependentResource);
23+
}
24+
25+
public DependentResourceNode(String name, Condition<R, P> reconcilePrecondition,
26+
Condition<R, P> deletePostcondition, Condition<R, P> readyPostcondition,
27+
DependentResource<R, P> dependentResource) {
28+
this.name = name;
29+
this.reconcilePrecondition = reconcilePrecondition;
30+
this.deletePostcondition = deletePostcondition;
31+
this.readyPostcondition = readyPostcondition;
32+
this.dependentResource = dependentResource;
33+
}
2034

2135
public List<? extends DependentResourceNode> getDependsOn() {
2236
return dependsOn;
@@ -69,10 +83,6 @@ public DependentResource<R, P> getDependentResource() {
6983
return dependentResource;
7084
}
7185

72-
public void setDependentResource(DependentResource<R, P> dependentResource) {
73-
this.dependentResource = dependentResource;
74-
}
75-
7686
@Override
7787
public boolean equals(Object o) {
7888
if (this == o) {
@@ -90,16 +100,6 @@ public int hashCode() {
90100
return name.hashCode();
91101
}
92102

93-
94-
DependentResourceNode(DependentResource<R, P> dependentResource) {
95-
this(getNameFor(dependentResource), dependentResource);
96-
}
97-
98-
DependentResourceNode(String name, DependentResource<R, P> dependentResource) {
99-
this.name = name;
100-
setDependentResource(dependentResource);
101-
}
102-
103103
@SuppressWarnings("rawtypes")
104104
static String getNameFor(DependentResource dependentResource) {
105105
return DependentResource.defaultNameFor(dependentResource.getClass()) + "#"

0 commit comments

Comments
 (0)