summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrinda Santh <brindasanth@in.ibm.com>2019-08-01 09:12:04 -0400
committerDan Timoney <dtimoney@att.com>2019-08-01 17:24:53 +0000
commit74c548363d3dafd8ac26f0aacaa9a457ce29dfd5 (patch)
tree94fb0a1bba97f7e6f2654341209d096c619c3f6a
parentdd710215139505f26f052a7dbdcdb5bf7f2e0532 (diff)
Add remote python executor DSL properties
Change-Id: I7888ac302da2a51ca34c531b7553d04af13786ac Issue-ID: CCSDK-1380 Signed-off-by: Brinda Santh <brindasanth@in.ibm.com>
-rw-r--r--components/model-catalog/definition-type/starter-type/node_type/component-remote-python-executor.json4
-rw-r--r--ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutor.kt1
-rw-r--r--ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSL.kt163
-rw-r--r--ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/python/executor/ComponentRemotePythonExecutorDSLTest.kt56
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSL.kt44
-rw-r--r--ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentDSLTest.kt2
-rw-r--r--ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/ComponentScriptExecutorDSL.kt24
-rw-r--r--ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/RemoteScriptExecutionService.kt52
-rw-r--r--ms/controllerblueprints/modules/blueprint-core/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/core/dsl/BluePrintTemplateDSLBuilder.kt2
9 files changed, 271 insertions, 77 deletions
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<ComponentRemotePythonExecutorInputAssignmentBuilder,
+ ComponentRemotePythonExecutorOutputAssignmentBuilder>(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<String>) = 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<String, JsonNode> {
+ 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<String, JsonNode>.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<String, JsonNode> {
+ open fun build(): MutableMap<String, JsonNode> {
return properties
}
}