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=ae975acf389b74005bbf771cea12d26bae0ec2c4;hb=6011cbc9b4031f3ce25a82ccb1c0fedf4a2bf57a;hp=9058bc4fd9adf72a028082390f54534de5bfd235;hpb=31613a6b0099d38a8006ef0426e8e9fcaf046256;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 9058bc4..ae975ac 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 @@ -19,12 +19,16 @@ import java.util.ArrayList; import javax.ws.rs.core.Response; -import org.onap.aai.esr.entity.aai.CloudRegion; 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.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,14 +36,20 @@ 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. + * * @return vim manager wrapper instance */ public static VimManagerWrapper getInstance() { @@ -47,69 +57,89 @@ public class VimManagerWrapper { vimManagerWrapper = new VimManagerWrapper(); } return vimManagerWrapper; - + } - + public Response registerVim(VimRegisterInfo vimRegisterInfo) { - LOG.info("Start register VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo)); + LOG.info( + "Start register VIM, input VIM info is: " + extsysUtil.objectToString(vimRegisterInfo)); CloudRegionDetail cloudRegion = new CloudRegionDetail(); VimRegisterResponse result = new VimRegisterResponse(); - cloudRegion = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); - String cloud_owner = vimRegisterInfo.getCloudOwner(); - String cloud_region_id = vimRegisterInfo.getCloudRegionId(); - + cloudRegion = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo); + String cloudOwner = vimRegisterInfo.getCloudOwner(); + String cloudRegionId = vimRegisterInfo.getCloudRegionId(); try { - CloudRegionProxy.registerVim(cloud_owner, cloud_region_id, cloudRegion); - result.setCloudOwner(cloud_owner); - result.setCloudRegionId(cloud_region_id); + 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); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } return Response.ok(result).build(); - } catch (Exception e) { - e.printStackTrace(); - return Response.serverError().build(); + } catch (ExtsysException error) { + LOG.error("Register VIM failed !", error); + throw ExceptionUtil.buildExceptionResponse(error.getMessage()); } } - public Response updateVim(VimRegisterInfo vim) { - //TODO - return Response.ok().build(); + public Response updateVim(String cloudOwner, String cloudRegionId,VimRegisterInfo 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); + result.setCloudOwner(cloudOwner); + result.setCloudRegionId(cloudRegionId); + return Response.ok(result).build(); + } catch (ExtsysException e) { + LOG.error("Update VIM failed !", e); + throw ExceptionUtil.buildExceptionResponse(e.getMessage()); + } } - + public Response queryVimListDetails() { 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) { - 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(); } - + } - + public Response queryVimById(String cloudOwner, String cloudRegionId) { 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(); } - + } - + private ArrayList getVimDetailList(CloudRegionList cloudRegionList) { ArrayList vimRegisterInfos = new ArrayList(); VimRegisterInfo vimRegisterInfo = new VimRegisterInfo(); int cloudRegionNum = cloudRegionList.getCloudRegion().size(); - for (int i=0; i