Add Jython Component model and validation logics. 64/73164/3
authorMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Tue, 20 Nov 2018 17:20:30 +0000 (12:20 -0500)
committerDan Timoney <dtimoney@att.com>
Fri, 30 Nov 2018 20:22:00 +0000 (20:22 +0000)
Change-Id: I2bdba0016a41e16198d60be68dff68d1ce7ad13a
Issue-ID: CCSDK-696
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
23 files changed:
components/core/load/model_type/node_type/component-resource-assignment.json
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintTypes.kt
components/core/src/test/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/service/BluePrintRuntimeServiceTest.kt
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/node-types.json [moved from components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/types.json with 56% similarity]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-jython.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-python.json
components/model-catalog/definition-type/starter-type/node_type/component-config-generator.json
components/model-catalog/definition-type/starter-type/node_type/component-jython-executor.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/component-netconf-executor.json
components/model-catalog/definition-type/starter-type/node_type/component-resource-assignment.json
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Jython.json [new file with mode: 0644]
ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/ComponentJythonExecutor.kt [moved from ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/ComponentPythonExecutor.kt with 93% similarity]
ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/JythonExecutionService.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/ComponentJythonExecutorTest.kt [moved from ms/blueprintsprocessor/functions/python-executor/src/test/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/ComponentPythonExecutorTest.kt with 92% similarity]
ms/blueprintsprocessor/functions/resource-resolution/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/services/resolution/ResourceResolutionService.kt
ms/blueprintsprocessor/modules/services/workflow-service/src/test/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/services/workflow/BlueprintServiceLogicTest.kt
ms/controllerblueprints/modules/service/src/test/resources/enhance/enhance-template.json
ms/controllerblueprints/modules/service/src/test/resources/enhance/enhanced-template.json

index 1389bc3..2a90356 100644 (file)
@@ -7,7 +7,7 @@
     }\r
   },\r
   "interfaces": {\r
-    "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {\r
+    "ResourceAssignmentComponent": {\r
       "operations": {\r
         "process": {\r
           "inputs": {\r
index 84d2bef..a412841 100644 (file)
@@ -93,6 +93,7 @@ object BluePrintConstants {
     const val MODEL_TYPE_NODES_COMPONENT_BUNDLE: String = "tosca.nodes.component.Bundle"\r
     const val MODEL_TYPE_NODES_COMPONENT_SCRIPT: String = "tosca.nodes.component.Script"\r
     const val MODEL_TYPE_NODES_COMPONENT_PYTHON: String = "tosca.nodes.component.Python"\r
+    const val MODEL_TYPE_NODES_COMPONENT_JYTHON: String = "tosca.nodes.component.Jython"\r
     const val MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT: String = "tosca.nodes.component.JavaScript"\r
 \r
     const val MODEL_TYPE_ARTIFACT_TYPE_IMPLEMENTATION = "tosca.artifacts.Implementation"\r
index a971898..64797ed 100644 (file)
@@ -37,6 +37,7 @@ object BluePrintTypes {
             BluePrintConstants.MODEL_TYPE_NODES_COMPONENT_BUNDLE,\r
             BluePrintConstants.MODEL_TYPE_NODES_COMPONENT_SCRIPT,\r
             BluePrintConstants.MODEL_TYPE_NODES_COMPONENT_PYTHON,\r
+            BluePrintConstants.MODEL_TYPE_NODES_COMPONENT_JYTHON,\r
             BluePrintConstants.MODEL_TYPE_NODES_COMPONENT_JAVA_SCRIPT\r
     )\r
 \r
index 19c6c2f..2f51980 100644 (file)
@@ -69,7 +69,7 @@ class BluePrintRuntimeServiceTest {
                 "data/default-context.json", executionContext)\r
 \r
         val inContext: MutableMap<String, JsonNode> = bluePrintRuntimeService.resolveNodeTemplateInterfaceOperationInputs("resource-assignment",\r
-                "DefaultComponentNode", "process")\r
+                "ResourceAssignmentComponent", "process")\r
 \r
         assertNotNull(inContext, "Failed to populate interface input property values")\r
         assertEquals(inContext["action-name"], jsonNodeFromObject("sample-action"), "Failed to populate parameter action-name")\r
@@ -86,14 +86,14 @@ class BluePrintRuntimeServiceTest {
         bluePrintRuntimeService.setNodeTemplateAttributeValue("resource-assignment", "assignment-params", NullNode.getInstance())\r
 \r
         bluePrintRuntimeService.resolveNodeTemplateInterfaceOperationOutputs("resource-assignment",\r
-                "DefaultComponentNode", "process")\r
+                "ResourceAssignmentComponent", "process")\r
 \r
         val outputStatus = bluePrintRuntimeService.getNodeTemplateOperationOutputValue("resource-assignment",\r
-                "DefaultComponentNode", "process", "status")\r
+                "ResourceAssignmentComponent", "process", "status")\r
         assertEquals("success".asJsonPrimitive(), outputStatus, "Failed to get operation property status")\r
 \r
         val outputParams = bluePrintRuntimeService.getNodeTemplateOperationOutputValue("resource-assignment",\r
-                "DefaultComponentNode", "process", "resource-assignment-params")\r
+                "ResourceAssignmentComponent", "process", "resource-assignment-params")\r
         assertEquals(NullNode.getInstance(), outputParams, "Failed to get operation property resource-assignment-params")\r
 \r
     }\r
index d5416c0..1137c1d 100644 (file)
@@ -40,7 +40,7 @@
       "resource-assignment-ra-component": {
         "type": "component-resource-assignment",
         "interfaces": {
-          "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {
+          "ResourceAssignmentComponent": {
             "operations": {
               "process": {
                 "inputs": {
         }
       },
       "interfaces": {
-        "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {
+        "ResourceAssignmentComponent": {
           "operations": {
             "process": {
               "inputs": {
index e067a7d..269fd0c 100644 (file)
@@ -9,7 +9,13 @@
   },
   "imports": [
     {
-      "file": "Definitions/types.json"
+      "file": "Definitions/data-types.json"
+    },
+    {
+      "file": "Definitions/node-types.json"
+    },
+    {
+      "file": "Definitions/artifact-types.json"
     }
   ],
   "topology_template": {
@@ -64,7 +70,7 @@
           "request-id": "1234"
         },
         "interfaces": {
-          "DefaultComponentNode": {
+          "ResourceAssignmentComponent": {
             "operations": {
               "process": {
                 "inputs": {
           "request-id": "1234"
         },
         "interfaces": {
-          "DefaultComponentNode": {
+          "ResourceAssignmentComponent": {
             "operations": {
               "process": {
                 "implementation": {
         },
         "artifacts": {
           "component-script": {
-            "type": "artifact-script-python",
+            "type": "artifact-script-jython",
+            "file": "Scripts/SamplePythonComponentNode.py"
+          }
+        }
+      },
+      "activate-jython": {
+        "type": "component-jython-executor",
+        "interfaces": {
+          "JythonExecutorComponent": {
+            "operations": {
+              "process": {
+                "implementation": {
+                  "primary": "component-script"
+                },
+                "outputs": {
+                  "response-data": "",
+                  "status": ""
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "component-script": {
+            "type": "artifact-script-jython",
             "file": "Scripts/SamplePythonComponentNode.py"
           }
         }
             "target": "resource-assignment",
             "activities": [
               {
-                "call_operation": "ResourceAssignmentNode.process"
+                "call_operation": "ResourceAssignmentComponent.process"
               }
             ]
           }
             "target": "resource-assignment",
             "activities": [
               {
-                "call_operation": "ResourceAssignmentNode.process"
+                "call_operation": "ResourceAssignmentComponent.process"
               }
             ]
           }
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/artifact-types.json
new file mode 100644 (file)
index 0000000..d741d15
--- /dev/null
@@ -0,0 +1,45 @@
+{
+  "artifact_types": {
+    "artifact-template-velocity": {
+      "description": "Velocity Template used for Configuration",
+      "version": "1.0.0",
+      "file_ext": [
+        "vtl"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-mapping-resource": {
+      "description": "Velocity Template Resource Mapping File used along with Configuration template",
+      "version": "1.0.0",
+      "file_ext": [
+        "json"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-script-jython": {
+      "description": "Jython Script File",
+      "version": "1.0.0",
+      "file_ext": [
+        "py"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-directed-graph": {
+      "description": "Directed Graph File",
+      "version": "1.0.0",
+      "file_ext": [
+        "json",
+        "xml"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-component-jar": {
+      "description": "Component Jar",
+      "version": "1.0.0",
+      "file_ext": [
+        "jar"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/data-types.json
new file mode 100644 (file)
index 0000000..6ca1ffd
--- /dev/null
@@ -0,0 +1,24 @@
+{
+  "data_types": {
+    "sample-property": {
+      "description": "This is sample data type",
+      "version": "1.0.0",
+      "properties": {
+        "content": {
+          "required": false,
+          "type": "string"
+        },
+        "process-name": {
+          "required": false,
+          "type": "string"
+        },
+        "version": {
+          "required": false,
+          "type": "string",
+          "default": "LATEST"
+        }
+      },
+      "derived_from": "tosca.datatypes.Root"
+    }
+  }
+}
\ No newline at end of file
@@ -1,55 +1,4 @@
 {
-  "artifact_types": {
-    "artifact-template-velocity": {
-      "description": " Velocity Template used for Configuration",
-      "version": "1.0.0",
-      "file_ext": [
-        "vtl"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    },
-    "artifact-mapping-resource": {
-      "description": " Velocity Template Resource Mapping File used along with Configuration template",
-      "version": "1.0.0",
-      "file_ext": [
-        "json"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    },
-    "artifact-script-kotlin": {
-      "description": " Kotlin Script Template used for Configuration",
-      "version": "1.0.0",
-      "file_ext": [
-        "kt"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    },
-    "artifact-script-python": {
-      "description": " Kotlin Script Template used for Configuration",
-      "version": "1.0.0",
-      "file_ext": [
-        "py"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    },
-    "artifact-directed-graph": {
-      "description": "Directed Graph File",
-      "version": "1.0.0",
-      "file_ext": [
-        "json",
-        "xml"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    },
-    "artifact-component-jar": {
-      "description": "Component Jar",
-      "version": "1.0.0",
-      "file_ext": [
-        "jar"
-      ],
-      "derived_from": "tosca.artifacts.Implementation"
-    }
-  },
   "node_types": {
     "dg-activate": {
       "description": "This is BPMN Activate node type",
@@ -81,8 +30,8 @@
       "version": "1.0.0",
       "derived_from": "tosca.nodes.Root"
     },
-    "tosca.nodes.component.Python": {
-      "description": "This is Resource Assignment Python Component API",
+    "tosca.nodes.component.Jython": {
+      "description": "This is Resource Assignment Jython Component API",
       "version": "1.0.0",
       "derived_from": "tosca.nodes.Root"
     },
@@ -97,7 +46,7 @@
         }
       },
       "interfaces": {
-        "DefaultComponentNode": {
+        "ResourceAssignmentComponent": {
           "operations": {
             "process": {
               "inputs": {
       },
       "derived_from": "tosca.nodes.Component"
     },
-    "component-resource-assignment-python": {
-      "description": "This is Resource Assignment Component API",
+    "component-jython-executor": {
+      "description": "This is Jython Execution Component.",
       "version": "1.0.0",
-      "properties": {
-        "request-id": {
-          "description": "Request Id used to store the generated configuration, in the database along with the template-name",
-          "required": true,
-          "type": "string"
+      "capabilities": {
+        "component-node": {
+          "type": "tosca.capabilities.Node"
         }
       },
       "interfaces": {
-        "DefaultComponentNode": {
+        "JythonExecutorComponent": {
           "operations": {
             "process": {
-              "inputs": {
-                "action-name": {
-                  "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
-                  "required": false,
-                  "type": "string"
-                }
-              },
               "outputs": {
-                "resource-assignment-params": {
-                  "required": true,
+                "response-data": {
+                  "description": "Execution Response Data in JSON format.",
+                  "required": false,
                   "type": "string"
                 },
                 "status": {
+                  "description": "Status of the Component Execution ( success or failure )",
                   "required": true,
                   "type": "string"
                 }
           }
         }
       },
-      "derived_from": "tosca.nodes.component.Python"
-    }
-  },
-  "data_types": {
-    "sample-property": {
-      "description": "This is sample data type",
-      "version": "1.0.0",
-      "properties": {
-        "content": {
-          "required": false,
-          "type": "string"
-        },
-        "process-name": {
-          "required": false,
-          "type": "string"
-        },
-        "version": {
-          "required": false,
-          "type": "string",
-          "default": "LATEST"
-        }
-      },
-      "derived_from": "tosca.datatypes.Root"
+      "derived_from": "tosca.nodes.component.Jython"
     }
   }
 }
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-jython.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-jython.json
new file mode 100644 (file)
index 0000000..969662a
--- /dev/null
@@ -0,0 +1,8 @@
+{\r
+  "description": "Jython Script File",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "py"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
index 764f9e8..ba14260 100644 (file)
@@ -7,7 +7,7 @@
                }\r
        },\r
        "interfaces": {\r
-               "org-openecomp-sdnc-config-generator-service-ConfigGeneratorNode": {\r
+               "ConfigGeneratorComponent": {\r
                        "operations": {\r
                                "process": {\r
                                        "inputs": {\r
diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-jython-executor.json b/components/model-catalog/definition-type/starter-type/node_type/component-jython-executor.json
new file mode 100644 (file)
index 0000000..4959a9d
--- /dev/null
@@ -0,0 +1,40 @@
+{
+  "description": "This is Jython Execution Component.",
+  "version": "1.0.0",
+  "capabilities": {
+    "component-node": {
+      "type": "tosca.capabilities.Node"
+    }
+  },
+  "interfaces": {
+    "JythonExecutorComponent": {
+      "operations": {
+        "process": {
+          "inputs": {
+            "instance-dependencies": {
+              "required": true,
+              "description": "Instance Names to Inject to Jython Script.",
+              "type": "list",
+              "entry_schema": {
+                "type": "string"
+              }
+            }
+          },
+          "outputs": {
+            "response-data": {
+              "description": "Execution Response Data in JSON format.",
+              "required": false,
+              "type": "string"
+            },
+            "status": {
+              "description": "Status of the Component Execution ( success or failure )",
+              "required": true,
+              "type": "string"
+            }
+          }
+        }
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.component.Jython"
+}
\ No newline at end of file
index 240caf3..7e1d813 100644 (file)
@@ -14,7 +14,7 @@
     }\r
   },\r
   "interfaces": {\r
-    "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode": {\r
+    "NetconfExecutorComponent": {\r
       "operations": {\r
         "process": {\r
           "inputs": {\r
@@ -75,5 +75,5 @@
       }\r
     }\r
   },\r
-  "derived_from": "tosca.nodes.Component"\r
+  "derived_from": "tosca.nodes.component.Jython"\r
 }
\ No newline at end of file
index d424a8e..a29a875 100644 (file)
@@ -7,7 +7,7 @@
     }\r
   },\r
   "interfaces": {\r
-    "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {\r
+    "ResourceAssignmentComponent": {\r
       "operations": {\r
         "process": {\r
           "inputs": {\r
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Jython.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Jython.json
new file mode 100644 (file)
index 0000000..8e194f6
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is Jython Component",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
@@ -27,10 +27,10 @@ import org.onap.ccsdk.apps.controllerblueprints.core.data.OperationAssignment
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Component
 
-@Component("component-python-executor")
-class ComponentPythonExecutor(private val pythonExecutorProperty: PythonExecutorProperty) : AbstractComponentFunction() {
+@Component("component-jython-executor")
+class ComponentJythonExecutor(private val pythonExecutorProperty: PythonExecutorProperty) : AbstractComponentFunction() {
 
-    private val log = LoggerFactory.getLogger(ComponentPythonExecutor::class.java)
+    private val log = LoggerFactory.getLogger(ComponentJythonExecutor::class.java)
 
     private var componentFunction: AbstractComponentFunction? = null
 
@@ -69,7 +69,8 @@ class ComponentPythonExecutor(private val pythonExecutorProperty: PythonExecutor
         val properties: MutableMap<String, Any> = hashMapOf()
         properties["log"] = log
 
-        componentFunction = PythonExecutorUtils.getPythonComponent(pythonExecutorProperty.executionPath, pythonPath, content, pythonClassName, properties)
+        componentFunction = PythonExecutorUtils.getPythonComponent(pythonExecutorProperty.executionPath,
+                pythonPath, content, pythonClassName, properties)
 
         componentFunction!!.process(executionServiceInput)
 
diff --git a/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/JythonExecutionService.kt b/ms/blueprintsprocessor/functions/python-executor/src/main/kotlin/org/onap/ccsdk/apps/blueprintsprocessor/functions/python/executor/JythonExecutionService.kt
new file mode 100644 (file)
index 0000000..dc372af
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.apps.blueprintsprocessor.functions.python.executor
+
+import org.onap.ccsdk.apps.blueprintsprocessor.functions.python.executor.utils.PythonExecutorUtils
+import org.onap.ccsdk.apps.blueprintsprocessor.services.execution.AbstractComponentFunction
+import org.slf4j.LoggerFactory
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.context.ApplicationContext
+import org.springframework.stereotype.Service
+
+@Service
+class JythonExecutionService(private val pythonExecutorProperty: PythonExecutorProperty) {
+
+
+    private val log = LoggerFactory.getLogger(ComponentJythonExecutor::class.java)
+
+    @Autowired
+    lateinit var applicationContext: ApplicationContext
+
+
+    fun processJythonNodeTemplate(pythonClassName: String, content: String, pythonPath: MutableList<String>,
+                                  jythonContextInstance: MutableMap<String, Any>,
+                                  dependencyInstanceNames: List<String>): AbstractComponentFunction {
+
+
+        dependencyInstanceNames.forEach { instanceName ->
+            jythonContextInstance[instanceName] = applicationContext.getBean(instanceName)
+
+        }
+
+        return PythonExecutorUtils.getPythonComponent(pythonExecutorProperty.executionPath,
+                pythonPath, content, pythonClassName, jythonContextInstance)
+
+    }
+
+}
\ No newline at end of file
@@ -36,10 +36,10 @@ import org.springframework.test.context.junit4.SpringRunner
 ["blueprints.processor.functions.python.executor.modulePaths=./../../../../components/scripts/python/ccsdk_blueprints",
     "blueprints.processor.functions.python.executor.executionPath=./../../../../components/scripts/python/ccsdk_blueprints"])
 
-class ComponentPythonExecutorTest {
+class ComponentJythonExecutorTest {
 
     @Autowired
-    lateinit var componentPythonExecutor: ComponentPythonExecutor
+    lateinit var componentJythonExecutor: ComponentJythonExecutor
 
 
     @Test
@@ -60,17 +60,17 @@ class ComponentPythonExecutorTest {
         val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(commonHeader.requestId,
                 "./../../../../components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration")
 
-        componentPythonExecutor.bluePrintRuntimeService = bluePrintRuntimeService
+        componentJythonExecutor.bluePrintRuntimeService = bluePrintRuntimeService
 
 
         val metaData: MutableMap<String, JsonNode> = hashMapOf()
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_STEP, "resource-assignment-py")
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_NODE_TEMPLATE, "resource-assignment-py")
-        metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_INTERFACE, "DefaultComponentNode")
+        metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_INTERFACE, "ResourceAssignmentComponent")
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_OPERATION, "process")
         executionServiceInput.metadata = metaData
 
-        componentPythonExecutor.apply(executionServiceInput)
+        componentJythonExecutor.apply(executionServiceInput)
 
     }
 }
\ No newline at end of file
index 155b3b0..9e735cf 100644 (file)
@@ -47,8 +47,6 @@ class ResourceResolutionService {
         resourceResolutionOutput.commonHeader = resourceResolutionInput.commonHeader\r
         resourceResolutionOutput.resourceAssignments = resourceResolutionInput.resourceAssignments\r
 \r
-        val context = hashMapOf<String, Any>()\r
-\r
         process(resourceResolutionOutput.resourceAssignments)\r
 \r
         val status = Status()\r
index 6fe767c..9a59831 100644 (file)
@@ -80,7 +80,7 @@ class BlueprintServiceLogicTest {
         val metaData: MutableMap<String, JsonNode> = hashMapOf()
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_STEP,"resource-assignment-py")
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_NODE_TEMPLATE, "resource-assignment-py")
-        metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_INTERFACE, "DefaultComponentNode")
+        metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_INTERFACE, "ResourceAssignmentComponent")
         metaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_OPERATION, "process")
         executionServiceInput.metadata = metaData
 
index 782ed50..b066dad 100644 (file)
@@ -64,7 +64,7 @@
           }\r
         },\r
         "interfaces": {\r
-          "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode": {\r
+          "NetconfExecutorComponent": {\r
             "operations": {\r
               "process": {\r
                 "inputs": {\r
           "component-node": {}\r
         },\r
         "interfaces": {\r
-          "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {\r
+          "ResourceAssignmentComponent": {\r
             "operations": {\r
               "process": {\r
                 "inputs": {\r
index d49ab8f..5e41a50 100644 (file)
         }
       },
       "interfaces" : {
-        "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
+        "ResourceAssignmentComponent" : {
           "operations" : {
             "process" : {
               "inputs" : {
       },
       "derived_from" : "tosca.nodes.Component"
     },
+    "tosca.nodes.component.Jython" : {
+      "description" : "This is Jython Component",
+      "version" : "1.0.0",
+      "derived_from" : "tosca.nodes.Root"
+    },
     "tosca.nodes.DG" : {
       "description" : "This is Directed Graph Node Type",
       "version" : "1.0.0",
         }
       },
       "interfaces" : {
-        "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
+        "NetconfExecutorComponent" : {
           "operations" : {
             "process" : {
               "inputs" : {
           }
         }
       },
-      "derived_from" : "tosca.nodes.Component"
+      "derived_from" : "tosca.nodes.component.Jython"
     }
   },
   "topology_template" : {
           }
         },
         "interfaces" : {
-          "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode" : {
+          "NetconfExecutorComponent" : {
             "operations" : {
               "process" : {
                 "implementation" : {
           "component-node" : { }
         },
         "interfaces" : {
-          "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode" : {
+          "ResourceAssignmentComponent" : {
             "operations" : {
               "process" : {
                 "inputs" : {