diff options
author | Oleg Mitsura <oleg.mitsura@amdocs.com> | 2019-07-10 15:48:53 -0400 |
---|---|---|
committer | Oleg Mitsura <oleg.mitsura@amdocs.com> | 2019-07-10 15:50:39 -0400 |
commit | a013b2936f83eb663606959286a8679c3ddfd68d (patch) | |
tree | ae7a1d3148cb01fd07f88ab7f09624410aa293c9 /ms | |
parent | e827a3aee231453f704fef1a945d13de380a83c5 (diff) |
Python executor parameters sorted again.
Issue-ID: CCSDK-1468
Signed-off-by: Oleg Mitsura <oleg.mitsura@amdocs.com>
Change-Id: If8eb50fc2e8dfa084e486b02ace163eee1bfac77
Diffstat (limited to 'ms')
2 files changed, 13 insertions, 11 deletions
diff --git a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt index c45fb881f..fa5d882b0 100644 --- a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt +++ b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt @@ -79,16 +79,8 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic val argsNode = getOptionalOperationInput(INPUT_ARGUMENT_PROPERTIES)?.returnNullIfMissing() // This prevents unescaping values, as well as quoting the each parameter, in order to allow for spaces in values - var args = "" - argsNode?.fields()?.forEach { - if (it.value.isValueNode) { - args = "$args ${it.value}" - } else { - it.value.fields().forEach { item -> - args = "$args ${item.value}" - } - } - } + val args = getOptionalOperationInput(INPUT_ARGUMENT_PROPERTIES)?.returnNullIfMissing() + ?.rootFieldsToMap()?.toSortedMap()?.values?.joinToString(" ") { formatNestedJsonNode(it) } val command = getOperationInput(INPUT_COMMAND).asText() var scriptCommand = command.replace(pythonScript.name, pythonScript.absolutePath) @@ -141,4 +133,14 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic bluePrintRuntimeService.getBluePrintError() .addError("Failed in ComponentJythonExecutor : ${runtimeException.message}") } + + private fun formatNestedJsonNode(node: JsonNode): String { + val sb = StringBuilder() + if (node.isValueNode) { + sb.append(" $node") + } else { + node.forEach { sb.append(" $it") } + } + return sb.toString() + } } diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/CustomFunctions.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/CustomFunctions.kt index ab54f566d..596ac79b3 100644 --- a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/CustomFunctions.kt +++ b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/CustomFunctions.kt @@ -135,7 +135,7 @@ fun JsonNode.returnNullIfMissing(): JsonNode? { */ fun JsonNode.rootFieldsToMap(): MutableMap<String, JsonNode> { if (this is ObjectNode) { - val propertyMap: MutableMap<String, JsonNode> = hashMapOf() + val propertyMap: MutableMap<String, JsonNode> = linkedMapOf() this.fields().forEach { propertyMap[it.key] = it.value } |