diff options
Diffstat (limited to 'vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java')
-rw-r--r-- | vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java | 164 |
1 files changed, 79 insertions, 85 deletions
diff --git a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java index 7e50eab8..f8f4f543 100644 --- a/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java +++ b/vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vnfsdk/marketplace/resource/PackageResource.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.onap.vnfsdk.marketplace.resource; import java.io.IOException; @@ -35,11 +36,16 @@ import javax.ws.rs.core.Response; import org.eclipse.jetty.http.HttpStatus; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.glassfish.jersey.media.multipart.FormDataParam; +import org.onap.vnfsdk.marketplace.common.CommonConstant; import org.onap.vnfsdk.marketplace.db.exception.MarketplaceResourceException; +import org.onap.vnfsdk.marketplace.db.resource.PackageManager; import org.onap.vnfsdk.marketplace.entity.response.CsarFileUriResponse; import org.onap.vnfsdk.marketplace.entity.response.PackageMeta; import org.onap.vnfsdk.marketplace.entity.response.UploadPackageResponse; import org.onap.vnfsdk.marketplace.onboarding.entity.OnBoardingResult; +import org.onap.vnfsdk.marketplace.rest.RestConstant; +import org.onap.vnfsdk.marketplace.rest.RestResponse; +import org.onap.vnfsdk.marketplace.rest.RestfulClient; import org.onap.vnfsdk.marketplace.wrapper.PackageWrapper; import io.swagger.annotations.Api; @@ -52,7 +58,6 @@ import io.swagger.annotations.ApiResponses; * csar package service. * * @author 10189609 - * */ @Path("/PackageResource") @Api(tags = {"Package Resource"}) @@ -64,78 +69,59 @@ public class PackageResource { @Consumes(MediaType.APPLICATION_JSON) @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 = "update error", - response = String.class)}) - public Response updateValidateStatus( - @ApiParam(value = "http request body") @Context HttpServletRequest request, - @ApiParam(value = "http header") @Context HttpHeaders head - ) throws IOException { + @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 = "update error", response = String.class)}) + public Response updateValidateStatus(@ApiParam(value = "http request body") @Context HttpServletRequest request, + @ApiParam(value = "http header") @Context HttpHeaders head) throws IOException { InputStream input = request.getInputStream(); return PackageWrapper.getInstance().updateValidateStatus(input); } - @Path("/csars") @GET - @ApiOperation(value = "get csar package list by condition", response = PackageMeta.class, - responseContainer = "List") + @ApiOperation(value = "get csar package list by condition", response = PackageMeta.class, responseContainer = "List") @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 = "resource grant error", - response = String.class)}) - public Response queryPackageListByCond( - @ApiParam(value = "csar name") @QueryParam("name") String name, @ApiParam( - value = "csar provider") @QueryParam("provider") String provider, @ApiParam( - value = "csar version") @QueryParam("version") String version, @ApiParam( - value = "delay to delete") @QueryParam("deletionPending") String deletionPending, + @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 = "resource grant error", response = String.class)}) + public Response queryPackageListByCond(@ApiParam(value = "csar name") @QueryParam("name") String name, + @ApiParam(value = "csar provider") @QueryParam("provider") String provider, + @ApiParam(value = "csar version") @QueryParam("version") String version, + @ApiParam(value = "delay to delete") @QueryParam("deletionPending") String deletionPending, @ApiParam(value = "csar type") @QueryParam("type") String type) { - return PackageWrapper.getInstance().queryPackageListByCond(name, provider, version, - deletionPending, type); + return PackageWrapper.getInstance().queryPackageListByCond(name, provider, version, deletionPending, type); } @Path("/csars/{csarId}") @GET - @ApiOperation(value = "get csar package list", response = PackageMeta.class, - responseContainer = "List") + @ApiOperation(value = "get csar package list", response = PackageMeta.class, responseContainer = "List") @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 = "resource grant error", - response = String.class)}) - public Response queryPackageById( - @ApiParam(value = "csar id") @PathParam("csarId") String csarId) { + @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 = "resource grant error", response = String.class)}) + public Response queryPackageById(@ApiParam(value = "csar id") @PathParam("csarId") String csarId) { return PackageWrapper.getInstance().queryPackageById(csarId); } + @Path("/csars") @POST @ApiOperation(value = "upload csar package", response = UploadPackageResponse.class) @Consumes(MediaType.MULTIPART_FORM_DATA) @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 = "resource grant error", - response = String.class)}) + @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 = "resource grant error", response = String.class)}) public Response uploadPackage( - @ApiParam(value = "file inputstream", - required = true) @FormDataParam("file") InputStream uploadedInputStream,@FormDataParam("params") String details, - @ApiParam(value = "file detail", - required = false) @FormDataParam("file") FormDataContentDisposition fileDetail, - @ApiParam(value = "http header") @Context HttpHeaders head) throws IOException, MarketplaceResourceException { + @ApiParam(value = "file inputstream", required = true) @FormDataParam("file") InputStream uploadedInputStream, + @FormDataParam("params") String details, + @ApiParam(value = "file detail", required = false) @FormDataParam("file") FormDataContentDisposition fileDetail, + @ApiParam(value = "http header") @Context HttpHeaders head) + throws IOException, MarketplaceResourceException { return PackageWrapper.getInstance().uploadPackage(uploadedInputStream, fileDetail, details, head); } @@ -143,12 +129,9 @@ public class PackageResource { @DELETE @ApiOperation(value = "delete a package") @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 = "resource grant error", - response = String.class)}) + @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 = "resource grant error", response = String.class)}) public Response delPackage(@ApiParam(value = "csar Id") @PathParam("csarId") String csarId) { return PackageWrapper.getInstance().delPackage(csarId); } @@ -158,20 +141,16 @@ public class PackageResource { @ApiOperation(value = "get csar file uri by csarId", response = CsarFileUriResponse.class) @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 = "resource grant error", - response = String.class)}) - public Response getCsarFileUri( - @ApiParam(value = "csar Id", required = true) @PathParam("csarId") String csarId) { + @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 = "resource grant error", response = String.class)}) + public Response getCsarFileUri(@ApiParam(value = "csar Id", required = true) @PathParam("csarId") String csarId) { return PackageWrapper.getInstance().getCsarFileUri(csarId); } @Path("/csars/{csarId}/downloaded") @GET - @ApiOperation(value = "update download count for a package",response = Response.class) + @ApiOperation(value = "update download count for a package", response = Response.class) public Response updateDwonloadCount(@ApiParam(value = "csar Id") @PathParam("csarId") String csarId) { return PackageWrapper.getInstance().updateDwonloadCount(csarId); } @@ -182,30 +161,25 @@ public class PackageResource { @Consumes(MediaType.MULTIPART_FORM_DATA) @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 = "resource grant error", - response = String.class)}) - public Response reUploadPackage( - @ApiParam(value = "csar Id") @PathParam("csarId") String csarId, - @ApiParam(value = "file inputstream", - required = true) @FormDataParam("file") InputStream uploadedInputStream,@FormDataParam("params") String details, - @ApiParam(value = "file detail", - required = false) @FormDataParam("file") FormDataContentDisposition fileDetail, - @ApiParam(value = "http header") @Context HttpHeaders head) throws IOException, MarketplaceResourceException { - return PackageWrapper.getInstance().reUploadPackage(csarId,uploadedInputStream, fileDetail, details, head); + @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 = "resource grant error", response = String.class)}) + public Response reUploadPackage(@ApiParam(value = "csar Id") @PathParam("csarId") String csarId, + @ApiParam(value = "file inputstream", required = true) @FormDataParam("file") InputStream uploadedInputStream, + @FormDataParam("params") String details, + @ApiParam(value = "file detail", required = false) @FormDataParam("file") FormDataContentDisposition fileDetail, + @ApiParam(value = "http header") @Context HttpHeaders head) + throws IOException, MarketplaceResourceException { + return PackageWrapper.getInstance().reUploadPackage(csarId, uploadedInputStream, fileDetail, details, head); } @Path("/csars/{csarId}/onboardstatus") @GET - @ApiOperation(value="Get VNF OnBoarding Result", response=OnBoardingResult.class) + @ApiOperation(value = "Get VNF OnBoarding Result", response = OnBoardingResult.class) @Produces(MediaType.APPLICATION_JSON) public Response getOnBoardingResult(@ApiParam("csar Id") @PathParam("csarId") String csarId, @ApiParam("operation type") @QueryParam("operTypeId") String operTypeId, - @ApiParam("operation id") @QueryParam("operId") String operId) - { + @ApiParam("operation id") @QueryParam("operId") String operId) { return PackageWrapper.getInstance().getOnBoardingResult(csarId, operTypeId, operId); } @@ -215,16 +189,36 @@ public class PackageResource { @Produces(MediaType.APPLICATION_JSON) public Response getOperStatus(@ApiParam(value = "csar Id") @PathParam("csarId") String csarId, @ApiParam(value = "operation type") @QueryParam("operTypeId") String operTypeId) { - return PackageWrapper.getInstance().getOperResultByOperTypeId(csarId,operTypeId); + return PackageWrapper.getInstance().getOperResultByOperTypeId(csarId, operTypeId); } @Path("/csars/onboardsteps") @GET - @ApiOperation(value="Get VNF OnBoarded Steps", response=Response.class) + @ApiOperation(value = "Get VNF OnBoarded Steps", response = Response.class) @Produces(MediaType.APPLICATION_JSON) - public Response getOnBoardingSteps() - { + public Response getOnBoardingSteps() { return PackageWrapper.getInstance().getOnBoardingSteps(); } -} + @Path("/healthcheck") + @GET + @ApiOperation(value = "Health for VNF Repository", response = Response.class) + @Produces(MediaType.APPLICATION_JSON) + public Response healthCheck() { + + // Step 1: Check whether tomcat server is up + RestResponse resp = RestfulClient.get("127.0.0.1", CommonConstant.HTTP_PORT, CommonConstant.BASE_URL); + if(RestConstant.RESPONSE_CODE_200 != resp.getStatusCode()) { + return Response.serverError().build(); + } + + // Step 2: Check whether postgres database is up + try { + PackageManager.getInstance().queryPackageByCsarId("01"); + } catch(Exception e) { + return Response.serverError().build(); + } + + return Response.ok().build(); + } +} |