Skip to content

Commit 3972845

Browse files
committed
wip
1 parent 405af0d commit 3972845

File tree

5 files changed

+22
-20
lines changed

5 files changed

+22
-20
lines changed

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

+9
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,15 @@ Set<DependentResourceNode<?, P>> getBottomLevelResource() {
8282
return bottomLevelResource;
8383
}
8484

85+
List<DependentResourceNode<?, P>> getDependents(DependentResourceNode<?, P> node) {
86+
var deps = dependents.get(node);
87+
if (deps == null) {
88+
return Collections.emptyList();
89+
} else {
90+
return deps;
91+
}
92+
}
93+
8594
Map<DependentResourceNode<?, P>, List<DependentResourceNode<?, P>>> getDependents() {
8695
return dependents;
8796
}

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -142,16 +142,16 @@ private boolean alreadyVisited(
142142
}
143143

144144
private boolean allParentsCleaned(
145-
DependentResourceNode<?, ?> dependentResourceNode) {
146-
var parents = workflow.getDependents().get(dependentResourceNode);
145+
DependentResourceNode<?, P> dependentResourceNode) {
146+
var parents = workflow.getDependents(dependentResourceNode);
147147
return parents.isEmpty()
148148
|| parents.stream()
149149
.allMatch(d -> alreadyVisited(d) && !notReady.contains(d));
150150
}
151151

152152
private boolean hasErroredParent(
153-
DependentResourceNode<?, ?> dependentResourceNode) {
154-
var parents = workflow.getDependents().get(dependentResourceNode);
153+
DependentResourceNode<?, P> dependentResourceNode) {
154+
var parents = workflow.getDependents(dependentResourceNode);
155155
return !parents.isEmpty()
156156
&& parents.stream().anyMatch(exceptionsDuringExecution::containsKey);
157157
}

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

+5-8
Original file line numberDiff line numberDiff line change
@@ -178,14 +178,11 @@ private boolean isReconcilingNow(DependentResourceNode<?, ?> dependentResourceNo
178178

179179
private synchronized void handleDependentsReconcile(
180180
DependentResourceNode<?, P> dependentResourceNode, boolean onlyReconcileForPossibleDelete) {
181-
var dependents = workflow.getDependents().get(dependentResourceNode);
182-
if (dependents != null) {
183-
184-
dependents.forEach(d -> {
185-
log.debug("Handle reconcile for dependent: {} of parent:{}", d, dependentResourceNode);
186-
handleReconcile(d, onlyReconcileForPossibleDelete);
187-
});
188-
}
181+
var dependents = workflow.getDependents(dependentResourceNode);
182+
dependents.forEach(d -> {
183+
log.debug("Handle reconcile for dependent: {} of parent:{}", d, dependentResourceNode);
184+
handleReconcile(d, onlyReconcileForPossibleDelete);
185+
});
189186
}
190187

191188
private boolean noMoreExecutionsScheduled() {

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/ExecutionAssert.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public ExecutionAssert notReconciled(DependentResource<?, ?>... dependentResourc
8484

8585
private void checkIfReconciled(int i, DependentResource<?, ?>[] dependentResources) {
8686
if (!getActualDependentResources().contains(dependentResources[i])) {
87-
failWithMessage("Dependent resource not reconciled on place %i", i);
87+
failWithMessage("Dependent resource not reconciled on place %d", i);
8888
}
8989
}
9090
}

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowCleanupExecutorTest.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package io.javaoperatorsdk.operator.processing.dependent.workflow;
22

3-
import org.assertj.core.api.Assertions;
4-
import org.junit.jupiter.api.Test;
5-
63
import io.javaoperatorsdk.operator.processing.dependent.workflow.builder.WorkflowBuilder;
74
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;
85

@@ -15,17 +12,16 @@ class WorkflowCleanupExecutorTest extends AbstractWorkflowExecutorTest {
1512
protected TestDeleterDependent dd2 = new TestDeleterDependent("DR_DELETER_2");
1613
protected TestDeleterDependent dd3 = new TestDeleterDependent("DR_DELETER_3");
1714

18-
@Test
15+
// @Test
1916
void cleanUpDiamondWorkflow() {
2017
var workflow = new WorkflowBuilder<TestCustomResource>()
2118
.addDependent(dd1).build()
2219
.addDependent(dr1).dependsOn(dd1).build()
2320
.addDependent(dd2).dependsOn(dd1).build()
24-
.addDependent(dd3).dependsOn(dr1,dd2).build()
21+
.addDependent(dd3).dependsOn(dr1, dd2).build()
2522
.build();
2623

27-
var res = workflow.cleanup(new TestCustomResource(), null);
28-
24+
workflow.cleanup(new TestCustomResource(), null);
2925

3026
assertThat(executionHistory).reconciledInOrder(dd1, dd2, dd3).reconciledInOrder();
3127
}

0 commit comments

Comments
 (0)