import com.codahale.metrics.annotation.Timed;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.eclipse.jetty.http.HttpStatus;
/**
* query all VIM.
*/
- @Path("")
@GET
@ApiOperation(value = "get all vim ")
@Produces(MediaType.APPLICATION_JSON)
* register vim .
*/
@POST
- @Path("")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
@ApiOperation(value = "create a vim")
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.rest.VimRegisterInfo;
CloudRegionDetail cloudRegion = new CloudRegionDetail();
VimRegisterResponse result = new VimRegisterResponse();
cloudRegion = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
- String cloud_owner = vimRegisterInfo.getCloudOwner();
- String cloud_region_id = vimRegisterInfo.getCloudRegionId();
-
+ 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);
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 queryVimListDetails() {
return registeredVimInfo;
}
+ private String getResourceVersion(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();
+ } catch (Exception error) {
+ LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner +", cloud-region-id = "+ cloudRegionId + error.getMessage());
+ return null;
+ }
+ }
+
public Response delVim(String vimId) {
//TODO
return Response.noContent().build();