diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DependentResourceNode.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DependentResourceNode.java index 39a9ba6fe5..4c82ee19f3 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DependentResourceNode.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DependentResourceNode.java @@ -19,6 +19,10 @@ public class DependentResourceNode { private Condition activationCondition; private final DependentResource dependentResource; + DependentResourceNode(String name, DependentResource dependentResource) { + this(name, null, null, null, null, dependentResource); + } + DependentResourceNode(DependentResource dependentResource) { this(getNameFor(dependentResource), null, null, null, null, dependentResource); } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowBuilder.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowBuilder.java index a7729859a8..d65e21659c 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowBuilder.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowBuilder.java @@ -21,10 +21,15 @@ public class WorkflowBuilder

{ private boolean isCleaner = false; public WorkflowBuilder

addDependentResource(DependentResource dependentResource) { - currentNode = new DependentResourceNode<>(dependentResource); + return addDependentResource(dependentResource, null); + } + + public WorkflowBuilder

addDependentResource(DependentResource dependentResource, String name) { + currentNode = name == null ? new DependentResourceNode<>(dependentResource) + : new DependentResourceNode<>(name, dependentResource); isCleaner = isCleaner || dependentResource.isDeletable(); - final var name = currentNode.getName(); - dependentResourceNodes.put(name, currentNode); + final var actualName = currentNode.getName(); + dependentResourceNodes.put(actualName, currentNode); return this; }