summaryrefslogtreecommitdiffstats
path: root/ms/blueprintsprocessor/modules/blueprints
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2020-05-19 12:57:27 +0000
committerGerrit Code Review <gerrit@onap.org>2020-05-19 12:57:27 +0000
commit7b99a668283dd6b8d33ee2bda7a1f3c42c9822d3 (patch)
treef6617901899c5b30add5654aed711a77f003d6f9 /ms/blueprintsprocessor/modules/blueprints
parent2f467eb7afcaad363ea08246ec473094a5346c9e (diff)
parenta726d7aa14e0ae841ede2dbdbc1a825290bf1452 (diff)
Merge "Add Naming Service & IP Assign custom resource resolution capability"
Diffstat (limited to 'ms/blueprintsprocessor/modules/blueprints')
-rw-r--r--ms/blueprintsprocessor/modules/blueprints/resource-dict/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/resource/dict/utils/BulkResourceSequencingUtils.kt12
1 files changed, 9 insertions, 3 deletions
diff --git a/ms/blueprintsprocessor/modules/blueprints/resource-dict/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/resource/dict/utils/BulkResourceSequencingUtils.kt b/ms/blueprintsprocessor/modules/blueprints/resource-dict/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/resource/dict/utils/BulkResourceSequencingUtils.kt
index 9a5523113..422f65157 100644
--- a/ms/blueprintsprocessor/modules/blueprints/resource-dict/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/resource/dict/utils/BulkResourceSequencingUtils.kt
+++ b/ms/blueprintsprocessor/modules/blueprints/resource-dict/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/resource/dict/utils/BulkResourceSequencingUtils.kt
@@ -17,6 +17,7 @@
package org.onap.ccsdk.cds.controllerblueprints.resource.dict.utils
import org.apache.commons.collections.CollectionUtils
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
import org.onap.ccsdk.cds.controllerblueprints.core.asListOfString
import org.onap.ccsdk.cds.controllerblueprints.core.utils.TopologicalSortingUtils
import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
@@ -51,20 +52,25 @@ object BulkResourceSequencingUtils {
resourceAssignmentMap.forEach { _, resourceAssignment ->
// Get the dependencies from the assignment sources, if not get from the Resource Assignment dependencies
if (resourceAssignment.dictionarySourceDefinition != null) {
- val dependencies = resourceAssignment.dictionarySourceDefinition?.properties?.get("key-dependencies")?.asListOfString()
+ val dependencies =
+ resourceAssignment.dictionarySourceDefinition?.properties?.get("key-dependencies")?.asListOfString()
dependencies?.forEach { dependency ->
topologySorting.add(resourceAssignmentMap[dependency]!!, resourceAssignment)
}
} else if (CollectionUtils.isNotEmpty(resourceAssignment.dependencies)) {
for (dependency in resourceAssignment.dependencies!!) {
- topologySorting.add(resourceAssignmentMap[dependency]!!, resourceAssignment)
+ val ra = resourceAssignmentMap[dependency]
+ ?: throw BluePrintProcessorException("Couldn't get Resource Assignment dependency " +
+ "Key($dependency)")
+ topologySorting.add(ra, resourceAssignment)
}
} else {
topologySorting.add(startResourceAssignment, resourceAssignment)
}
}
- val sequencedResourceAssignments: MutableList<ResourceAssignment> = topologySorting.topSort()!! as MutableList<ResourceAssignment>
+ val sequencedResourceAssignments: MutableList<ResourceAssignment> =
+ topologySorting.topSort()!! as MutableList<ResourceAssignment>
log.trace("Sorted Sequenced Assignments ({})", sequencedResourceAssignments)
var batchResourceAssignment: MutableList<ResourceAssignment>? = null