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=6c4c5af6784528b8f134486923cd3d8a7b16e3cc;hp=3ba83b04c34ac06628c4224fa5d212c3f488dcc0;hb=0980560f94390708f187cf89476fad8d8427f839;hpb=54c4773879f0a39d463267070679ba3d4022419f 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 3ba83b0..6c4c5af 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 @@ -24,7 +24,11 @@ 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.exception.ExceptionUtil; +import org.onap.aai.esr.exception.ExtsysException; import org.onap.aai.esr.externalservice.aai.CloudRegionProxy; +import org.onap.aai.esr.externalservice.cloud.Tenant; +import org.onap.aai.esr.externalservice.cloud.VimManagerProxy; import org.onap.aai.esr.util.ExtsysUtil; import org.onap.aai.esr.util.VimManagerUtil; import org.slf4j.Logger; @@ -32,11 +36,16 @@ import org.slf4j.LoggerFactory; import com.google.gson.Gson; - public class VimManagerWrapper { private static VimManagerWrapper vimManagerWrapper; private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class); + + private static VimManagerUtil vimManagerUtil = new VimManagerUtil(); + + private static CloudRegionProxy cloudRegionProxy = new CloudRegionProxy(); + + private static ExtsysUtil extsysUtil = new ExtsysUtil(); /** * get VimManagerWrapper instance. @@ -53,39 +62,44 @@ public class VimManagerWrapper { public Response registerVim(VimRegisterInfo vimRegisterInfo) { LOG.info( - "Start register VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); + "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 { - CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion); + cloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion); result.setCloudOwner(cloudOwner); result.setCloudRegionId(cloudRegionId); + Tenant tenant = new Tenant(); + tenant.setDefaultTenant(cloudRegion.getEsrSystemInfoList().getEsrSystemInfo().get(0).getDefaultTenant()); + try { + VimManagerProxy.updateVim(cloudOwner, cloudRegionId, tenant); + } catch (ExtsysException e) { + LOG.error("Update VIM by Multi-cloud failed !", e); + } return Response.ok(result).build(); - } catch (Exception error) { - error.printStackTrace(); - LOG.error("Register VIM failed !" + error.getMessage()); - return Response.serverError().build(); + } catch (ExtsysException error) { + LOG.error("Register VIM failed !", error); + throw ExceptionUtil.buildExceptionResponse(error.getMessage()); } } public Response updateVim(String cloudOwner, String cloudRegionId,VimRegisterInfo vimRegisterInfo) { - LOG.info("Start update VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); + LOG.info("Start update VIM, input VIM info is: " + extsysUtil.objectToString(vimRegisterInfo)); CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); VimRegisterResponse result = new VimRegisterResponse(); cloudRegionDetail = getVimUpdateInfo(vimRegisterInfo); try { - CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail); + cloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail); result.setCloudOwner(cloudOwner); result.setCloudRegionId(cloudRegionId); return Response.ok(result).build(); - } catch (Exception e) { - e.printStackTrace(); - LOG.error("Update VIM failed !" + e.getMessage()); - return Response.serverError().build(); + } catch (ExtsysException e) { + LOG.error("Update VIM failed !", e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); } } @@ -93,14 +107,13 @@ public class VimManagerWrapper { ArrayList vimRegisterInfos = new ArrayList(); CloudRegionList cloudRegionList = new CloudRegionList(); try { - String aaiVimList = CloudRegionProxy.qureyVimList(); + String aaiVimList = cloudRegionProxy.qureyVimList(); cloudRegionList = new Gson().fromJson(aaiVimList, CloudRegionList.class); vimRegisterInfos = getVimDetailList(cloudRegionList); return Response.ok(vimRegisterInfos).build(); - } catch (Exception error) { - error.printStackTrace(); - LOG.error("Query vim list details failed !" + error.getMessage()); - return Response.serverError().build(); + } catch (ExtsysException error) { + LOG.error("Query vim list details failed !", error); + return Response.ok(vimRegisterInfos).build(); } } @@ -109,14 +122,14 @@ public class VimManagerWrapper { VimRegisterInfo vim = new VimRegisterInfo(); CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); try { - String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); + 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 (ExtsysException e) { + LOG.error("Query vim details by ID failed !", e); return Response.ok(vim).build(); - } catch (Exception e) { - e.printStackTrace(); - return Response.serverError().build(); } } @@ -138,13 +151,12 @@ public class VimManagerWrapper { CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); VimRegisterInfo registeredVimInfo = new VimRegisterInfo(); try { - String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); + String cloudRegionstr = cloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); - registeredVimInfo = VimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); - } catch (Exception error) { - error.printStackTrace(); + registeredVimInfo = vimManagerUtil.cloudRegion2VimRegisterInfo(cloudRegionDetail); + } catch (ExtsysException error) { LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = " - + cloudRegionId + error.getMessage()); + + cloudRegionId, error); } return registeredVimInfo; } @@ -152,13 +164,12 @@ public class VimManagerWrapper { private CloudRegionDetail getOriginalCloudRegion(String cloudOwner, String cloudRegionId) { CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); try { - String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); + String cloudRegionstr = cloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class); return cloudRegionDetail; - } catch (Exception error) { - error.printStackTrace(); + } catch (ExtsysException error) { LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = " - + cloudRegionId + error.getMessage()); + + cloudRegionId, error); return null; } } @@ -171,8 +182,8 @@ public class VimManagerWrapper { String cloudRegionId = vimRegisterInfo.getCloudRegionId(); originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId); String resourceVersion = originalCloudRegionDetail.getResourceVersion(); - cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); - if(originalCloudRegionDetail != null && resourceVersion != null) { + cloudRegionDetail = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + if(resourceVersion != null) { cloudRegionDetail.setResourceVersion(resourceVersion); originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0); cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId()); @@ -182,7 +193,30 @@ public class VimManagerWrapper { } public Response delVim(String cloudOwner, String cloudRegionId) { - // TODO - return Response.noContent().build(); + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + cloudRegionDetail = queryCloudRegionDetail(cloudOwner, cloudRegionId); + String resourceVersion = cloudRegionDetail.getResourceVersion(); + try { + cloudRegionProxy.deleteVim(cloudOwner, cloudRegionId, resourceVersion); + return Response.noContent().build(); + } catch (ExtsysException e) { + LOG.error("Delete cloud region from A&AI failed! cloud-owner = " + cloudOwner + + ", cloud-region-id = " + cloudRegionId + "resouce-version:" + resourceVersion, e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } + } + + private CloudRegionDetail queryCloudRegionDetail (String cloudOwner, String cloudRegionId) { + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + try { + String cloudRegionStr = cloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId); + LOG.info("Response from AAI by query cloud region: " + cloudRegionStr); + cloudRegionDetail = new Gson().fromJson(cloudRegionStr, CloudRegionDetail.class); + } catch (ExtsysException e) { + LOG.error("Query EMS detail failed! cloud-owner = " + cloudOwner + + ", cloud-region-id = " + cloudRegionId , e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } + return cloudRegionDetail; } }