Fix the bug about nullpointer when update VIM
[aai/esr-server.git] / esr-mgr / src / main / java / org / onap / aai / esr / wrapper / VimManagerWrapper.java
index 3003159..fe44536 100644 (file)
@@ -46,6 +46,8 @@ public class VimManagerWrapper {
     private static VimManagerUtil vimManagerUtil = new VimManagerUtil();
 
     private static CloudRegionProxy cloudRegionProxy = new CloudRegionProxy();
+    
+    private static VimManagerProxy vimManagerProxy = new VimManagerProxy();
 
     private static ExtsysUtil extsysUtil = new ExtsysUtil();
 
@@ -56,13 +58,14 @@ public class VimManagerWrapper {
      */
     public static VimManagerWrapper getInstance() {
         if (vimManagerWrapper == null) {
-            vimManagerWrapper = new VimManagerWrapper(cloudRegionProxy);
+            vimManagerWrapper = new VimManagerWrapper(cloudRegionProxy, vimManagerProxy);
         }
         return vimManagerWrapper;
     }
     
-    public VimManagerWrapper(CloudRegionProxy cloudRegionProxy) {
+    public VimManagerWrapper(CloudRegionProxy cloudRegionProxy, VimManagerProxy vimManagerProxy) {
         VimManagerWrapper.cloudRegionProxy = cloudRegionProxy;
+        VimManagerWrapper.vimManagerProxy = vimManagerProxy;
     }
 
     public Response registerVim(VimRegisterInfo vimRegisterInfo) {
@@ -91,7 +94,7 @@ public class VimManagerWrapper {
         Tenant tenant = new Tenant();
         tenant.setDefaultTenant(cloudRegion.getEsrSystemInfoList().getEsrSystemInfo().get(0).getDefaultTenant());
         try {
-            VimManagerProxy.updateVim(cloudOwner, cloudRegionId, tenant);
+            vimManagerProxy.updateVim(cloudOwner, cloudRegionId, tenant);
         } catch (ExtsysException e) {
             LOG.error("Update VIM by Multi-cloud failed !", e);
         }
@@ -204,16 +207,20 @@ public class VimManagerWrapper {
     private CloudRegionDetail getVimUpdateInfo(VimRegisterInfo vimRegisterInfo) {
         String cloudOwner = vimRegisterInfo.getCloudOwner();
         String cloudRegionId = vimRegisterInfo.getCloudRegionId();
+        String resourceVersion = null;
+        CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
         CloudRegionDetail originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId);
-        String resourceVersion = originalCloudRegionDetail.getResourceVersion();
-        CloudRegionDetail cloudRegionDetail = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
-        if (resourceVersion != null) {
-            cloudRegionDetail.setResourceVersion(resourceVersion);
-            EsrSystemInfo originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
-            cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
-                    .setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId());
-            cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
-                    .setResouceVersion(originalSystemInfo.getResouceVersion());
+        if (originalCloudRegionDetail != null) {
+            resourceVersion = originalCloudRegionDetail.getResourceVersion();
+            cloudRegionDetail = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
+            if (resourceVersion != null) {
+                cloudRegionDetail.setResourceVersion(resourceVersion);
+                EsrSystemInfo originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
+                cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+                .setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId());
+                cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+                .setResouceVersion(originalSystemInfo.getResouceVersion());
+            }
         }
         return cloudRegionDetail;
     }