From 74c548363d3dafd8ac26f0aacaa9a457ce29dfd5 Mon Sep 17 00:00:00 2001 From: Brinda Santh Date: Thu, 1 Aug 2019 09:12:04 -0400 Subject: [PATCH] Add remote python executor DSL properties Change-Id: I7888ac302da2a51ca34c531b7553d04af13786ac Issue-ID: CCSDK-1380 Signed-off-by: Brinda Santh --- .../component-remote-python-executor.json | 4 + .../executor/ComponentRemotePythonExecutor.kt | 1 + .../executor/ComponentRemotePythonExecutorDSL.kt | 163 +++++++++++++++++++++ .../ComponentRemotePythonExecutorDSLTest.kt | 56 +++++++ .../resolution/ResourceResolutionComponentDSL.kt | 44 ++---- .../ResourceResolutionComponentDSLTest.kt | 2 +- .../execution/ComponentScriptExecutorDSL.kt | 24 +-- .../execution/RemoteScriptExecutionService.kt | 52 +++---- .../core/dsl/BluePrintTemplateDSLBuilder.kt | 2 +- 9 files changed, 271 insertions(+), 77 deletions(-) create mode 100644 ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSL.kt create mode 100644 ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSLTest.kt diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json b/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json index caab5f7ac..1c8011382 100644 --- a/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json +++ b/components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json @@ -12,6 +12,10 @@ "entry_schema": { "type": "string" } + }, + "response-data": { + "required": false, + "type": "json" } }, "capabilities": { 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 0f35e6338..2a227ebe1 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 @@ -48,6 +48,7 @@ open class ComponentRemotePythonExecutor(private val remoteScriptExecutionServic const val ATTRIBUTE_PREPARE_ENV_LOG = "prepare-environment-logs" const val ATTRIBUTE_EXEC_CMD_LOG = "execute-command-logs" + const val ATTRIBUTE_RESPONSE_DATA = "response-data" } override suspend fun processNB(executionRequest: ExecutionServiceInput) { diff --git a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSL.kt b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSL.kt new file mode 100644 index 000000000..fee87498d --- /dev/null +++ b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSL.kt @@ -0,0 +1,163 @@ +/* + * Copyright © 2019 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.ccsdk.cds.blueprintsprocessor.functions.python.executor + +import com.fasterxml.jackson.databind.JsonNode +import com.fasterxml.jackson.databind.node.ArrayNode +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes +import org.onap.ccsdk.cds.controllerblueprints.core.asJsonPrimitive +import org.onap.ccsdk.cds.controllerblueprints.core.asJsonType +import org.onap.ccsdk.cds.controllerblueprints.core.data.DataType +import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate +import org.onap.ccsdk.cds.controllerblueprints.core.data.NodeType +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.AbstractNodeTemplateImplBuilder +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.PropertiesAssignmentBuilder +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.dataType +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.nodeType +import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils + +/** Component Extensions **/ +fun BluePrintTypes.nodeTypeComponentRemotePythonExecutor(): NodeType { + return nodeType(id = "component-remote-python-executor", version = BluePrintConstants.DEFAULT_VERSION_NUMBER, + derivedFrom = BluePrintConstants.MODEL_TYPE_NODE_COMPONENT, + description = "This is Remote Python Execution Component.") { + + attribute(ComponentRemotePythonExecutor.ATTRIBUTE_PREPARE_ENV_LOG, BluePrintConstants.DATA_TYPE_STRING, + false) + attribute(ComponentRemotePythonExecutor.ATTRIBUTE_EXEC_CMD_LOG, BluePrintConstants.DATA_TYPE_LIST, + false) { + entrySchema(BluePrintConstants.DATA_TYPE_STRING) + } + attribute(ComponentRemotePythonExecutor.ATTRIBUTE_RESPONSE_DATA, BluePrintConstants.DATA_TYPE_JSON, + false) + + operation("ComponentRemotePythonExecutor", "ComponentRemotePythonExecutor Operation") { + inputs { + property(ComponentRemotePythonExecutor.INPUT_ENDPOINT_SELECTOR, BluePrintConstants.DATA_TYPE_STRING, + false, "Remote Container or Server selector name.") { + defaultValue(ComponentRemotePythonExecutor.DEFAULT_SELECTOR) + } + property(ComponentRemotePythonExecutor.INPUT_DYNAMIC_PROPERTIES, BluePrintConstants.DATA_TYPE_JSON, + false, "Dynamic Json Content or DSL Json reference.") + + property(ComponentRemotePythonExecutor.INPUT_ARGUMENT_PROPERTIES, BluePrintConstants.DATA_TYPE_JSON, + false, "Argument Json Content or DSL Json reference.") + + property(ComponentRemotePythonExecutor.INPUT_COMMAND, BluePrintConstants.DATA_TYPE_STRING, + true, "Command to execute.") + + property(ComponentRemotePythonExecutor.INPUT_PACKAGES, BluePrintConstants.DATA_TYPE_LIST, + false, "Packages to install based on type.") { + entrySchema("dt-system-packages") + } + } + } + } +} + +fun BluePrintTypes.dataTypeDtSystemPackages(): DataType { + return dataType(id = "dt-system-packages", version = BluePrintConstants.DEFAULT_VERSION_NUMBER, + derivedFrom = BluePrintConstants.MODEL_TYPE_DATATYPES_ROOT, + description = "This represent System Package Data Type") { + property("type", BluePrintConstants.DATA_TYPE_LIST, true, "") { + constrain { + entrySchema(BluePrintConstants.DATA_TYPE_STRING) + validValues(arrayListOf("ansible_galaxy".asJsonPrimitive(), "pip".asJsonPrimitive())) + } + } + property("package", BluePrintConstants.DATA_TYPE_LIST, true, "") { + entrySchema(BluePrintConstants.DATA_TYPE_STRING) + } + } +} + +/** Component Builder */ +fun BluePrintTypes.nodeTemplateComponentRemotePythonExecutor(id: String, + description: String, + block: ComponentRemotePythonExecutorNodeTemplateImplBuilder.() -> Unit) + : NodeTemplate { + return ComponentRemotePythonExecutorNodeTemplateImplBuilder(id, description).apply(block).build() +} + +class ComponentRemotePythonExecutorNodeTemplateImplBuilder(id: String, description: String) : + AbstractNodeTemplateImplBuilder(id, "component-remote-python-executor", + "ComponentRemotePythonExecutor", description) + +class DtSystemPackageDataTypeBuilder : PropertiesAssignmentBuilder() { + + fun type(type: String) = type(type.asJsonPrimitive()) + + fun type(type: JsonNode) { + property("type", type) + } + + fun packages(packages: String) = packages(packages.asJsonType()) + + fun packages(packages: List) = packages(packages.asJsonType()) + + fun packages(packages: JsonNode) { + property("package", packages) + } +} + +class ComponentRemotePythonExecutorInputAssignmentBuilder : PropertiesAssignmentBuilder() { + + private var packageList: ArrayNode? = null + + fun endpointSelector(endpointSelector: String) = endpointSelector(endpointSelector.asJsonPrimitive()) + + fun endpointSelector(endpointSelector: JsonNode) { + property(ComponentRemotePythonExecutor.INPUT_ENDPOINT_SELECTOR, endpointSelector) + } + + fun dynamicProperties(dynamicProperties: String) = dynamicProperties(dynamicProperties.asJsonType()) + + fun dynamicProperties(dynamicProperties: JsonNode) { + property(ComponentRemotePythonExecutor.INPUT_DYNAMIC_PROPERTIES, dynamicProperties) + } + + fun argumentProperties(argumentProperties: String) = argumentProperties(argumentProperties.asJsonType()) + + fun argumentProperties(argumentProperties: JsonNode) { + property(ComponentRemotePythonExecutor.INPUT_ARGUMENT_PROPERTIES, argumentProperties) + } + + fun command(command: String) = command(command.asJsonPrimitive()) + + fun command(command: JsonNode) { + property(ComponentRemotePythonExecutor.INPUT_COMMAND, command) + } + + fun packages(block: DtSystemPackageDataTypeBuilder.() -> Unit) { + if (packageList == null) + packageList = JacksonUtils.objectMapper.createArrayNode() + val dtSysyemPackagePropertyAssignments = DtSystemPackageDataTypeBuilder().apply(block).build() + packageList!!.add(dtSysyemPackagePropertyAssignments.asJsonType()) + } + + override fun build(): MutableMap { + val propertyAssignments = super.build() + if (packageList != null) { + propertyAssignments[ComponentRemotePythonExecutor.INPUT_PACKAGES] = packageList!! + } + return propertyAssignments + } +} + +class ComponentRemotePythonExecutorOutputAssignmentBuilder : PropertiesAssignmentBuilder() \ No newline at end of file diff --git a/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSLTest.kt b/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSLTest.kt new file mode 100644 index 000000000..5c4b59034 --- /dev/null +++ b/ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSLTest.kt @@ -0,0 +1,56 @@ +/* + * Copyright © 2019 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.onap.ccsdk.cds.blueprintsprocessor.functions.python.executor + +import org.junit.Test +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes +import kotlin.test.assertNotNull + +class ComponentRemotePythonExecutorDSLTest { + + @Test + fun testNodeTypeComponentRemotePythonExecutor() { + val nodeType = BluePrintTypes.nodeTypeComponentRemotePythonExecutor() + //println(nodeType.asJsonString(true)) + assertNotNull(nodeType, "failed to generate nodeTypeComponentRemotePythonExecutor") + } + + @Test + fun testNodeTemplateComponentRemotePythonExecutor() { + val nodeTemplate = BluePrintTypes.nodeTemplateComponentRemotePythonExecutor("test-nodetemplate", + "test nodetemplate") { + operation("test operation") { + inputs { + endpointSelector("remote-container") + command("python sample.py") + dynamicProperties("""{ + "prop1" : "1234", + "prop2" : true, + "prop3" : 23 + }""".trimIndent()) + argumentProperties("""["one", "two"]""") + packages { + type("pip") + packages(arrayListOf("ncclient", "lxml")) + } + } + } + } + //println(nodeTemplate.asJsonString(true)) + assertNotNull(nodeTemplate, "failed to generate nodeTemplateComponentRemotePythonExecutor") + } +} \ No newline at end of file diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSL.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSL.kt index c71541efd..a44750d11 100644 --- a/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSL.kt +++ b/ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSL.kt @@ -94,65 +94,49 @@ class ComponentResourceResolutionNodeTemplateImplBuilder(id: String, description class ComponentResourceResolutionInputAssignmentBuilder : PropertiesAssignmentBuilder() { - fun requestId(requestId: String) { - requestId(requestId.asJsonPrimitive()) - } + fun requestId(requestId: String) = requestId(requestId.asJsonPrimitive()) fun requestId(requestId: JsonNode) { property(ResourceResolutionComponent.INPUT_REQUEST_ID, requestId) } - fun resourceId(resourceId: String) { - resourceId(resourceId.asJsonPrimitive()) - } + fun resourceId(resourceId: String) = resourceId(resourceId.asJsonPrimitive()) fun resourceId(resourceId: JsonNode) { property(ResourceResolutionComponent.INPUT_RESOURCE_ID, resourceId) } - fun actionName(actionName: String) { - actionName(actionName.asJsonPrimitive()) - } + fun actionName(actionName: String) = actionName(actionName.asJsonPrimitive()) fun actionName(actionName: JsonNode) { property(ResourceResolutionComponent.INPUT_ACTION_NAME, actionName) } - fun resolutionKey(resolutionKey: String) { - resolutionKey(resolutionKey.asJsonPrimitive()) - } + fun resolutionKey(resolutionKey: String) = resolutionKey(resolutionKey.asJsonPrimitive()) fun resolutionKey(resolutionKey: JsonNode) { property(ResourceResolutionComponent.INPUT_RESOLUTION_KEY, resolutionKey) } - fun dynamicProperty(dynamicProperty: String) { - dynamicProperty(dynamicProperty.asJsonType()) - } + fun dynamicProperties(dynamicProperties: String) = dynamicProperties(dynamicProperties.asJsonType()) - fun dynamicProperty(dynamicProperty: JsonNode) { - property(ResourceResolutionComponent.INPUT_DYNAMIC_PROPERTIES, dynamicProperty) + fun dynamicProperties(dynamicProperties: JsonNode) { + property(ResourceResolutionComponent.INPUT_DYNAMIC_PROPERTIES, dynamicProperties) } - fun occurrence(occurrence: Int) { - occurrence(occurrence.asJsonPrimitive()) - } + fun occurrence(occurrence: Int) = occurrence(occurrence.asJsonPrimitive()) fun occurrence(resolutionKey: JsonNode) { property(ResourceResolutionComponent.INPUT_OCCURRENCE, resolutionKey) } - fun storeResult(storeResult: Boolean) { - storeResult(storeResult.asJsonPrimitive()) - } + fun storeResult(storeResult: Boolean) = storeResult(storeResult.asJsonPrimitive()) fun storeResult(storeResult: JsonNode) { property(ResourceResolutionComponent.INPUT_STORE_RESULT, storeResult) } - fun resourceType(resourceType: String) { - resourceType(resourceType.asJsonPrimitive()) - } + fun resourceType(resourceType: String) = resourceType(resourceType.asJsonPrimitive()) fun resourceType(resourceType: JsonNode) { property(ResourceResolutionComponent.INPUT_RESOURCE_TYPE, resourceType) @@ -171,17 +155,13 @@ class ComponentResourceResolutionInputAssignmentBuilder : PropertiesAssignmentBu class ComponentResourceResolutionOutputAssignmentBuilder : PropertiesAssignmentBuilder() { - fun status(status: String) { - status(status.asJsonPrimitive()) - } + fun status(status: String) = status(status.asJsonPrimitive()) fun status(status: JsonNode) { property(ResourceResolutionComponent.OUTPUT_STATUS, status) } - fun resourceAssignmentParams(resourceAssignmentParams: String) { - resourceAssignmentParams(resourceAssignmentParams.asJsonType()) - } + fun resourceAssignmentParams(resourceAssignmentParams: String) = resourceAssignmentParams(resourceAssignmentParams.asJsonType()) fun resourceAssignmentParams(resourceAssignmentParams: JsonNode) { property(ResourceResolutionComponent.OUTPUT_RESOURCE_ASSIGNMENT_PARAMS, resourceAssignmentParams) diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSLTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSLTest.kt index 16052ae74..d0566785e 100644 --- a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSLTest.kt +++ b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSLTest.kt @@ -42,7 +42,7 @@ class ResourceResolutionComponentDSLTest { resourceType("vnf") storeResult(false) artifactPrefixNames(arrayListOf("template1", "template2")) - dynamicProperty("""{ + dynamicProperties("""{ "prop1" : "1234", "prop2" : true, "prop3" : 23 diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/ComponentScriptExecutorDSL.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/ComponentScriptExecutorDSL.kt index 1b905fa60..de6a8bd76 100644 --- a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/ComponentScriptExecutorDSL.kt +++ b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/ComponentScriptExecutorDSL.kt @@ -78,44 +78,34 @@ class ComponentScriptExecutorNodeTemplateImplBuilder(id: String, description: St class ComponentScriptExecutorInputAssignmentBuilder : PropertiesAssignmentBuilder() { - fun type(type: String) { - type(type.asJsonPrimitive()) - } + fun type(type: String) = type(type.asJsonPrimitive()) fun type(type: JsonNode) { property(ComponentScriptExecutor.INPUT_SCRIPT_TYPE, type) } - fun scriptClassReference(scriptClassReference: String) { - scriptClassReference(scriptClassReference.asJsonPrimitive()) - } + fun scriptClassReference(scriptClassReference: String) = scriptClassReference(scriptClassReference.asJsonPrimitive()) fun scriptClassReference(scriptClassReference: JsonNode) { property(ComponentScriptExecutor.INPUT_SCRIPT_CLASS_REFERENCE, scriptClassReference) } - fun dynamicProperty(dynamicProperty: String) { - dynamicProperty(dynamicProperty.asJsonType()) - } + fun dynamicProperties(dynamicProperties: String) = dynamicProperties(dynamicProperties.asJsonType()) - fun dynamicProperty(dynamicProperty: JsonNode) { - property(ComponentScriptExecutor.INPUT_DYNAMIC_PROPERTIES, dynamicProperty) + fun dynamicProperties(dynamicProperties: JsonNode) { + property(ComponentScriptExecutor.INPUT_DYNAMIC_PROPERTIES, dynamicProperties) } } class ComponentScriptExecutorOutputAssignmentBuilder : PropertiesAssignmentBuilder() { - fun status(status: String) { - status(status.asJsonPrimitive()) - } + fun status(status: String) = status(status.asJsonPrimitive()) fun status(status: JsonNode) { property(ComponentScriptExecutor.OUTPUT_STATUS, status) } - fun responseData(responseData: String) { - responseData(responseData.asJsonType()) - } + fun responseData(responseData: String) = responseData(responseData.asJsonType()) fun responseData(responseData: JsonNode) { property(ComponentScriptExecutor.OUTPUT_RESPONSE_DATA, responseData) diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt index d4195ae45..b0e3e4701 100644 --- a/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt +++ b/ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt @@ -41,7 +41,7 @@ interface RemoteScriptExecutionService { @Service(ExecutionServiceConstant.SERVICE_GRPC_REMOTE_SCRIPT_EXECUTION) @ConditionalOnProperty(prefix = "blueprintprocessor.remoteScriptCommand", name = arrayOf("enabled"), - havingValue = "true", matchIfMissing = false) + havingValue = "true", matchIfMissing = false) @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyService: BluePrintGrpcLibPropertyService) : RemoteScriptExecutionService { @@ -74,11 +74,11 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi val grpResponse = commandExecutorServiceGrpc.prepareEnv(prepareEnvInput.asGrpcData()) checkNotNull(grpResponse.status) { - "failed to get GRPC prepare env response status for requestId($prepareEnvInput.requestId)" + "failed to get GRPC prepare env response status for requestId(${prepareEnvInput.requestId})" } val remoteScriptExecutionOutput = grpResponse.asJavaData() - log.debug("Received prepare env response from command server for requestId($prepareEnvInput.requestId)") + log.debug("Received prepare env response from command server for requestId(${prepareEnvInput.requestId})") return remoteScriptExecutionOutput } @@ -89,11 +89,11 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi val grpResponse = commandExecutorServiceGrpc.executeCommand(remoteExecutionInput.asGrpcData()) checkNotNull(grpResponse.status) { - "failed to get GRPC response status for requestId($remoteExecutionInput.requestId)" + "failed to get GRPC response status for requestId(${remoteExecutionInput.requestId})" } val remoteScriptExecutionOutput = grpResponse.asJavaData() - log.debug("Received response from command server for requestId($remoteExecutionInput.requestId)") + log.debug("Received response from command server for requestId(${remoteExecutionInput.requestId})") return remoteScriptExecutionOutput } @@ -115,33 +115,33 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi } return PrepareEnvInput.newBuilder() - .setIdentifiers(this.remoteIdentifier!!.asGrpcData()) - .setRequestId(this.requestId) - .setCorrelationId(correlationId) - .setTimeOut(this.timeOut.toInt()) - .addAllPackages(packageList) - .setProperties(this.properties.asGrpcData()) - .build() + .setIdentifiers(this.remoteIdentifier!!.asGrpcData()) + .setRequestId(this.requestId) + .setCorrelationId(correlationId) + .setTimeOut(this.timeOut.toInt()) + .addAllPackages(packageList) + .setProperties(this.properties.asGrpcData()) + .build() } fun RemoteScriptExecutionInput.asGrpcData(): ExecutionInput { val correlationId = this.correlationId ?: this.requestId return ExecutionInput.newBuilder() - .setRequestId(this.requestId) - .setCorrelationId(correlationId) - .setIdentifiers(this.remoteIdentifier!!.asGrpcData()) - .setCommand(this.command) - .setTimeOut(this.timeOut.toInt()) - .setProperties(this.properties.asGrpcData()) - .setTimestamp(Timestamp.getDefaultInstance()) - .build() + .setRequestId(this.requestId) + .setCorrelationId(correlationId) + .setIdentifiers(this.remoteIdentifier!!.asGrpcData()) + .setCommand(this.command) + .setTimeOut(this.timeOut.toInt()) + .setProperties(this.properties.asGrpcData()) + .setTimestamp(Timestamp.getDefaultInstance()) + .build() } fun RemoteIdentifier.asGrpcData(): Identifiers? { return Identifiers.newBuilder() - .setBlueprintName(this.blueprintName) - .setBlueprintVersion(this.blueprintVersion) - .build() + .setBlueprintName(this.blueprintName) + .setBlueprintVersion(this.blueprintVersion) + .build() } fun Map.asGrpcData(): Struct { @@ -152,9 +152,9 @@ class GrpcRemoteScriptExecutionService(private val bluePrintGrpcLibPropertyServi fun ExecutionOutput.asJavaData(): RemoteScriptExecutionOutput { return RemoteScriptExecutionOutput( - requestId = this.requestId, - response = this.responseList, - status = StatusType.valueOf(this.status.name) + requestId = this.requestId, + response = this.responseList, + status = StatusType.valueOf(this.status.name) ) } diff --git a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt index b3aaabe38..685473f08 100644 --- a/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt +++ b/ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt @@ -342,7 +342,7 @@ open class PropertiesAssignmentBuilder { properties[id] = value } - fun build(): MutableMap { + open fun build(): MutableMap { return properties } } -- 2.16.6