Fix operation definition extended format handling 11/129411/2
authorMichaelMorris <michael.morris@est.tech>
Thu, 26 May 2022 12:53:17 +0000 (13:53 +0100)
committerVasyl Razinkov <vasyl.razinkov@est.tech>
Fri, 27 May 2022 15:37:54 +0000 (15:37 +0000)
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-4024
Change-Id: I95d0b8274c7461120cc04456b5c93a96e9e86329

catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/InterfaceDefinitionHandler.java
catalog-be/src/test/resources/interfaceDefinition/interfaceDefinition-legacy.yaml

index b60e31a..029c329 100644 (file)
@@ -231,7 +231,8 @@ public class InterfaceDefinitionHandler {
             Map<String, Object> implDetails = (Map) ((Map)operationDefinitionMap.get(IMPLEMENTATION.getElementName())).get("primary");
             
             if (implDetails.get("file") != null) {
-                artifactDataDefinition.setArtifactName(implDetails.get("file").toString());
+                final String file = implDetails.get("file").toString();
+                artifactDataDefinition.setArtifactName(generateArtifactName(file));
             }
             if (implDetails.get("type") != null) {
                 artifactDataDefinition.setArtifactType(implDetails.get("type").toString());
@@ -256,16 +257,20 @@ public class InterfaceDefinitionHandler {
             }
         }
         if (operationDefinitionMap.get(IMPLEMENTATION.getElementName()) instanceof String) {
-            final String artifactName = (String) operationDefinitionMap.get(IMPLEMENTATION.getElementName());
-            if (OperationArtifactUtil.artifactNameIsALiteralValue(artifactName)) {
-                artifactDataDefinition.setArtifactName(artifactName);
-            } else {
-                artifactDataDefinition.setArtifactName(QUOTE + artifactName + QUOTE);
-            }
+            final String implementation = (String) operationDefinitionMap.get(IMPLEMENTATION.getElementName());
+            artifactDataDefinition.setArtifactName(generateArtifactName(implementation));
         }
         return Optional.of(artifactDataDefinition);
     }
     
+    private String generateArtifactName(final String name) {
+        if (OperationArtifactUtil.artifactNameIsALiteralValue(name)) {
+           return name;
+        } else {
+            return QUOTE + name + QUOTE;
+        }
+    }
+    
     private ToscaPropertyType getTypeFromObject(final Object value) {
         if (value instanceof String) {
             return ToscaPropertyType.STRING;
index 2c4c1ec..49de865 100644 (file)
@@ -9,7 +9,13 @@ inputs:
     type: org.openecomp.resource.datatypes.Action
 type: tosca.interfaces.node.lifecycle.Standard
 create:
-  implementation: "camunda/serviceSelect"
+  implementation:
+    primary:
+      type: tosca.artifacts.asd.deploymentItem
+      file: camunda/serviceSelect
+      artifact_version: '1'
+      properties:
+        artifact_type: typeA
 start:
   implementation: "camunda/executeAction"
   inputs: