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=260d20986437e1d2d157f8f4d2adf5934b1aa322;hb=2c0e80cac349b7364d5b2b1f0b9650a4cd95ca18;hp=b985c20a657ccf38101bc8c92ce7f9feeaee8feb;hpb=81d6090fdc1ad05afc785368e1a4029858265884;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 b985c20..260d209 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,15 +19,23 @@ import java.util.ArrayList; import javax.ws.rs.core.Response; -import org.onap.aai.esr.entity.rest.RegisterResponse; +import org.onap.aai.esr.entity.aai.CloudRegionDetail; +import org.onap.aai.esr.entity.aai.CloudRegionList; import org.onap.aai.esr.entity.rest.VimRegisterInfo; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; +import org.onap.aai.esr.entity.rest.VimRegisterResponse; +import org.onap.aai.esr.externalservice.aai.CloudRegionProxy; +import org.onap.aai.esr.util.ExtsysUtil; +import org.onap.aai.esr.util.VimManagerUtil; +import org.slf4j.Logger; +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 final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class); /** * get VimManagerWrapper instance. @@ -38,29 +46,114 @@ public class VimManagerWrapper { vimManagerWrapper = new VimManagerWrapper(); } return vimManagerWrapper; + } - public Response registerVim(VimRegisterInfo vim) { - //TODO - RegisterResponse result = null; - return Response.ok(result).build(); + public Response registerVim(VimRegisterInfo 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 cloudOwner = vimRegisterInfo.getCloudOwner(); + String cloudRegionId = vimRegisterInfo.getCloudRegionId(); + try { + CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion); + result.setCloudOwner(cloudOwner); + result.setCloudRegionId(cloudRegionId); + return Response.ok(result).build(); + } catch (Exception e) { + e.printStackTrace(); + return Response.serverError().build(); + } } + public Response updateVim(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); - public Response updateVim(VimRegisterInfo vim) { - //TODO - return Response.ok().build(); + try { + CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail); + result.setCloudOwner(cloudOwner); + result.setCloudRegionId(cloudRegionId); + return Response.ok(result).build(); + } catch (Exception e) { + e.printStackTrace(); + return Response.serverError().build(); + } } - public Response queryVimList() { - //TODO - ArrayList vimList = new ArrayList(); - return Response.ok(vimList).build(); + public Response queryVimListDetails() { + ArrayList vimRegisterInfos = new ArrayList(); + CloudRegionList cloudRegionList = new CloudRegionList(); + try { + 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(); + } + } - public Response queryVimById(String vimId) { + public Response queryVimById(String cloudOwner, String cloudRegionId) { VimRegisterInfo vim = new VimRegisterInfo(); - //TODO - return Response.ok(vim).build(); + CloudRegionDetail cloudRegionDetail = new CloudRegionDetail(); + try { + 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); + 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