Interface operation support for service - BE
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / jsontitan / utils / ModelConverter.java
index 3b2cb97..82dcfef 100644 (file)
@@ -143,6 +143,8 @@ public class ModelConverter {
 
         convertServicePaths(topologyTemplate, service);
 
+        convertServiceInterfaces(topologyTemplate, service);
+
         return service;
     }
 
@@ -207,6 +209,17 @@ public class ModelConverter {
       resource.setInterfaces(copy);
     }
 
+    private static void convertServiceInterfaces(TopologyTemplate toscaElement, Service service) {
+        Map<String, InterfaceDataDefinition> interfaces = toscaElement.getInterfaces();
+        Map<String, InterfaceDefinition> copy;
+        if (interfaces != null) {
+            copy = interfaces.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> new InterfaceDefinition(e.getValue())));
+        } else {
+            copy = new HashMap<>();
+        }
+        service.setInterfaces(copy);
+    }
+
     private static void convertAttributes(NodeType nodeType, Resource resource) {
         Map<String, PropertyDataDefinition> attributes = nodeType.getAttributes();
         if (attributes != null) {
@@ -922,10 +935,21 @@ public class ModelConverter {
                        topologyTemplate.setInterfaces(copy);
                }
        }
+
+    private static void convertServiceInterfaces(Service service, TopologyTemplate topologyTemplate) {
+        Map<String, InterfaceDefinition> interfaces = service.getInterfaces();
+        if (interfaces != null && !interfaces.isEmpty()) {
+            Map<String, InterfaceDataDefinition> copy = interfaces.entrySet().stream()
+                .collect(Collectors.toMap(Map.Entry::getKey, e -> new InterfaceDataDefinition(e.getValue())));
+            topologyTemplate.setInterfaces(copy);
+        }
+    }
+
     private static void convertServiceSpecificEntities(Service service, TopologyTemplate topologyTemplate) {
         convertServiceMetaData(service, topologyTemplate);
         convertServiceApiArtifacts(service, topologyTemplate);
         convertServicePaths(service,topologyTemplate);
+        convertServiceInterfaces(service, topologyTemplate);
     }
 
     private static void convertServicePaths(Service service, TopologyTemplate topologyTemplate) {