X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=esr-mgr%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fesr%2Fwrapper%2FVimManagerWrapper.java;h=bdf47057e2db6d0f4c88f1f7c1ac75728e45db44;hb=979f0fa70cbe576f8eed5e56db467b261a1919cf;hp=ad31f275dddcfe44d6a335a61d610b7304e462be;hpb=567917ad3680d64f56568aee3d6c854e79f049ab;p=aai%2Fesr-server.git 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 ad31f27..bdf4705 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 @@ -21,6 +21,7 @@ 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.EsrSystemInfo; import org.onap.aai.esr.entity.rest.VimRegisterInfo; import org.onap.aai.esr.entity.rest.VimRegisterResponse; import org.onap.aai.esr.externalservice.aai.CloudRegionProxy; @@ -36,6 +37,7 @@ public class VimManagerWrapper { private static VimManagerWrapper vimManagerWrapper; private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class); + private static VimManagerUtil vimManagerUtil = new VimManagerUtil(); /** * get VimManagerWrapper instance. @@ -55,7 +57,7 @@ public class VimManagerWrapper { "Start register VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); CloudRegionDetail cloudRegion = new CloudRegionDetail(); VimRegisterResponse result = new VimRegisterResponse(); - cloudRegion = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + cloudRegion = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); String cloudOwner = vimRegisterInfo.getCloudOwner(); String cloudRegionId = vimRegisterInfo.getCloudRegionId(); try { @@ -70,16 +72,12 @@ public class VimManagerWrapper { } } - public Response updateVim(VimRegisterInfo vimRegisterInfo) { + public Response updateVim(String cloudOwner, String cloudRegionId,VimRegisterInfo vimRegisterInfo) { LOG.info("Start update VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); - String cloudOwner = vimRegisterInfo.getCloudOwner(); - String cloudRegionId = vimRegisterInfo.getCloudRegionId(); - String resourceVersion = getResourceVersion(cloudOwner, cloudRegionId); CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); VimRegisterResponse result = new VimRegisterResponse(); - cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); - cloudRegionDetail.setResouceVersion(resourceVersion); + cloudRegionDetail = getVimUpdateInfo(vimRegisterInfo); try { CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail); result.setCloudOwner(cloudOwner); @@ -103,7 +101,7 @@ public class VimManagerWrapper { } catch (Exception error) { error.printStackTrace(); LOG.error("Query vim list details failed !" + error.getMessage()); - return Response.serverError().build(); + return Response.ok().build(); } } @@ -115,7 +113,7 @@ public class VimManagerWrapper { String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); LOG.info("Response from AAI by query VIM: " + cloudRegionstr); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - vim = VimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); + vim = vimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); return Response.ok(vim).build(); } catch (Exception e) { e.printStackTrace(); @@ -143,7 +141,7 @@ public class VimManagerWrapper { try { String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - registeredVimInfo = VimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); + registeredVimInfo = vimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); } catch (Exception error) { error.printStackTrace(); LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = " @@ -152,12 +150,12 @@ public class VimManagerWrapper { return registeredVimInfo; } - private String getResourceVersion(String cloudOwner, String cloudRegionId) { + private CloudRegionDetail getOriginalCloudRegion(String cloudOwner, String cloudRegionId) { CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); try { String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - return cloudRegionDetail.getResouceVersion(); + return cloudRegionDetail; } catch (Exception error) { error.printStackTrace(); LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = " @@ -165,8 +163,26 @@ public class VimManagerWrapper { return null; } } + + private CloudRegionDetail getVimUpdateInfo(VimRegisterInfo vimRegisterInfo) { + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + CloudRegionDetail originalCloudRegionDetail = new CloudRegionDetail(); + EsrSystemInfo originalSystemInfo = new EsrSystemInfo(); + String cloudOwner = vimRegisterInfo.getCloudOwner(); + String cloudRegionId = vimRegisterInfo.getCloudRegionId(); + originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId); + String resourceVersion = originalCloudRegionDetail.getResourceVersion(); + cloudRegionDetail = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + if(resourceVersion != null) { + cloudRegionDetail.setResourceVersion(resourceVersion); + originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0); + cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId()); + cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setResouceVersion(originalSystemInfo.getResouceVersion()); + } + return cloudRegionDetail; + } - public Response delVim(String vimId) { + public Response delVim(String cloudOwner, String cloudRegionId) { // TODO return Response.noContent().build(); }