aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java')
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java173
1 files changed, 83 insertions, 90 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java
index 259ef723c6..3ead86dc14 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java
@@ -7,9 +7,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,127 +20,105 @@
package org.openecomp.sdcrests.vsp.rest;
-import static org.openecomp.sdcrests.common.RestConstants.USER_HEADER_PARAM;
-import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
-
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
-
-import org.apache.cxf.jaxrs.ext.multipart.Multipart;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto;
-import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.*;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson;
import org.springframework.validation.annotation.Validated;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
+import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
+import java.io.File;
+import java.io.IOException;
+import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM;
+import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG;
@Path("/v1.0/vendor-software-products")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Api(value = "Vendor Software Products")
@Validated
-public interface VendorSoftwareProducts {
+public interface VendorSoftwareProducts extends VspEntities {
@POST
@Path("/")
@ApiOperation(value = "Create a new vendor software product",
response = VspCreationDto.class)
- Response createNewVsp(@Valid VspDescriptionDto vspDescriptionDto,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
+ Response createVsp(@Valid VspDescriptionDto vspDescriptionDto,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@GET
@Path("/")
@ApiOperation(value = "Get list of vendor software products and their description",
responseContainer = "List")
- Response getVspList(@ApiParam(
+ Response listVsps(@ApiParam(
value = "Currently supported values: 'Final' - only vendor software products with final "
- + "version will be return - with their latest final version")
- @QueryParam("versionFilter") String versionFilter,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
+ + " version will be return - with their latest final version")
+ @QueryParam("versionFilter") String versionFilter,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
- @GET
- @Path("/packages")
- @ApiOperation(value = "Get list of translated CSAR files details",
- response = PackageInfoDto.class,
- responseContainer = "List")
- Response listPackages(@ApiParam("Category") @QueryParam("category") String category,
- @ApiParam("Sub-category") @QueryParam("subCategory") String subCategory,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
@GET
- @Path("/{vspId}")
+ @Path("/{vspId}/versions/{versionId}")
@ApiOperation(value = "Get details of a vendor software product")
- Response getVspDetails(@PathParam("vspId") String vspId,
- @Pattern(regexp = Version.VERSION_REGEX,
- message = Version.VERSION_STRING_VIOLATION_MSG) @QueryParam("version")
- String version,
- @NotNull(message = USER_MISSING_ERROR_MSG)
- @HeaderParam(USER_HEADER_PARAM) String user);
+ Response getVsp(@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@PUT
- @Path("/{vspId}")
+ @Path("/{vspId}/versions/{versionId}")
@ApiOperation(value = "Update an existing vendor software product")
- Response updateVsp(@PathParam("vspId") String vspId, @Valid VspDescriptionDto vspDescriptionDto,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
+ Response updateVsp(@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
+ @Valid VspDescriptionDto vspDescriptionDto,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@DELETE
@Path("/{vspId}")
@ApiOperation(value = "Deletes vendor software product by given id")
Response deleteVsp(@PathParam("vspId") String vspId,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
- @POST
- @Path("{vspId}/upload")
- @Consumes(MediaType.MULTIPART_FORM_DATA)
- @ApiOperation(value = "Uploads a HEAT package to translate",
- response = UploadFileResponseDto.class)
- Response uploadFile(@PathParam("vspId") String vspId,
- @Multipart("upload") InputStream heatFileToUpload,
- @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_HEADER_PARAM)
- String user);
+ @GET
+ @Path("/packages")
+ @ApiOperation(value = "Get list of translated CSAR files details",
+ response = PackageInfoDto.class,
+ responseContainer = "List")
+ Response listPackages(@ApiParam("Category") @QueryParam("category") String category,
+ @ApiParam("Sub-category") @QueryParam("subCategory") String subCategory,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@GET
- @Path("/{vspId}/downloadHeat")
+ @Path("/{vspId}/versions/{versionId}/orchestration-template")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
- @ApiOperation(value = "Get uploaded HEAT file",
+ @ApiOperation(value = "Get Orchestration Template (HEAT) file",
notes = "Downloads the latest HEAT package",
response = File.class)
- Response getLatestHeatPackage(@PathParam("vspId") String vspId,
- /*@NotNull(message = USER_MISSING_ERROR_MSG)*/
- @HeaderParam(USER_HEADER_PARAM) String user);
+ Response getOrchestrationTemplate(
+ @PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
+ @GET
+ @Path("/validation-vsp")
+ Response getValidationVsp(
+ @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user)
+ throws Exception;
+
@PUT
- @Path("/{vspId}/actions")
+ @Path("/{vspId}/versions/{versionId}/actions")
@ApiOperation(value = "Actions on a vendor software product",
notes = "Performs one of the following actions on a vendor software product: |"
+ "Checkout: Locks it for edits by other users. Only the locking user sees the edited "
@@ -149,14 +127,11 @@ public interface VendorSoftwareProducts {
+ "Checkin: Unlocks it and activates the edited version to all users.| "
+ "Submit: Finalize its active version.|"
+ "Create_Package: Creates a CSAR zip file.|")
- /*@ApiResponses(value = {
- @ApiResponse(code = 200, message = "Action succeeded"),
- @ApiResponse(code = 417, message = "Validation before submit has failed",
- response = ValidationResponseDto.class)})*/
Response actOnVendorSoftwareProduct(@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
VersionSoftwareProductActionRequestDto request,
@NotNull(message = USER_MISSING_ERROR_MSG)
- @HeaderParam(USER_HEADER_PARAM) String user)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user)
throws IOException;
@GET
@@ -166,28 +141,46 @@ public interface VendorSoftwareProducts {
notes = "Exports translated file to a zip file",
response = File.class)
Response getTranslatedFile(@PathParam("vspId") String vspId,
- @Pattern(regexp = Version.VERSION_REGEX,
- message = Version.VERSION_STRING_VIOLATION_MSG)
@QueryParam("version") String version,
- /*@NotNull(message = USER_MISSING_ERROR_MSG)*/
- @HeaderParam(USER_HEADER_PARAM) String user);
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@GET
- @Path("/{vspId}/questionnaire")
+ @Path("/{vspId}/versions/{versionId}/questionnaire")
@ApiOperation(value = "Get vendor software product questionnaire",
response = QuestionnaireResponseDto.class)
Response getQuestionnaire(@PathParam("vspId") String vspId,
- @Pattern(regexp = Version.VERSION_REGEX,
- message = Version.VERSION_STRING_VIOLATION_MSG)
- @QueryParam("version") String version,
+ @PathParam("versionId") String versionId,
@NotNull(message = USER_MISSING_ERROR_MSG)
- @HeaderParam(USER_HEADER_PARAM) String user);
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
@PUT
- @Path("/{vspId}/questionnaire")
+ @Path("/{vspId}/versions/{versionId}/questionnaire")
@ApiOperation(value = "Update vendor software product questionnaire")
Response updateQuestionnaire(@NotNull @IsValidJson String questionnaireData,
@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
@NotNull(message = USER_MISSING_ERROR_MSG)
- @HeaderParam(USER_HEADER_PARAM) String user);
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
+
+
+ @PUT
+ @Path("/{vspId}/versions/{versionId}/heal")
+ @ApiOperation(value = "Checkout and heal vendor software product questionnaire",
+ response = QuestionnaireResponseDto.class)
+ Response heal(@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
+
+
+ @GET
+ @Path("/{vspId}/versions/{versionId}/vspInformationArtifact")
+ @Produces(MediaType.TEXT_PLAIN)
+ @ApiOperation(value = "Get vendor software product information artifact for specified version",
+ response = File.class)
+ Response getVspInformationArtifact(@PathParam("vspId") String vspId,
+ @PathParam("versionId") String versionId,
+ @NotNull(message = USER_MISSING_ERROR_MSG)
+ @HeaderParam(USER_ID_HEADER_PARAM) String user);
+
}