diff options
author | Jozsef Csongvai <jozsef.csongvai@bell.ca> | 2020-12-09 19:49:48 -0500 |
---|---|---|
committer | Jozsef Csongvai <jozsef.csongvai@bell.ca> | 2021-03-17 22:31:31 -0400 |
commit | b96b44d6d7ca11dbbc3ad4bd2194df31fba5efb6 (patch) | |
tree | c10077ebb496410271ca3d07ca8896048c817bd9 /ms/blueprintsprocessor/modules/blueprints/blueprint-validation | |
parent | ae588292c67e20c5cae8cb3c899957aac79a676d (diff) |
Refactoring to enable on_failure for imperative workflow
BlueprintError needs to associate errors with the steps in which they occurred
in order for imperative workflow to handle on_failure properly.
Made stepName more accessible and corrected places where stepName was assigned to nodeTemplateName.
Issue-ID: CCSDK-3219
Change-Id: I7e5805745c63558cff6be533e1b99c32ad06c3db
Signed-off-by: Jozsef Csongvai <jozsef.csongvai@bell.ca>
Diffstat (limited to 'ms/blueprintsprocessor/modules/blueprints/blueprint-validation')
4 files changed, 11 insertions, 8 deletions
diff --git a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorService.kt b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorService.kt index fe3aeb1ed..aac1c2e97 100644 --- a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorService.kt +++ b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorService.kt @@ -17,6 +17,7 @@ package org.onap.ccsdk.cds.controllerblueprints.validation +import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintConstants import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintException import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BlueprintTypeValidatorService @@ -57,9 +58,10 @@ open class BlueprintDesignTimeValidatorService( // Validate Resource Definitions validateResourceDefinitions(bluePrintRuntimeService) - if (bluePrintRuntimeService.getBlueprintError().errors.size > 0) { - throw BlueprintException("failed in blueprint validation : ${bluePrintRuntimeService.getBlueprintError().errors.joinToString("\n")}") + bluePrintRuntimeService.getBlueprintError().allErrors().ifNotEmpty { + throw BlueprintException("failed in blueprint validation : ${this.joinToString("\n")}") } + return true } diff --git a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintServiceTemplateValidatorImpl.kt b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintServiceTemplateValidatorImpl.kt index b9450e66d..137e6e6b9 100644 --- a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintServiceTemplateValidatorImpl.kt +++ b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintServiceTemplateValidatorImpl.kt @@ -58,7 +58,7 @@ open class BlueprintServiceTemplateValidatorImpl(private val bluePrintTypeValida serviceTemplate.topologyTemplate?.let { validateTopologyTemplate(serviceTemplate.topologyTemplate!!) } } catch (e: Exception) { log.error("failed in blueprint service template validation", e) - error.addError(BlueprintConstants.PATH_SERVICE_TEMPLATE, paths.joinToString(BlueprintConstants.PATH_DIVIDER), e.message!!) + error.addError(BlueprintConstants.PATH_SERVICE_TEMPLATE, paths.joinToString(BlueprintConstants.PATH_DIVIDER), e.message!!, "BlueprintServiceTemplateValidator") } } diff --git a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintWorkflowValidatorImpl.kt b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintWorkflowValidatorImpl.kt index 8f9cb01c5..bff09fc83 100644 --- a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintWorkflowValidatorImpl.kt +++ b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintWorkflowValidatorImpl.kt @@ -76,7 +76,8 @@ open class BlueprintWorkflowValidatorImpl(private val bluePrintTypeValidatorServ .addError( "Failed to validate Workflow($workflowName)'s step($stepName)'s " + "definition", - paths.joinToString(BlueprintConstants.PATH_DIVIDER), e.message!! + paths.joinToString(BlueprintConstants.PATH_DIVIDER), e.message!!, + "BlueprintWorkflowValidatorImpl" ) } } diff --git a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorServiceTest.kt b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorServiceTest.kt index 49c12b95f..dd82ec5da 100644 --- a/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorServiceTest.kt +++ b/ms/blueprintsprocessor/modules/blueprints/blueprint-validation/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/validation/BlueprintDesignTimeValidatorServiceTest.kt @@ -63,10 +63,10 @@ class BlueprintDesignTimeValidatorServiceTest { workflow.steps = mutableMapOf("test" to step) workflowValidator.validate(bluePrintRuntime, workflowName, workflow) - assertEquals(1, bluePrintRuntime.getBlueprintError().errors.size) + assertEquals(1, bluePrintRuntime.getBlueprintError().allErrors().size) assertEquals( "Failed to validate Workflow(resource-assignment)'s step(test)'s definition : resource-assignment/steps/test : could't get node template for the name(TestCaseFailNoNodeTemplate)", - bluePrintRuntime.getBlueprintError().errors[0] + bluePrintRuntime.getBlueprintError().allErrors()[0] ) } @@ -96,12 +96,12 @@ class BlueprintDesignTimeValidatorServiceTest { workflow.steps = mutableMapOf("test" to step) workflowValidator.validate(bluePrintRuntime, workflowName, workflow) - assertEquals(1, bluePrintRuntime.getBlueprintError().errors.size) + assertEquals(1, bluePrintRuntime.getBlueprintError().allErrors().size) assertEquals( "Failed to validate Workflow(resource-assignment)'s step(test)'s definition : " + "resource-assignment/steps/test : NodeType(TestNodeType) derived from is 'tosca.nodes.TEST', " + "Expected 'tosca.nodes.Workflow' or 'tosca.nodes.Component'", - bluePrintRuntime.getBlueprintError().errors[0] + bluePrintRuntime.getBlueprintError().allErrors()[0] ) } |