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;
private static VimManagerWrapper vimManagerWrapper;
private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class);
+ private static VimManagerUtil vimManagerUtil = new VimManagerUtil();
/**
* get VimManagerWrapper instance.
"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 {
}
}
- 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);
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();
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 = "
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 = "
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();
}