X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fesr-server.git;a=blobdiff_plain;f=esr-mgr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fesr%2Fwrapper%2FVimManagerWrapper.java;h=fe44536cecb3f9ae9eaa3d99ff7b2d52511e2d52;hp=7c3c8d7eb9f1cf7532e045a5cfc2ebcf042f67b4;hb=64b7cc2b82655bd38788f83f36d1266cace70381;hpb=06fe3f5d62f9b986ebb8babf6fb140baed44769f diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java index 7c3c8d7..fe44536 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ws.rs.core.Response; import org.onap.aai.esr.entity.aai.CloudRegionDetail; import org.onap.aai.esr.entity.aai.CloudRegionList; +import org.onap.aai.esr.entity.aai.Complex; import org.onap.aai.esr.entity.aai.ComplexList; import org.onap.aai.esr.entity.aai.EsrSystemInfo; import org.onap.aai.esr.entity.aai.Relationship; @@ -45,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(); @@ -55,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) { @@ -71,7 +75,8 @@ public class VimManagerWrapper { String cloudOwner = vimRegisterInfo.getCloudOwner(); String cloudRegionId = vimRegisterInfo.getCloudRegionId(); String physicalLocationId = vimRegisterInfo.getPhysicalLocationId(); - //TODO query complex by complex id to get complex name. and put the name to vimRegisterInfo.complexName + String complexName = getComplexName(physicalLocationId); + cloudRegion.setComplexName(complexName); try { cloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion); result.setCloudOwner(cloudOwner); @@ -89,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); } @@ -202,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; } @@ -242,19 +251,32 @@ public class VimManagerWrapper { } return cloudRegionDetail; } + + private String getComplexName(String physicalLocationId) { + Complex complex = new Complex(); + try { + String complexStr = cloudRegionProxy.queryComplex(physicalLocationId); + LOG.info("The complexes query result is: " + complexStr); + complex = new Gson().fromJson(complexStr, Complex.class); + return complex.getComplexName(); + } catch (ExtsysException e) { + LOG.error("Query complex by physical location Id failed !", e); + return null; + } + } public Response queryComplexes() { ComplexList complexList = new ComplexList(); List physicalLocationIdList = new ArrayList<>(); try { String complexesString = cloudRegionProxy.qureyComplexes(); - LOG.info("The complex query result is: " + complexesString); + LOG.info("The complexes query result is: " + complexesString); complexList = new Gson().fromJson(complexesString, ComplexList.class); for (int i=0; i