diff options
author | KAPIL SINGAL <ks220y@att.com> | 2021-03-24 01:58:36 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2021-03-24 01:58:36 +0000 |
commit | 49d3b2da98ac4b5d589555c06697c8e2027ecc59 (patch) | |
tree | 0031356438d7664cab5efdc2aad2620f95004c83 /ms/blueprintsprocessor/modules/services | |
parent | dd0d82fcb599bd3c63cfaacf578fcee6553a9f1b (diff) | |
parent | 42bea4afb523db0215fc2446b078c6c1824ee1ea (diff) |
Merge "Prohibit cycles in imperative workflows" into honolulu
Diffstat (limited to 'ms/blueprintsprocessor/modules/services')
-rw-r--r-- | ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/ImperativeWorkflowExecutionService.kt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/ImperativeWorkflowExecutionService.kt b/ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/ImperativeWorkflowExecutionService.kt index 2278dbfb4..561136a87 100644 --- a/ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/ImperativeWorkflowExecutionService.kt +++ b/ms/blueprintsprocessor/modules/services/workflow-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/ImperativeWorkflowExecutionService.kt @@ -23,6 +23,7 @@ import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceOutp import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.Status import org.onap.ccsdk.cds.controllerblueprints.common.api.EventType import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintConstants +import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintException import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintProcessorException import org.onap.ccsdk.cds.controllerblueprints.core.MDCContext import org.onap.ccsdk.cds.controllerblueprints.core.asGraph @@ -30,6 +31,7 @@ import org.onap.ccsdk.cds.controllerblueprints.core.checkNotEmpty import org.onap.ccsdk.cds.controllerblueprints.core.data.EdgeLabel import org.onap.ccsdk.cds.controllerblueprints.core.data.Graph import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BlueprintWorkflowExecutionService +import org.onap.ccsdk.cds.controllerblueprints.core.isAcyclic import org.onap.ccsdk.cds.controllerblueprints.core.logger import org.onap.ccsdk.cds.controllerblueprints.core.service.AbstractBlueprintWorkFlowService import org.onap.ccsdk.cds.controllerblueprints.core.service.BlueprintRuntimeService @@ -57,6 +59,10 @@ class ImperativeWorkflowExecutionService( val graph = bluePrintContext.workflowByName(workflowName).asGraph() + if (!graph.isAcyclic()) { + throw BlueprintException("Imperative workflow must be acyclic. Check on_success/on_failure for circular references") + } + return coroutineScope { ImperativeBlueprintWorkflowService( nodeTemplateExecutionService, |