/**
- * Copyright 2016-2017 ZTE Corporation.
+ * Copyright 2016-2018 ZTE Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
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;
-import org.onap.aai.esr.entity.aai.VimData;
-import org.onap.aai.esr.entity.rest.VimRestData;
-import org.onap.aai.esr.exception.ExtsysException;
+import org.onap.aai.esr.entity.rest.VimRegisterInfo;
import org.onap.aai.esr.util.ExtsysUtil;
-import org.onap.aai.esr.util.RestResponseUtil;
import org.onap.aai.esr.wrapper.VimManagerWrapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@Api(tags = {" vim Management "})
public class VimManager {
- private static final Logger LOGGER = LoggerFactory.getLogger(VimManager.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(VimManager.class);
+
+ private static ExtsysUtil extsysUtil = new ExtsysUtil();
+
+ /**
+ * query all VIM.
+ */
+ @GET
+ @ApiOperation(value = "get all vim ")
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response queryVimList() {
+ return VimManagerWrapper.getInstance().queryVimListDetails();
+ }
+
+ /**
+ * query vim by id.
+ */
+ @Path("/{cloudOwner}/{cloudRegionId}")
+ @GET
+ @ApiOperation(value = "get vim by id")
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response queryVimById(@PathParam("cloudOwner") String cloudOwner,
+ @PathParam("cloudRegionId") String cloudRegionId) {
+ LOGGER.info("start query vim by cloud owner and cloud region id." + cloudOwner + "," + cloudRegionId);
+ return VimManagerWrapper.getInstance().queryVimById(cloudOwner, cloudRegionId);
+ }
+
+ /**
+ * delete vim by id.
+ */
+ @Path("/{cloudOwner}/{cloudRegionId}")
+ @DELETE
+ @ApiOperation(value = "delete a vim")
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response delvim(@PathParam("cloudOwner") String cloudOwner,
+ @PathParam("cloudRegionId") String cloudRegionId) {
+ LOGGER.info("start delete cloud-owner :" + cloudOwner + ", cloud-region-id: " + cloudRegionId);
+ return VimManagerWrapper.getInstance().delVim(cloudOwner, cloudRegionId);
+ }
- /**
- * query all VIM.
- */
- @Path("")
- @GET
- @ApiOperation(value = "get all vim ")
- @Produces(MediaType.APPLICATION_JSON)
- @ApiResponses(value = {
- @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found",
- response = String.class),
- @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
- message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
- @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
- response = String.class)})
- @Timed
- public Response queryVimList() {
- return VimManagerWrapper.getInstance().queryVimList();
- }
+ /**
+ * update vim by id.
+ */
+ @PUT
+ @Path("/{cloudOwner}/{cloudRegionId}")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiOperation(value = "update a vim")
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response updatevims(@PathParam("cloudOwner") String cloudOwner,
+ @PathParam("cloudRegionId") String cloudRegionId, VimRegisterInfo vim) {
+ LOGGER.info("start update vim info:" + extsysUtil.objectToString(vim));
+ return VimManagerWrapper.getInstance().updateVim(cloudOwner, cloudRegionId, vim);
+ }
- /**
- * query vim by id.
- */
- @Path("/{vimId}")
- @GET
- @ApiOperation(value = "get vim by id")
- @Produces(MediaType.APPLICATION_JSON)
- @ApiResponses(value = {
- @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found",
- response = String.class),
- @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
- message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
- @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
- response = String.class)})
- @Timed
- public Response queryVimById(@ApiParam(value = "vim id") @PathParam("vimId") String vimId) {
- LOGGER.info("start query vim by id." + vimId);
- return VimManagerWrapper.getInstance().queryVimById(vimId);
- }
-
- /**
- * delete vim by id.
- */
- @Path("/{vimId}")
- @DELETE
- @ApiOperation(value = "delete a vim")
- @ApiResponses(value = {
- @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found",
- response = String.class),
- @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
- message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
- @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
- response = String.class)})
- @Timed
- public Response delvim(@ApiParam(value = "vim id") @PathParam("vimId") String vimId) {
- LOGGER.info("start delete vim .id:" + vimId);
- return VimManagerWrapper.getInstance().delVim(vimId);
- }
-
- /**
- * update vim by id.
- */
- @PUT
- @Path("/{vimId}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
- @ApiOperation(value = "update a vim")
- @ApiResponses(value = {
- @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found",
- response = String.class),
- @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
- message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
- @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
- response = String.class)})
- @Timed
- public Response updatevims(@ApiParam(value = "vim", required = true) VimRestData vim,
- @ApiParam(value = "vim id", required = true) @PathParam("vimId") String vimId) {
- LOGGER.info("start update vim .id:" + vimId + " info:" + ExtsysUtil.objectToString(vim));
- return VimManagerWrapper.getInstance().updateVim(vim);
- }
-
- /**
- * register vim .
- */
- @POST
- @Path("")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
- @ApiOperation(value = "create a vim")
- @ApiResponses(value = {
- @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found",
- response = String.class),
- @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
- message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
- @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
- response = String.class)})
- @Timed
- public Response registerVims(@ApiParam(value = "vim", required = true) VimRestData vim) {
- LOGGER.info("start add vim" + " info:" + ExtsysUtil.objectToString(vim));
- return VimManagerWrapper.getInstance().registerVim(vim);
- }
+ /**
+ * register vim .
+ */
+ @POST
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
+ @ApiOperation(value = "create a vim")
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response registerVims(VimRegisterInfo vim) {
+ LOGGER.info("start add vim" + " info:" + extsysUtil.objectToString(vim));
+ return VimManagerWrapper.getInstance().registerVim(vim);
+ }
+
+ @GET
+ @Path("/complexes")
+ @ApiOperation(value = "get all complexes ")
+ @Produces(MediaType.APPLICATION_JSON)
+ @ApiResponses(value = {
+ @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class),
+ @ApiResponse(code = HttpStatus.UNSUPPORTED_MEDIA_TYPE_415,
+ message = "Unprocessable MicroServiceInfo Entity ", response = String.class),
+ @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
+ response = String.class)})
+ @Timed
+ public Response queryComplexList() {
+ return VimManagerWrapper.getInstance().queryComplexes();
+ }
}