Fix resource population to DB 11/48011/1
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>
Thu, 17 May 2018 08:52:36 +0000 (08:52 +0000)
committersubhash kumar singh <subhash.kumar.singh@huawei.com>
Thu, 17 May 2018 08:52:36 +0000 (08:52 +0000)
Fix resource population to DB.

Change-Id: Iae25ce2f15fa121a45a55559458fcbbd217f2c7d
Issue-ID: SO-624
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java

index fc4e522..a8c67fd 100644 (file)
@@ -596,23 +596,34 @@ public class ToscaResourceInstaller {// implements IVfResourceInstaller {
             \r
             List<NodeTemplate> allottedResourceList = toscaResourceStruct.getSdcCsarHelper().getAllottedResources();\r
                \r
-                       if(allottedResourceList != null){\r
-                       \r
-                               for(NodeTemplate allottedNode : allottedResourceList){\r
-                                       \r
-                                       createAllottedResource(allottedNode, toscaResourceStruct);\r
-                                       \r
-                                       catalogDB.saveAllottedResource(toscaResourceStruct.getAllottedResource());\r
-                                       \r
-                                       catalogDB.saveAllottedResourceCustomization(toscaResourceStruct.getCatalogAllottedResourceCustomization());\r
-                                       \r
-                                       catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogAllottedServiceToResourceCustomization());\r
-                                       \r
-                               }\r
-                       }\r
-                       \r
+                       if(allottedResourceList != null){\r
+\r
+                               for(NodeTemplate allottedNode : allottedResourceList){\r
+\r
+                                       createAllottedResource(allottedNode, toscaResourceStruct);\r
+\r
+                                       catalogDB.saveAllottedResource(toscaResourceStruct.getAllottedResource());\r
+\r
+                                       catalogDB.saveAllottedResourceCustomization(toscaResourceStruct.getCatalogAllottedResourceCustomization());\r
+\r
+                                       catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogAllottedServiceToResourceCustomization());\r
+\r
+                               }\r
+                       }\r
+\r
+                       // handle VF resource\r
+                       List<NodeTemplate> serviceVfList = toscaResourceStruct.getSdcCsarHelper().getServiceVfList();\r
+                       if (serviceVfList != null) {\r
+                               for (NodeTemplate vfNode : serviceVfList) {\r
+                                       createVnfResource(vfNode, toscaResourceStruct);\r
+                                       catalogDB.saveVnfResource(toscaResourceStruct.getCatalogVnfResource());\r
+                                       catalogDB.saveVnfResourceCustomization(toscaResourceStruct.getCatalogVnfResourceCustomization());\r
+                                       catalogDB.saveServiceToResourceCustomization(toscaResourceStruct.getCatalogVfServiceToResourceCustomization());\r
+                               }\r
+                       }\r
+\r
 \r
-               List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();\r
+                       List<NodeTemplate> nodeTemplatesVLList = toscaResourceStruct.getSdcCsarHelper().getServiceVlList();\r
                                \r
                        if(nodeTemplatesVLList != null){\r
                                \r
index 4fb5ebc..91c19dd 100644 (file)
@@ -3826,6 +3826,22 @@ public class CatalogDatabase implements Closeable {
             LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "saveOrUpdateAllottedResourceCustomization", null);
         }
     }
+
+    public void saveVnfResource (VnfResource vnfResource) {
+        long startTime = System.currentTimeMillis ();
+        LOGGER.debug ("Catalog database - save vnf Resource with Name " + vnfResource.getModelName());
+        try {
+            VnfResource existing = this.getVnfResourceByModelUuid(vnfResource.getModelUuid());
+            if (existing == null) {
+                this.getSession().save(vnfResource);
+            } else {
+                LOGGER.debug("Found existing vnfResource with this modelUuid - no need to save");
+            }
+
+        } finally {
+            LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "saveOrUpdateVnfResourceCustomization", null);
+        }
+    }
     
     public void saveNetworkResource (NetworkResource networkResource) throws RecordNotFoundException {
         long startTime = System.currentTimeMillis ();