From 8e9c0653dd6c6862123c9609ae34e1206d86456e Mon Sep 17 00:00:00 2001 From: talig Date: Wed, 20 Dec 2017 14:30:43 +0200 Subject: Add collaboration feature Issue-ID: SDC-767 Change-Id: I14fb4c1f54086ed03a56a7ff7fab9ecd40381795 Signed-off-by: talig --- .../sdcrests/vsp/rest/ComponentDependencies.java | 87 +++ .../vsp/rest/ComponentDependencyModels.java | 50 -- .../sdcrests/vsp/rest/ComponentProcesses.java | 10 +- .../org/openecomp/sdcrests/vsp/rest/Compute.java | 6 +- .../sdcrests/vsp/rest/DeploymentFlavors.java | 6 +- .../org/openecomp/sdcrests/vsp/rest/Images.java | 6 +- .../java/org/openecomp/sdcrests/vsp/rest/Nics.java | 6 +- .../vsp/rest/OrchestrationTemplateCandidate.java | 3 +- .../org/openecomp/sdcrests/vsp/rest/Processes.java | 6 +- .../sdcrests/vsp/rest/VendorSoftwareProducts.java | 36 +- ...VendorSoftwareProductsForSwaggerFileUpload.java | 7 +- .../openecomp/sdcrests/vsp/rest/VspEntities.java | 21 - .../MapComponentDependencyEntityToCreationDto.java | 16 + .../mapping/MapComponentDependencyEntityToDto.java | 18 + .../MapComputeDetailsDtoToComputeEntity.java | 2 +- .../rest/mapping/MapFilesDataStructureToDto.java | 17 + ...StructureToGetFileDataStructureResponseDto.java | 40 -- .../vsp/rest/mapping/MapImageDataToImageDto.java | 1 - .../vsp/rest/mapping/MapItemToVspDetailsDto.java | 18 + .../mapping/MapPackageInfoToPackageInfoDto.java | 2 +- .../MapQuestionnaireToQuestionnaireDto.java | 21 + .../rest/mapping/MapValidationResponseToDto.java | 33 +- ...edVendorSoftwareProductInfoToVspDetailsDto.java | 83 --- .../rest/mapping/MapVspDescriptionDtoToItem.java | 16 + .../mapping/MapVspDescriptionDtoToVspDetails.java | 13 +- .../vsp/rest/mapping/MapVspDetailsToDto.java | 53 ++ .../mapping/MapVspDetailsToVspCreationDto.java | 32 -- .../rest/services/ComponentDependenciesImpl.java | 119 +++++ .../services/ComponentDependencyModelsImpl.java | 78 --- .../services/ComponentMonitoringUploadsImpl.java | 23 +- .../vsp/rest/services/ComponentProcessesImpl.java | 77 ++- .../sdcrests/vsp/rest/services/ComponentsImpl.java | 45 +- .../sdcrests/vsp/rest/services/ComputeImpl.java | 88 ++-- .../vsp/rest/services/DeploymentFlavorsImpl.java | 43 +- .../sdcrests/vsp/rest/services/ImagesImpl.java | 85 ++- .../sdcrests/vsp/rest/services/NetworksImpl.java | 24 +- .../sdcrests/vsp/rest/services/NicsImpl.java | 60 ++- .../OrchestrationTemplateCandidateImpl.java | 71 ++- .../sdcrests/vsp/rest/services/ProcessesImpl.java | 36 +- .../rest/services/VendorSoftwareProductsImpl.java | 582 ++++++++++++++------- .../vsp/rest/services/VspItemProperty.java | 7 + .../vendor-software-products-rest-types/pom.xml | 5 + .../types/ComponentDependencyCreationDto.java | 13 + .../types/ComponentDependencyResponseDto.java | 41 ++ .../types/DeploymentFlavorRequestDto.java | 2 +- .../types/FileDataStructureDto.java | 69 +++ .../types/OnboardingMethod.java | 6 - .../types/QuestionnaireDto.java | 30 ++ .../types/VendorSoftwareProductAction.java | 3 - .../VersionSoftwareProductActionRequestDto.java | 11 + .../types/VspCreationDto.java | 36 -- .../types/VspDescriptionDto.java | 36 +- .../types/VspDetailsDto.java | 63 +-- .../types/VspRequestDto.java | 16 + .../types/validation/IsValidJson.java | 16 +- .../types/validation/StringValidator.java | 4 +- .../types/validation/ValidateString.java | 12 +- 57 files changed, 1292 insertions(+), 1018 deletions(-) create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencies.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencyModels.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyEntityToCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyEntityToDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapFilesDataStructureToDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapFilesDataStructureToGetFileDataStructureResponseDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapItemToVspDetailsDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapQuestionnaireToQuestionnaireDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDescriptionDtoToItem.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapVspDetailsToVspCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentDependenciesImpl.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentDependencyModelsImpl.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/VspItemProperty.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyResponseDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/FileDataStructureDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireDto.java delete mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspCreationDto.java create mode 100644 openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspRequestDto.java (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest') 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/ComponentDependencies.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/ComponentDependencies.java new file mode 100644 index 0000000000..44626ff62d --- /dev/null +++ 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/ComponentDependencies.java @@ -0,0 +1,87 @@ +package org.openecomp.sdcrests.vsp.rest; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyResponseDto; +import org.springframework.validation.annotation.Validated; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; +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.core.MediaType; +import javax.ws.rs.core.Response; + +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/{vspId}/versions/{versionId}/component-dependencies") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +@Api(value = "Vendor Software Product Component Dependencies") +@Validated +public interface ComponentDependencies extends VspEntities { + + @POST + @Path("/") + @ApiOperation(value = "Create a vendor software product component dependency") + Response create(@Valid ComponentDependencyModel request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/") + @ApiOperation(value = "Get component dependencies for vendor software product", + response = ComponentDependencyResponseDto.class, + responseContainer = "List") + Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") + String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @DELETE + @Path("/{dependencyId}") + @ApiOperation(value = "Delete component dependency for vendor software product") + Response delete(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product version Id") + @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product Component Dependency Id") @PathParam + ("dependencyId") String dependencyId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @PUT + @Path("/{dependencyId}") + @ApiOperation(value = "Update component dependency for vendor software product") + Response update(@Valid ComponentDependencyModel request, + @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") + String versionId, + @ApiParam(value = "Vendor software product Component Dependency Id") @PathParam + ("dependencyId") String dependencyId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); + + @GET + @Path("/{dependencyId}") + @ApiOperation(value = "Get component dependency for vendor software product", + response = ComponentDependencyResponseDto.class) + Response get(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, + @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, + @ApiParam(value = "Vendor software product Component Dependency Id") @PathParam + ("dependencyId") String dependencyId, + @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) + String user); +} 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/ComponentDependencyModels.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/ComponentDependencyModels.java deleted file mode 100644 index d7ba65fce5..0000000000 --- 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/ComponentDependencyModels.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.openecomp.sdcrests.vsp.rest; - -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModelRequestDto; -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/component-dependency-model") -@Produces(MediaType.APPLICATION_JSON) -@Consumes(MediaType.APPLICATION_JSON) -@Api(value = "Vendor Software Product Component Dependency Model") -@Validated -public interface ComponentDependencyModels extends VspEntities { - - @POST - @Path("/") - @ApiOperation(value = "Create a vendor software product component dependency model") - Response create(@Valid ComponentDependencyModelRequestDto request, - @ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Version Id") @PathParam("versionId") String versionId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) - String user); - - @GET - @Path("/") - @ApiOperation(value = "Get component dependency Model for vendor software product", - response = ComponentDependencyModelRequestDto.class, - responseContainer = "List") - Response list(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String vspId, - @ApiParam(value = "Vendor software product version Id") @PathParam("versionId") - String versionId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) - String user); -} 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/ComponentProcesses.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/ComponentProcesses.java index edb3b5bfc2..5595dc1254 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/ComponentProcesses.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/ComponentProcesses.java @@ -31,7 +31,15 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.ws.rs.*; +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.core.MediaType; import javax.ws.rs.core.Response; 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/Compute.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/Compute.java index d5125c92bf..635d31255c 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/Compute.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/Compute.java @@ -1,8 +1,5 @@ package org.openecomp.sdcrests.vsp.rest; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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; @@ -26,6 +23,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +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/{vspId}/versions/{versionId}/components/{componentId" + "}/compute-flavors") @Produces(MediaType.APPLICATION_JSON) 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/DeploymentFlavors.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/DeploymentFlavors.java index 1ba2f71b4c..a154f9ffa7 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/DeploymentFlavors.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/DeploymentFlavors.java @@ -1,8 +1,5 @@ package org.openecomp.sdcrests.vsp.rest; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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; @@ -25,6 +22,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +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/{vspId}/versions/{versionId}/deployment-flavors") @Produces(MediaType.APPLICATION_JSON) 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/Images.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/Images.java index ffa1675f91..b3d2e5cd1c 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/Images.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/Images.java @@ -1,8 +1,5 @@ package org.openecomp.sdcrests.vsp.rest; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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; @@ -26,6 +23,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +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/{vspId}/versions/{versionId}/components/{componentId}/images") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) 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/Nics.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/Nics.java index 21bd65eccb..67be16825a 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/Nics.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/Nics.java @@ -20,9 +20,6 @@ package org.openecomp.sdcrests.vsp.rest; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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; @@ -46,6 +43,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +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/{vspId}/versions/{versionId}/components/{componentId}/nics") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) 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/OrchestrationTemplateCandidate.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/OrchestrationTemplateCandidate.java index fa7f421fc8..4f5e31aaaf 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/OrchestrationTemplateCandidate.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/OrchestrationTemplateCandidate.java @@ -25,7 +25,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.Multipart; -import org.openecomp.sdc.vendorsoftwareproduct.types.FileDataStructureDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.FileDataStructureDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto; import org.springframework.validation.annotation.Validated; @@ -43,7 +43,6 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; 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/Processes.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/Processes.java index 458a1c63fd..caf03b4fc7 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/Processes.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/Processes.java @@ -20,9 +20,6 @@ package org.openecomp.sdcrests.vsp.rest; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_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; @@ -46,6 +43,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +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/{vspId}/versions/{versionId}/processes") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) 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 20fe64b88f..d848d41f7c 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 @@ -23,12 +23,13 @@ package org.openecomp.sdcrests.vsp.rest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import org.openecomp.sdcrests.item.types.ItemCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.IsValidJson; import org.springframework.validation.annotation.Validated; @@ -51,6 +52,7 @@ 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) @@ -61,8 +63,8 @@ public interface VendorSoftwareProducts extends VspEntities { @POST @Path("/") @ApiOperation(value = "Create a new vendor software product", - response = VspCreationDto.class) - Response createVsp(@Valid VspDescriptionDto vspDescriptionDto, + response = ItemCreationDto.class) + Response createVsp(@Valid VspRequestDto vspRequestDto, @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); @@ -71,13 +73,12 @@ public interface VendorSoftwareProducts extends VspEntities { @ApiOperation(value = "Get list of vendor software products and their description", responseContainer = "List") Response listVsps(@ApiParam( - value = "Currently supported values: 'Final' - only vendor software products with final " + value = "Currently supported values: 'Certified' - only vendor software products with final " + " version will be return - with their latest final version") - @QueryParam("versionFilter") String versionFilter, + @QueryParam("versionFilter") String versionStatus, @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user); - @GET @Path("/{vspId}/versions/{versionId}") @ApiOperation(value = "Get details of a vendor software product") @@ -140,9 +141,9 @@ public interface VendorSoftwareProducts extends VspEntities { + "Checkin: Unlocks it and activates the edited version to all users.| " + "Submit: Finalize its active version.|" + "Create_Package: Creates a CSAR zip file.|") - Response actOnVendorSoftwareProduct(@PathParam("vspId") String vspId, + Response actOnVendorSoftwareProduct(VersionSoftwareProductActionRequestDto request, + @PathParam("vspId") String vspId, @PathParam("versionId") String versionId, - VersionSoftwareProductActionRequestDto request, @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) String user) throws IOException; @@ -201,18 +202,9 @@ public interface VendorSoftwareProducts extends VspEntities { @ApiOperation(value = "Get list of vendor software product compute-flavors", response = VspComputeDto.class, responseContainer = "List") - Response listCompute(@ApiParam(value = "Vendor software product Id") @PathParam("vspId") String - vspId, - @PathParam("versionId") String versionId, - @NotNull(message = USER_MISSING_ERROR_MSG) @HeaderParam(USER_ID_HEADER_PARAM) - String user); - - @PUT - @Path("/reSubmitAll") - @ApiOperation(value = "Performs healing ,check out, check in and submit for Network Package " + - "Based VSPs", - notes - = "Please note - only submitted VSPs will be processed") - Response reSubmitAll(@NotNull(message = USER_MISSING_ERROR_MSG) - @HeaderParam(USER_ID_HEADER_PARAM) String user) throws IOException; + Response listComputes(@ApiParam(value = "Vendor software product Id") + @PathParam("vspId") String vspId, + @PathParam("versionId") String versionId, + @NotNull(message = USER_MISSING_ERROR_MSG) + @HeaderParam(USER_ID_HEADER_PARAM) String user); } 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/VendorSoftwareProductsForSwaggerFileUpload.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/VendorSoftwareProductsForSwaggerFileUpload.java index eb70394b28..c2a49401d3 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/VendorSoftwareProductsForSwaggerFileUpload.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/VendorSoftwareProductsForSwaggerFileUpload.java @@ -27,7 +27,12 @@ import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotNull; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.InputStream; 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/VspEntities.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/VspEntities.java index bd53305e33..4514af649b 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/VspEntities.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/VspEntities.java @@ -20,27 +20,6 @@ package org.openecomp.sdcrests.vsp.rest; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; -import org.openecomp.sdc.versioning.VersioningManager; -import org.openecomp.sdc.versioning.VersioningManagerFactory; -import org.openecomp.sdc.versioning.VersioningUtil; -import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionInfo; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; - public interface VspEntities { - VersioningManager versioningManager = VersioningManagerFactory.getInstance().createInterface(); - - default Version resolveVspVersion(String vspId, String version, String user, - VersionableEntityAction action) { - return VersioningUtil - .resolveVersion(Version.valueOf(version), getVersionInfo(vspId, action, user), user); - } - default VersionInfo getVersionInfo(String vendorSoftwareProductId, VersionableEntityAction action, - String user) { - return versioningManager.getEntityVersionInfo( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vendorSoftwareProductId, user, action); - } } 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/mapping/MapComponentDependencyEntityToCreationDto.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/mapping/MapComponentDependencyEntityToCreationDto.java new file mode 100644 index 0000000000..cb480b2aa0 --- /dev/null +++ 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/mapping/MapComponentDependencyEntityToCreationDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyCreationDto; + +public class MapComponentDependencyEntityToCreationDto extends MappingBase + { + + @Override + public void doMapping(ComponentDependencyModelEntity source, + ComponentDependencyCreationDto target) { + target.setId(source.getId()); + } +} 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/mapping/MapComponentDependencyEntityToDto.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/mapping/MapComponentDependencyEntityToDto.java new file mode 100644 index 0000000000..0fe51178a7 --- /dev/null +++ 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/mapping/MapComponentDependencyEntityToDto.java @@ -0,0 +1,18 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyResponseDto; + +public class MapComponentDependencyEntityToDto extends + MappingBase { + + @Override + public void doMapping(ComponentDependencyModelEntity source, + ComponentDependencyResponseDto target) { + target.setSourceId(source.getSourceComponentId()); + target.setTargetId(source.getTargetComponentId()); + target.setRelationType(source.getRelation()); + target.setId(source.getId()); + } +} 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/mapping/MapComputeDetailsDtoToComputeEntity.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/mapping/MapComputeDetailsDtoToComputeEntity.java index ee9882369f..7db9a0a9b1 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/mapping/MapComputeDetailsDtoToComputeEntity.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/mapping/MapComputeDetailsDtoToComputeEntity.java @@ -12,6 +12,6 @@ public class MapComputeDetailsDtoToComputeEntity extends MappingBase { + + @Override + public void doMapping(FilesDataStructure source, FileDataStructureDto target) { + target.setModules(source.getModules()); + target.setArtifacts(source.getArtifacts()); + target.setNested(source.getNested()); + target.setUnassigned(source.getUnassigned()); + } +} 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/mapping/MapFilesDataStructureToGetFileDataStructureResponseDto.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/mapping/MapFilesDataStructureToGetFileDataStructureResponseDto.java deleted file mode 100644 index b7d4670203..0000000000 --- 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/mapping/MapFilesDataStructureToGetFileDataStructureResponseDto.java +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.mapping; - - -import org.openecomp.sdc.vendorsoftwareproduct.types.GetFileDataStructureResponseDTO; -import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure; -import org.openecomp.sdcrests.mapping.MappingBase; - -/** - * Created by TALIO on 4/27/2016. - */ -public class MapFilesDataStructureToGetFileDataStructureResponseDto - extends MappingBase { - @Override - public void doMapping(FilesDataStructure source, GetFileDataStructureResponseDTO target) { - target.setModules(source.getModules()); - target.setArtifacts(source.getArtifacts()); - target.setUnassigned(source.getUnassigned()); - target.setNested(source.getNested()); - } -} 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/mapping/MapImageDataToImageDto.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/mapping/MapImageDataToImageDto.java index 684cd4c31d..f938c52e5b 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/mapping/MapImageDataToImageDto.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/mapping/MapImageDataToImageDto.java @@ -1,6 +1,5 @@ package org.openecomp.sdcrests.vsp.rest.mapping; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; 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/mapping/MapItemToVspDetailsDto.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/mapping/MapItemToVspDetailsDto.java new file mode 100644 index 0000000000..ad45e63330 --- /dev/null +++ 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/mapping/MapItemToVspDetailsDto.java @@ -0,0 +1,18 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto; +import org.openecomp.sdcrests.vsp.rest.services.VspItemProperty; + +public class MapItemToVspDetailsDto extends MappingBase { + @Override + public void doMapping(Item source, VspDetailsDto target) { + target.setId(source.getId()); + target.setName(source.getName()); + target.setDescription(source.getDescription()); + target.setVendorId((String) source.getProperties().get(VspItemProperty.VENDOR_ID)); + target.setVendorName((String) source.getProperties().get(VspItemProperty.VENDOR_NAME)); + target.setOnboardingMethod((String) source.getProperties().get(VspItemProperty.ONBOARDING_METHOD)); + } +} 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/mapping/MapPackageInfoToPackageInfoDto.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/mapping/MapPackageInfoToPackageInfoDto.java index 34616b4306..eeee4e95d5 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/mapping/MapPackageInfoToPackageInfoDto.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/mapping/MapPackageInfoToPackageInfoDto.java @@ -33,7 +33,7 @@ public class MapPackageInfoToPackageInfoDto extends MappingBase { + + @Override + public void doMapping(CompositionEntity source, QuestionnaireDto target) { + target.setId(source.getId()); + target.setQuestionareData(JsonUtil.json2Object(source.getQuestionnaireData(), HashMap.class)); + } +} 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/mapping/MapValidationResponseToDto.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/mapping/MapValidationResponseToDto.java index 3cabebbb69..85b5567ed6 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/mapping/MapValidationResponseToDto.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/mapping/MapValidationResponseToDto.java @@ -32,9 +32,7 @@ import org.openecomp.sdcrests.common.mapping.MapErrorMessageToDto; import org.openecomp.sdcrests.common.types.ErrorCodeDto; import org.openecomp.sdcrests.common.types.ErrorMessageDto; import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireValidationResultDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto; @@ -47,30 +45,31 @@ import java.util.Set; import java.util.stream.Collectors; public class MapValidationResponseToDto - extends MappingBase { + extends MappingBase { private static Map> mapUploadDataErrors( - Map> uploadDataErrors) { + Map> uploadDataErrors) { if (MapUtils.isEmpty(uploadDataErrors)) { return null; } return uploadDataErrors.entrySet().stream().collect( - Collectors.toMap(entry -> entry.getKey(), entry -> mapErrorMessages(entry.getValue()))); + Collectors.toMap(entry -> entry.getKey(), entry -> mapErrorMessages(entry.getValue()))); } private static QuestionnaireValidationResultDto mapQuestionnaireValidationResult( - QuestionnaireValidationResult questionnaireValidationResult) { + QuestionnaireValidationResult questionnaireValidationResult) { if (Objects.isNull(questionnaireValidationResult) - || Objects.isNull(questionnaireValidationResult.getValidationData())) { + || Objects.isNull(questionnaireValidationResult.getValidationData())) { return null; } QuestionnaireValidationResultDto questionnaireValidationResultDto = - new QuestionnaireValidationResultDto(); + new QuestionnaireValidationResultDto(); questionnaireValidationResultDto.setValid(questionnaireValidationResult.isValid()); Set validationDataDto = new HashSet<>(); - for(CompositionEntityValidationData validationData : questionnaireValidationResult.getValidationData()){ + for (CompositionEntityValidationData validationData : questionnaireValidationResult + .getValidationData()) { validationDataDto.add(new MapCompositionEntityValidationDataToDto().applyMapping - (validationData, CompositionEntityValidationDataDto.class)); + (validationData, CompositionEntityValidationDataDto.class)); } questionnaireValidationResultDto.setValidationData(validationDataDto); @@ -87,7 +86,7 @@ public class MapValidationResponseToDto componentValidationResultDto.setValid(componentValidationResult.isValid()); Set validationDataDto = new HashSet<>(); - for(CompositionEntityValidationData validationData : componentValidationResult.getValidationData()){ + for(CompositionEntityValidationData validationData : componentValidationResult.getInfo()){ validationDataDto.add(new MapCompositionEntityValidationDataToDto().applyMapping (validationData, CompositionEntityValidationDataDto.class)); } @@ -106,7 +105,7 @@ public class MapValidationResponseToDto deploymentFlavorValidationResultDto.setValid(deploymentFlavorValidationResult.isValid()); Set validationDataDto = new HashSet<>(); - for(CompositionEntityValidationData validationData : deploymentFlavorValidationResult.getValidationData()){ + for(CompositionEntityValidationData validationData : deploymentFlavorValidationResult.getInfo()){ validationDataDto.add(new MapCompositionEntityValidationDataToDto().applyMapping (validationData, CompositionEntityValidationDataDto.class)); } @@ -117,14 +116,14 @@ public class MapValidationResponseToDto private static List mapErrorMessages(List errorMessages) { return errorMessages == null ? null : errorMessages.stream().map( - errorMessage -> new MapErrorMessageToDto() - .applyMapping(errorMessage, ErrorMessageDto.class)).collect(Collectors.toList()); + errorMessage -> new MapErrorMessageToDto() + .applyMapping(errorMessage, ErrorMessageDto.class)).collect(Collectors.toList()); } private static Collection mapErrorCodes(Collection errorCodes) { return CollectionUtils.isEmpty(errorCodes) ? null : errorCodes.stream() - .map(errorCode -> new MapErrorCodeToDto().applyMapping(errorCode, ErrorCodeDto.class)) - .collect(Collectors.toList()); + .map(errorCode -> new MapErrorCodeToDto().applyMapping(errorCode, ErrorCodeDto.class)) + .collect(Collectors.toList()); } @Override @@ -134,6 +133,6 @@ public class MapValidationResponseToDto target.setLicensingDataErrors(mapErrorCodes(source.getLicensingDataErrors())); target.setUploadDataErrors(mapUploadDataErrors(source.getUploadDataErrors())); target.setQuestionnaireValidationResult( - mapQuestionnaireValidationResult(source.getQuestionnaireValidationResult())); + mapQuestionnaireValidationResult(source.getQuestionnaireValidationResult())); } } 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/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.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/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java deleted file mode 100644 index 815135f834..0000000000 --- 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/mapping/MapVersionedVendorSoftwareProductInfoToVspDetailsDto.java +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.mapping; - -import org.openecomp.core.utilities.CommonMethods; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; -import org.openecomp.sdc.vendorsoftwareproduct.types.VersionedVendorSoftwareProductInfo; -import org.openecomp.sdcrests.common.types.VersionDto; -import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto; - -import java.util.stream.Collectors; - -public class MapVersionedVendorSoftwareProductInfoToVspDetailsDto - extends MappingBase { - - @Override - public void doMapping(VersionedVendorSoftwareProductInfo source, VspDetailsDto target) { - VspDetails vsp = source.getVspDetails(); - - target.setId(vsp.getId()); - target.setVersion(new VersionDto(vsp.getVersion().toString(), vsp.getVersion().toString())); - target.setName(vsp.getName()); - target.setDescription(vsp.getDescription()); - target.setCategory(vsp.getCategory()); - target.setSubCategory(vsp.getSubCategory()); - target.setVendorId(vsp.getVendorId()); - target.setVendorName(vsp.getVendorName()); - target.setOnboardingOrigin(vsp.getOnboardingOrigin()); - target.setLicensingVersion(vsp.getVlmVersion() == null ? null : new VersionDto(vsp.getVlmVersion().toString(), vsp.getVlmVersion().toString())); - target.setIsOldVersion("False"); - target.setNetworkPackageName(vsp.getNetworkPackageName()); - - if (vsp.getLicenseAgreement() != null || vsp.getFeatureGroups() != null) { - LicensingData licensingData = new LicensingData(); - licensingData.setLicenseAgreement(vsp.getLicenseAgreement()); - licensingData.setFeatureGroups(vsp.getFeatureGroups()); - target.setLicensingData(licensingData); - } - - target.setValidationData(vsp.getValidationDataStructure()); - - target.setStatus(source.getVersionInfo().getStatus()); - target.setLockingUser(source.getVersionInfo().getLockingUser()); - - if (!CommonMethods.isEmpty(source.getVersionInfo().getViewableVersions())) { - target.setViewableVersions( - source.getVersionInfo().getViewableVersions().stream() - .map(version -> new VersionDto(version.toString(), version.toString())) - .collect(Collectors.toList())); - } - - if (!CommonMethods.isEmpty(source.getVersionInfo().getFinalVersions())) { - target.setFinalVersions( - source.getVersionInfo().getFinalVersions().stream() - .map(version -> new VersionDto(version.toString(), version.toString())) - .collect(Collectors.toList())); - } - - //Onboarding Method valid value will always be present in VSP saved in DB - target.setOnboardingMethod(vsp.getOnboardingMethod()); - - } -} 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/mapping/MapVspDescriptionDtoToItem.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/mapping/MapVspDescriptionDtoToItem.java new file mode 100644 index 0000000000..3a7800f1c3 --- /dev/null +++ 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/mapping/MapVspDescriptionDtoToItem.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vsp.rest.mapping; + +import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdcrests.mapping.MappingBase; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; +import org.openecomp.sdcrests.vsp.rest.services.VspItemProperty; + +public class MapVspDescriptionDtoToItem extends MappingBase { + @Override + public void doMapping(VspDescriptionDto source, Item target) { + target.setName(source.getName()); + target.setDescription(source.getDescription()); + target.addProperty(VspItemProperty.VENDOR_ID, source.getVendorId()); + target.addProperty(VspItemProperty.VENDOR_NAME, source.getVendorName()); + } +} 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/mapping/MapVspDescriptionDtoToVspDetails.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/mapping/MapVspDescriptionDtoToVspDetails.java index ba3d92e5d2..634bd90d20 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/mapping/MapVspDescriptionDtoToVspDetails.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/mapping/MapVspDescriptionDtoToVspDetails.java @@ -23,7 +23,6 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdcrests.common.types.VersionDto; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; @@ -38,17 +37,9 @@ public class MapVspDescriptionDtoToVspDetails extends MappingBase { + + @Override + public void doMapping(VspDetails source, VspDetailsDto target) { + target.setId(source.getId()); + target.setVersion(source.getVersion() == null ? null : source.getVersion().getId()); + target.setName(source.getName()); + target.setDescription(source.getDescription()); + target.setIcon(source.getIcon()); + target.setCategory(source.getCategory()); + target.setSubCategory(source.getSubCategory()); + target.setVendorId(source.getVendorId()); + target.setVendorName(source.getVendorName()); + target.setLicensingVersion( + source.getVlmVersion() == null ? null : source.getVlmVersion().getId()); + + if (source.getLicenseAgreement() != null || source.getFeatureGroups() != null) { + LicensingData licensingData = new LicensingData(); + licensingData.setLicenseAgreement(source.getLicenseAgreement()); + licensingData.setFeatureGroups(source.getFeatureGroups()); + target.setLicensingData(licensingData); + } + + target.setOnboardingMethod(source.getOnboardingMethod()); + } +} 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/mapping/MapVspDetailsToVspCreationDto.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/mapping/MapVspDetailsToVspCreationDto.java deleted file mode 100644 index f009d8bbc6..0000000000 --- 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/mapping/MapVspDetailsToVspCreationDto.java +++ /dev/null @@ -1,32 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vsp.rest.mapping; - -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; - -public class MapVspDetailsToVspCreationDto extends MappingBase { - @Override - public void doMapping(VspDetails source, VspCreationDto target) { - target.setVspId(source.getId()); - } -} 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/services/ComponentDependenciesImpl.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/services/ComponentDependenciesImpl.java new file mode 100644 index 0000000000..73c2bac976 --- /dev/null +++ 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/services/ComponentDependenciesImpl.java @@ -0,0 +1,119 @@ +package org.openecomp.sdcrests.vsp.rest.services; + +import org.openecomp.sdc.logging.context.MdcUtil; +import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager; +import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManagerFactory; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyCreationDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyResponseDto; +import org.openecomp.sdcrests.vsp.rest.ComponentDependencies; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyEntityToCreationDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyEntityToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyModelRequestToEntity; +import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Service; + +import javax.inject.Named; +import javax.ws.rs.core.Response; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +@Named +@Service("componentDependencies") +@Scope(value = "prototype") +public class ComponentDependenciesImpl implements ComponentDependencies { + + private ComponentDependencyModelManager componentDependencyModelManager = + ComponentDependencyModelManagerFactory.getInstance().createInterface(); + + @Override + public Response create(ComponentDependencyModel request, String vspId, String versionId, + String user) { + MdcUtil.initMdc(LoggerServiceName.CREATE_COMPONENT_DEPENDENCY_MODEL.toString()); + List modelEntities = new + ArrayList(); + + final Version version = new Version(versionId); + + ComponentDependencyModelEntity modelEntity = + new MapComponentDependencyModelRequestToEntity().applyMapping(request, + ComponentDependencyModelEntity.class); + + modelEntity.setVspId(vspId); + modelEntity.setVersion(version); + + ComponentDependencyModelEntity componentDependency = + componentDependencyModelManager.createComponentDependency(modelEntity, vspId, version); + + MapComponentDependencyEntityToCreationDto mapping = + new MapComponentDependencyEntityToCreationDto(); + ComponentDependencyCreationDto createdComponentDependencyDto = mapping.applyMapping( + componentDependency, ComponentDependencyCreationDto.class); + return Response.ok(componentDependency != null ? createdComponentDependencyDto : null) + .build(); + } + + @Override + public Response list(String vspId, String versionId, String user) { + MdcUtil.initMdc(LoggerServiceName.GET_LIST_COMPONENT_DEPENDENCY.toString()); + Version vspVersion = new Version(versionId); + + Collection componentDependencies = + componentDependencyModelManager.list(vspId, vspVersion); + + MapComponentDependencyEntityToDto mapper = new MapComponentDependencyEntityToDto(); + GenericCollectionWrapper results = new GenericCollectionWrapper + (); + for (ComponentDependencyModelEntity entity : componentDependencies) { + results.add(mapper.applyMapping(entity, ComponentDependencyResponseDto.class)); + } + + return Response.ok(results).build(); + } + + @Override + public Response delete(String vspId, String versionId, String dependencyId, String user) { + MdcUtil.initMdc(LoggerServiceName.DELETE_COMPONENT_DEPENDENCY.toString()); + Version vspVersion = new Version(versionId); + componentDependencyModelManager.delete(vspId, vspVersion, dependencyId); + return Response.ok().build(); + } + + @Override + public Response update(ComponentDependencyModel request, String vspId, String versionId, String + dependencyId, String user) { + + MdcUtil.initMdc(LoggerServiceName.UPDATE_COMPONENT_DEPENDENCY.toString()); + + final Version version = new Version(versionId); + ComponentDependencyModelEntity modelEntity = + new MapComponentDependencyModelRequestToEntity().applyMapping(request, + ComponentDependencyModelEntity.class); + + modelEntity.setId(dependencyId); + modelEntity.setVspId(vspId); + modelEntity.setVersion(version); + componentDependencyModelManager.update(modelEntity); + return Response.ok().build(); + } + + @Override + public Response get(String vspId, String version, String dependencyId, String user) { + MdcUtil.initMdc(LoggerServiceName.GET_COMPONENT_DEPENDENCY.toString()); + ComponentDependencyModelEntity componentDependencyModelEntity = componentDependencyModelManager + .get(vspId, new Version(version), dependencyId); + + MapComponentDependencyEntityToDto mapper = new MapComponentDependencyEntityToDto(); + ComponentDependencyResponseDto componentDependencyResponseDto = + mapper.applyMapping(componentDependencyModelEntity, ComponentDependencyResponseDto.class); + + return Response.ok(componentDependencyModelEntity != null ? componentDependencyResponseDto : + null).build(); + } + +} \ No newline at end of file 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/services/ComponentDependencyModelsImpl.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/services/ComponentDependencyModelsImpl.java deleted file mode 100644 index 4a23140c88..0000000000 --- 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/services/ComponentDependencyModelsImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -package org.openecomp.sdcrests.vsp.rest.services; - -import org.openecomp.sdc.logging.context.MdcUtil; -import org.openecomp.sdc.logging.types.LoggerServiceName; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; -import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModelRequestDto; -import org.openecomp.sdcrests.vsp.rest.ComponentDependencyModels; -import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyModelEntityToDto; -import org.openecomp.sdcrests.vsp.rest.mapping.MapComponentDependencyModelRequestToEntity; - -import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import javax.inject.Named; -import javax.ws.rs.core.Response; - -@Named -@Service("componentDependencyModel") -@Scope(value = "prototype") -public class ComponentDependencyModelsImpl implements ComponentDependencyModels { - - private ComponentDependencyModelManager componentDependencyModelManager = - ComponentDependencyModelManagerFactory.getInstance().createInterface(); - - @Override - public Response create(ComponentDependencyModelRequestDto request, String vspId, - String versionId, String user) { - MdcUtil.initMdc(LoggerServiceName.CREATE_COMPONENT_DEPENDENCY_MODEL.toString()); - List modelEntities = new - ArrayList(); - - final Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - - if (request.getComponentDependencyModels() != null) { - for(ComponentDependencyModel model : request.getComponentDependencyModels()) { - ComponentDependencyModelEntity modelEntity = - new MapComponentDependencyModelRequestToEntity().applyMapping(model, - ComponentDependencyModelEntity.class); - - modelEntity.setVspId(vspId); - modelEntity.setVersion(version); - modelEntities.add(modelEntity); - } - } - - componentDependencyModelManager - .createComponentDependencyModel(modelEntities, vspId, version, user); - - return Response.ok().build(); - } - - @Override - public Response list(String vspId, String versionId, String user) { - MdcUtil.initMdc(LoggerServiceName.GET_COMPONENT_DEPENDENCY_MODEL.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - - Collection componentDependencies = - componentDependencyModelManager.list(vspId, vspVersion, user); - - MapComponentDependencyModelEntityToDto mapper = new MapComponentDependencyModelEntityToDto(); - GenericCollectionWrapper results = new GenericCollectionWrapper - (); - for (ComponentDependencyModelEntity entity : componentDependencies) { - results.add(mapper.applyMapping(entity, ComponentDependencyModel.class)); - } - - return Response.ok(results).build(); - } -} 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/services/ComponentMonitoringUploadsImpl.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/services/ComponentMonitoringUploadsImpl.java index a971782a15..a997d94d63 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/services/ComponentMonitoringUploadsImpl.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/services/ComponentMonitoringUploadsImpl.java @@ -16,7 +16,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManager; import org.openecomp.sdc.vendorsoftwareproduct.MonitoringUploadsManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.MonitoringUploadStatusDto; import org.openecomp.sdcrests.vsp.rest.ComponentMonitoringUploads; import org.openecomp.sdcrests.vsp.rest.mapping.MapMonitoringUploadStatusToDto; @@ -54,13 +53,13 @@ public class ComponentMonitoringUploadsImpl implements ComponentMonitoringUpload logger.audit(AuditMessages.AUDIT_MSG + String.format(AuditMessages .UPLOAD_MONITORING_FILE, type, vspId, componentId)); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type); monitoringUploadsManager.upload(attachment.getObject(InputStream.class), attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, - monitoringUploadType, user); + monitoringUploadType); mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); return Response.ok().build(); @@ -88,10 +87,9 @@ public class ComponentMonitoringUploadsImpl implements ComponentMonitoringUpload MonitoringUploadType monitoringUploadType = getMonitoringUploadType(vspId, componentId, type); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - monitoringUploadsManager - .delete(vspId, version, componentId, monitoringUploadType, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + monitoringUploadsManager.delete(vspId, version, componentId, monitoringUploadType); mdcDataDebugMessage.debugExitMessage("VSP id, component id", vspId + "," + componentId); return Response.ok().build(); @@ -102,16 +100,15 @@ public class ComponentMonitoringUploadsImpl implements ComponentMonitoringUpload String user) { MdcUtil.initMdc(LoggerServiceName.List_Monitoring_Artifacts.toString()); - Version version = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, version, componentId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); - MonitoringUploadStatus response = monitoringUploadsManager - .listFilenames(vspId, version, componentId, user); + MonitoringUploadStatus response = + monitoringUploadsManager.listFilenames(vspId, version, componentId); MonitoringUploadStatusDto returnEntity = new MapMonitoringUploadStatusToDto() .applyMapping(response, MonitoringUploadStatusDto.class); return Response.status(Response.Status.OK).entity(returnEntity).build(); - } } 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/services/ComponentProcessesImpl.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/services/ComponentProcessesImpl.java index abcb3c5322..bad6f169d9 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/services/ComponentProcessesImpl.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/services/ComponentProcessesImpl.java @@ -21,6 +21,10 @@ package org.openecomp.sdcrests.vsp.rest.services; import org.apache.cxf.jaxrs.ext.multipart.Attachment; +import org.openecomp.sdc.activitylog.ActivityLogManager; +import org.openecomp.sdc.activitylog.ActivityLogManagerFactory; +import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; +import org.openecomp.sdc.activitylog.dao.type.ActivityType; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.MdcUtil; @@ -30,10 +34,8 @@ import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.ProcessManager; import org.openecomp.sdc.vendorsoftwareproduct.ProcessManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ProcessEntityDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ProcessRequestDto; import org.openecomp.sdcrests.vsp.rest.ComponentProcesses; @@ -50,8 +52,6 @@ import java.io.File; import java.io.InputStream; import java.util.Collection; -import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.GENERAL_COMPONENT_ID; - @Named @Service("componentProcesses") @Scope(value = "prototype") @@ -60,21 +60,18 @@ public class ComponentProcessesImpl implements ComponentProcesses { private ProcessManager processManager = ProcessManagerFactory.getInstance().createInterface(); private ComponentManager componentManager = ComponentManagerFactory.getInstance().createInterface(); - private static final Logger logger = - LoggerFactory.getLogger(ComponentProcessesImpl.class); + private ActivityLogManager activityLogManager = + ActivityLogManagerFactory.getInstance().createInterface(); + + private static final Logger logger = + LoggerFactory.getLogger(ComponentProcessesImpl.class); @Override public Response list(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Component_Processes.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - validateComponentExistence(vspId, vspVersion, componentId, user); - Collection processes; - if (componentId.equals(VendorSoftwareProductConstants.GENERAL_COMPONENT_ID)) { - processes = processManager.listProcesses(vspId, vspVersion, null, user); - } else { - processes = processManager.listProcesses(vspId, vspVersion, componentId, user); - } - + Version version = new Version(versionId); + validateComponentExistence(vspId, version, componentId, user); + Collection processes = processManager.listProcesses(vspId, version, componentId); MapProcessEntityToProcessEntityDto mapper = new MapProcessEntityToProcessEntityDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -88,9 +85,9 @@ public class ComponentProcessesImpl implements ComponentProcesses { @Override public Response deleteList(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_List_Component_Processes.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + Version version = new Version(versionId); validateComponentExistence(vspId, version, componentId, user); - processManager.deleteProcesses(vspId, version, componentId, user); + processManager.deleteProcesses(vspId, version, componentId); return Response.ok().build(); } @@ -102,13 +99,11 @@ public class ComponentProcessesImpl implements ComponentProcesses { ProcessEntity process = new MapProcessRequestDtoToProcessEntity().applyMapping(request, ProcessEntity.class); process.setVspId(vspId); - process.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); - if (!componentId.equals(VendorSoftwareProductConstants.GENERAL_COMPONENT_ID)) { - process.setComponentId(componentId); - } + process.setVersion(new Version(versionId)); + process.setComponentId(componentId); validateComponentExistence(vspId, process.getVersion(), componentId, user); - ProcessEntity createdProcess = processManager.createProcess(process, user); + ProcessEntity createdProcess = processManager.createProcess(process); return Response .ok(createdProcess != null ? new StringWrapperResponse(createdProcess.getId()) : null) @@ -119,10 +114,9 @@ public class ComponentProcessesImpl implements ComponentProcesses { public Response get(String vspId, String versionId, String componentId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Component_Processes.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - validateComponentExistence(vspId, vspVersion, componentId, user); - ProcessEntity process = - processManager.getProcess(vspId, vspVersion, componentId, processId, user); + Version version = new Version(versionId); + validateComponentExistence(vspId, version, componentId, user); + ProcessEntity process = processManager.getProcess(vspId, version, componentId, processId); ProcessEntityDto result = new MapProcessEntityToProcessEntityDto().applyMapping(process, ProcessEntityDto.class); return Response.ok(result).build(); @@ -132,9 +126,9 @@ public class ComponentProcessesImpl implements ComponentProcesses { public Response delete(String vspId, String versionId, String componentId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Component_Processes.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + Version version = new Version(versionId); validateComponentExistence(vspId, version, componentId, user); - processManager.deleteProcess(vspId, version, componentId, processId, user); + processManager.deleteProcess(vspId, version, componentId, processId); return Response.ok().build(); } @@ -146,11 +140,11 @@ public class ComponentProcessesImpl implements ComponentProcesses { ProcessEntity process = new MapProcessRequestDtoToProcessEntity().applyMapping(request, ProcessEntity.class); process.setVspId(vspId); - process.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + process.setVersion(new Version(versionId)); process.setComponentId(componentId); process.setId(processId); validateComponentExistence(vspId, process.getVersion(), componentId, user); - processManager.updateProcess(process, user); + processManager.updateProcess(process); return Response.ok().build(); } @@ -158,9 +152,9 @@ public class ComponentProcessesImpl implements ComponentProcesses { public Response getUploadedFile(String vspId, String versionId, String componentId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Uploaded_File_Component_Processes.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); + Version vspVersion = new Version(versionId); validateComponentExistence(vspId, vspVersion, componentId, user); - File file = processManager.getProcessArtifact(vspId, vspVersion, componentId, processId, user); + File file = processManager.getProcessArtifact(vspId, vspVersion, componentId, processId); Response.ResponseBuilder response = Response.ok(file); if (file == null) { @@ -175,9 +169,9 @@ public class ComponentProcessesImpl implements ComponentProcesses { String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Uploaded_File_Component_Processes.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + Version version = new Version(versionId); validateComponentExistence(vspId, version, componentId, user); - processManager.deleteProcessArtifact(vspId, version, componentId, processId, user); + processManager.deleteProcessArtifact(vspId, version, componentId, processId); return Response.ok().build(); } @@ -186,21 +180,26 @@ public class ComponentProcessesImpl implements ComponentProcesses { String componentId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Upload_File_Component_Processes.toString()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_PROCESS_ARTIFACT + vspId); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); + logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_PROCESS_ARTIFACT + vspId); + Version version = new Version(versionId); validateComponentExistence(vspId, version, componentId, user); processManager.uploadProcessArtifact(attachment.getObject(InputStream.class), attachment.getContentDisposition().getParameter("filename"), vspId, version, componentId, - processId, user); + processId); + + + activityLogManager.logActivity(new ActivityLogEntity(vspId, version, + ActivityType.Upload_Artifact, user, true, "", "")); + return Response.ok().build(); } private void validateComponentExistence(String vspId, Version version, String componentId, String user) { - if (GENERAL_COMPONENT_ID.equals(componentId)) { + if (componentId == null) { return; } - componentManager.validateComponentExistence(vspId, version, componentId, user); + componentManager.validateComponentExistence(vspId, version, componentId); } } 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/services/ComponentsImpl.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/services/ComponentsImpl.java index fa7e9249c2..de422ece7f 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/services/ComponentsImpl.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/services/ComponentsImpl.java @@ -31,7 +31,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentRequestDto; @@ -50,9 +49,9 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; +import java.util.Collection; @Named @Service("components") @@ -65,8 +64,7 @@ public class ComponentsImpl implements Components { public Response list(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Components.toString()); Collection components = - componentManager.listComponents(vspId, resolveVspVersion(vspId, versionId, user, - VersionableEntityAction.Read), user); + componentManager.listComponents(vspId, new Version(versionId)); MapComponentEntityToComponentDto mapper = new MapComponentEntityToComponentDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -80,8 +78,7 @@ public class ComponentsImpl implements Components { @Override public Response deleteList(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_List_Components.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.deleteComponents(vspId, version, user); + componentManager.deleteComponents(vspId, new Version(versionId)); return Response.ok().build(); } @@ -91,9 +88,9 @@ public class ComponentsImpl implements Components { ComponentEntity component = new MapComponentRequestDtoToComponentEntity().applyMapping(request, ComponentEntity.class); component.setVspId(vspId); - component.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + component.setVersion(new Version(versionId)); - ComponentEntity createdComponent = componentManager.createComponent(component, user); + ComponentEntity createdComponent = componentManager.createComponent(component); MapComponentEntityToComponentCreationDto mapping = new MapComponentEntityToComponentCreationDto(); ComponentCreationDto createdComponentDto = mapping.applyMapping(createdComponent, @@ -106,9 +103,8 @@ public class ComponentsImpl implements Components { @Override public Response get(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Component.toString()); - CompositionEntityResponse response = componentManager - .getComponent(vspId, resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), - componentId, user); + CompositionEntityResponse response = + componentManager.getComponent(vspId, new Version(versionId), componentId); CompositionEntityResponseDto responseDto = new CompositionEntityResponseDto<>(); new MapCompositionEntityResponseToDto<>(new MapComponentDataToComponentDto(), @@ -119,23 +115,23 @@ public class ComponentsImpl implements Components { @Override public Response delete(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Component.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.deleteComponent(vspId, version, componentId, user); + componentManager.deleteComponent(vspId, new Version(versionId), componentId); return Response.ok().build(); } @Override - public Response update(ComponentRequestDto request, String vspId, String versionId, String componentId, + public Response update(ComponentRequestDto request, String vspId, String versionId, + String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Component.toString()); ComponentEntity componentEntity = new MapComponentRequestDtoToComponentEntity().applyMapping(request, ComponentEntity.class); componentEntity.setVspId(vspId); - componentEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + componentEntity.setVersion(new Version(versionId)); componentEntity.setId(componentId); CompositionEntityValidationData validationData = - componentManager.updateComponent(componentEntity, user); + componentManager.updateComponent(componentEntity); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto().applyMapping(validationData, @@ -143,12 +139,11 @@ public class ComponentsImpl implements Components { } @Override - public Response getQuestionnaire(String vspId, String versionId, String componentId, String user) { + public Response getQuestionnaire(String vspId, String versionId, String componentId, + String user) { MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Component.toString()); - QuestionnaireResponse questionnaireResponse = componentManager - .getQuestionnaire(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), componentId, - user); + QuestionnaireResponse questionnaireResponse = + componentManager.getQuestionnaire(vspId, new Version(versionId), componentId); QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); @@ -156,11 +151,11 @@ public class ComponentsImpl implements Components { } @Override - public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, String componentId, - String user) { + public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, + String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Questionnaire_Component.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.updateQuestionnaire(vspId, version, componentId, questionnaireData, user); + componentManager + .updateQuestionnaire(vspId, new Version(versionId), componentId, questionnaireData); return Response.ok().build(); } } 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/services/ComputeImpl.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/services/ComputeImpl.java index 599b5adac7..081024a519 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/services/ComputeImpl.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/services/ComputeImpl.java @@ -14,7 +14,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeCreationDto; @@ -33,9 +32,9 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; +import java.util.Collection; @Named @Service("computes") @@ -47,13 +46,12 @@ public class ComputeImpl implements Compute { ComponentManagerFactory.getInstance().createInterface(); @Override - public Response list(String vspId, String version, String componentId, String user) { + public Response list(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Computes.toString()); - Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); Collection computes = - computetManager - .listCompute(vspId, vspVersion, componentId, user); + computetManager.listComputes(vspId, version, componentId); MapComputeEntityToComputeDto mapper = new MapComputeEntityToComputeDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -65,13 +63,13 @@ public class ComputeImpl implements Compute { } @Override - public Response get(String vspId, String version, String componentId, String computeId, + public Response get(String vspId, String versionId, String componentId, String computeId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Compute.toString()); - Version vspVersion = resolveVspVersion(vspId, version, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - CompositionEntityResponse response = computetManager - .getCompute(vspId, vspVersion, componentId, computeId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + CompositionEntityResponse response = + computetManager.getCompute(vspId, version, componentId, computeId); CompositionEntityResponseDto responseDto = new CompositionEntityResponseDto<>(); @@ -87,33 +85,31 @@ public class ComputeImpl implements Compute { ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request, ComputeEntity.class); compute.setVspId(vspId); + compute.setVersion(new Version(versionId)); compute.setComponentId(componentId); - compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); - componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user); + componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId); - ComputeEntity createdCompute = computetManager.createCompute(compute, user); + ComputeEntity createdCompute = computetManager.createCompute(compute); MapComputeEntityToComputeCreationDto mapper = new MapComputeEntityToComputeCreationDto(); - ComputeCreationDto createdComputeDto = mapper.applyMapping(createdCompute, ComputeCreationDto - .class); - return Response.ok(createdComputeDto != null ? createdComputeDto : null) - .build(); + ComputeCreationDto createdComputeDto = + mapper.applyMapping(createdCompute, ComputeCreationDto.class); + return Response.ok(createdComputeDto != null ? createdComputeDto : null).build(); } @Override - public Response update(ComputeDetailsDto request, String vspId, String versionId, String - componentId, String computeFlavorId, String user) { + public Response update(ComputeDetailsDto request, String vspId, String versionId, + String componentId, String computeFlavorId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Compute.toString()); - ComputeEntity compute = new MapComputeDetailsDtoToComputeEntity().applyMapping(request, - ComputeEntity.class); + ComputeEntity compute = + new MapComputeDetailsDtoToComputeEntity().applyMapping(request, ComputeEntity.class); compute.setVspId(vspId); + compute.setVersion(new Version(versionId)); compute.setComponentId(componentId); - compute.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); compute.setId(computeFlavorId); - componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId, user); - CompositionEntityValidationData validationData = - computetManager.updateCompute(compute, user); + componentManager.validateComponentExistence(vspId, compute.getVersion(), componentId); + CompositionEntityValidationData validationData = computetManager.updateCompute(compute); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto().applyMapping(validationData, @@ -121,23 +117,23 @@ public class ComputeImpl implements Compute { } @Override - public Response delete(String vspId, String versionId, String componentId, String - computeFlavorId, String user) { + public Response delete(String vspId, String versionId, String componentId, String computeFlavorId, + String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Compute.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - computetManager.deleteCompute(vspId, version, componentId, computeFlavorId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + computetManager.deleteCompute(vspId, version, componentId, computeFlavorId); return Response.ok().build(); } @Override - public Response getQuestionnaire(String vspId, String versionId, String componentId, String - computeFlavorId, String user) { + public Response getQuestionnaire(String vspId, String versionId, String componentId, + String computeFlavorId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - QuestionnaireResponse questionnaireResponse = computetManager - .getComputeQuestionnaire(vspId, vspVersion, componentId, computeFlavorId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + QuestionnaireResponse questionnaireResponse = + computetManager.getComputeQuestionnaire(vspId, version, componentId, computeFlavorId); QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); @@ -146,16 +142,12 @@ public class ComputeImpl implements Compute { @Override public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, - String componentId, - String computeFlavorId, String user) { - MdcUtil - .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString() - ); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, version, componentId, user); - computetManager - .updateComputeQuestionnaire(vspId, version, componentId, computeFlavorId, - questionnaireData, user); + String componentId, String computeFlavorId, String user) { + MdcUtil.initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString()); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + computetManager.updateComputeQuestionnaire(vspId, version, componentId, computeFlavorId, + questionnaireData); return Response.ok().build(); } } 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/services/DeploymentFlavorsImpl.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/services/DeploymentFlavorsImpl.java index 03372269fc..d1486b66b8 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/services/DeploymentFlavorsImpl.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/services/DeploymentFlavorsImpl.java @@ -10,7 +10,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorCreationDto; @@ -28,15 +27,14 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; +import java.util.Collection; @Named @Service("deploymentFlavors") @Scope(value = "prototype") -public class DeploymentFlavorsImpl implements DeploymentFlavors -{ +public class DeploymentFlavorsImpl implements DeploymentFlavors { private DeploymentFlavorManager deploymentFlavorManager = DeploymentFlavorManagerFactory.getInstance().createInterface(); @@ -48,29 +46,28 @@ public class DeploymentFlavorsImpl implements DeploymentFlavors new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity() .applyMapping(request, DeploymentFlavorEntity.class); deploymentFlavorEntity.setVspId(vspId); - deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user, - VersionableEntityAction.Write)); + deploymentFlavorEntity.setVersion(new Version(versionId)); DeploymentFlavorEntity createdDeploymentFlavor = - deploymentFlavorManager.createDeploymentFlavor(deploymentFlavorEntity, user); + deploymentFlavorManager.createDeploymentFlavor(deploymentFlavorEntity); MapDeploymentFlavorEntityToDeploymentFlavorCreationDto mapping = new MapDeploymentFlavorEntityToDeploymentFlavorCreationDto(); - DeploymentFlavorCreationDto deploymentFlavorCreatedDto= mapping.applyMapping - (createdDeploymentFlavor,DeploymentFlavorCreationDto.class); + DeploymentFlavorCreationDto deploymentFlavorCreatedDto = mapping.applyMapping + (createdDeploymentFlavor, DeploymentFlavorCreationDto.class); return Response .ok(createdDeploymentFlavor != null ? deploymentFlavorCreatedDto : null) .build(); } @Override - public Response list(String vspId,String version,String user) { + public Response list(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_List_Deployment_flavor.toString()); Collection deploymentFlavors = - deploymentFlavorManager.listDeploymentFlavors(vspId, resolveVspVersion(vspId, version, user, - VersionableEntityAction.Read), user); + deploymentFlavorManager.listDeploymentFlavors(vspId, new Version(versionId)); MapDeploymentFlavorEntityDeploymentFlavorToListResponse mapper = new MapDeploymentFlavorEntityDeploymentFlavorToListResponse(); - GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + GenericCollectionWrapper results = + new GenericCollectionWrapper<>(); for (DeploymentFlavorEntity deploymentFlavor : deploymentFlavors) { results.add(mapper.applyMapping(deploymentFlavor, DeploymentFlavorListResponseDto.class)); } @@ -78,32 +75,32 @@ public class DeploymentFlavorsImpl implements DeploymentFlavors } @Override - public Response get(String vspId, String version, String deploymentFlavorId, String user) { + public Response get(String vspId, String versionId, String deploymentFlavorId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString()); CompositionEntityResponse response = deploymentFlavorManager - .getDeploymentFlavor(vspId, resolveVspVersion(vspId, version, user, - VersionableEntityAction.Read), deploymentFlavorId, user); + .getDeploymentFlavor(vspId, new Version(versionId), deploymentFlavorId); CompositionEntityResponseDto responseDto = new CompositionEntityResponseDto<>(); - new MapCompositionEntityResponseToDto<>(new MapDeploymentFlavorToDeploymentDto(), DeploymentFlavorDto.class) + new MapCompositionEntityResponseToDto<>(new MapDeploymentFlavorToDeploymentDto(), + DeploymentFlavorDto.class) .doMapping(response, responseDto); return Response.ok(responseDto).build(); } @Override - public Response getSchema(String vspId, String version, String user) { + public Response getSchema(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Deployment_flavor.toString()); CompositionEntityResponse response = deploymentFlavorManager - .getDeploymentFlavorSchema(vspId, Version.valueOf(version), user); + .getDeploymentFlavorSchema(vspId, new Version(versionId)); return Response.ok(response).build(); } @Override public Response delete(String vspId, String versionId, String deploymentFlavorId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Deployment_flavor.toString()); - Version version = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - deploymentFlavorManager.deleteDeploymentFlavor(vspId, version, deploymentFlavorId, user); + Version version = new Version(versionId); + deploymentFlavorManager.deleteDeploymentFlavor(vspId, version, deploymentFlavorId); return Response.ok().build(); } @@ -115,11 +112,11 @@ public class DeploymentFlavorsImpl implements DeploymentFlavors new MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity().applyMapping(request, DeploymentFlavorEntity.class); deploymentFlavorEntity.setVspId(vspId); - deploymentFlavorEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + deploymentFlavorEntity.setVersion(new Version(versionId)); deploymentFlavorEntity.setId(deploymentFlavorId); CompositionEntityValidationData validationData = - deploymentFlavorManager.updateDeploymentFlavor(deploymentFlavorEntity, user); + deploymentFlavorManager.updateDeploymentFlavor(deploymentFlavorEntity); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto().applyMapping(validationData, 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/services/ImagesImpl.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/services/ImagesImpl.java index fcaf038dc0..b8e0f64cf2 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/services/ImagesImpl.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/services/ImagesImpl.java @@ -14,7 +14,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; @@ -30,32 +29,31 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; +import java.util.Collection; @Named @Service("images") @Scope(value = "prototype") -public class ImagesImpl implements Images - { +public class ImagesImpl implements Images { private ImageManager imageManager = ImageManagerFactory.getInstance().createInterface(); private ComponentManager componentManager = ComponentManagerFactory.getInstance().createInterface(); @Override - public Response create(ImageRequestDto request, String vspId, String versionId,String - componentId, String user) { + public Response create(ImageRequestDto request, String vspId, String versionId, + String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.Create_Image.toString()); ImageEntity image = new MapImageRequestDtoToImageEntity().applyMapping(request, ImageEntity.class); image.setVspId(vspId); image.setComponentId(componentId); - image.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); - componentManager.validateComponentExistence(vspId, image.getVersion(), componentId, user); - ImageEntity createdImage = imageManager.createImage(image, user); + image.setVersion(new Version(versionId)); + componentManager.validateComponentExistence(vspId, image.getVersion(), componentId); + ImageEntity createdImage = imageManager.createImage(image); MapImageEntityToImageCreationDto mapping = new MapImageEntityToImageCreationDto(); ImageCreationDto createdImageDto = mapping.applyMapping(createdImage, ImageCreationDto.class); return Response @@ -66,19 +64,18 @@ public class ImagesImpl implements Images @Override public Response getImageSchema(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.GET_Image_Schema.toString()); - CompositionEntityResponse response = - imageManager.getImageSchema(vspId, user); + CompositionEntityResponse response = imageManager.getImageSchema(vspId); return Response.ok(response).build(); } @Override - public Response get(String vspId, String versionId, String componentId, String imageId, String - user) { + public Response get(String vspId, String versionId, String componentId, String imageId, + String user) { MdcUtil.initMdc(LoggerServiceName.GET_Image.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - CompositionEntityResponse response = imageManager.getImage(vspId, - vspVersion, componentId, imageId, user); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + CompositionEntityResponse response = + imageManager.getImage(vspId, version, componentId, imageId); return Response.ok(response).build(); } @@ -86,10 +83,9 @@ public class ImagesImpl implements Images @Override public Response list(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Images.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - Collection images = - imageManager.listImages(vspId, vspVersion, componentId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); + Collection images = imageManager.listImages(vspId, vspVersion, componentId); MapImageEntityToImageDto mapper = new MapImageEntityToImageDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -104,28 +100,25 @@ public class ImagesImpl implements Images public Response delete(String vspId, String versionId, String componentId, String imageId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Image.toString()); - Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - imageManager.deleteImage(vspId, vspVersion, componentId, imageId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); + imageManager.deleteImage(vspId, vspVersion, componentId, imageId); return Response.ok().build(); } @Override - public Response update(ImageRequestDto request, String vspId, String versionId, String - componentId, - String imageId, - String user) { + public Response update(ImageRequestDto request, String vspId, String versionId, + String componentId, String imageId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Image.toString()); ImageEntity imageEntity = new MapImageRequestDtoToImageEntity().applyMapping(request, ImageEntity.class); imageEntity.setVspId(vspId); - imageEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + imageEntity.setVersion(new Version(versionId)); imageEntity.setComponentId(componentId); imageEntity.setId(imageId); - componentManager.validateComponentExistence(vspId, imageEntity.getVersion(), componentId, user); + componentManager.validateComponentExistence(vspId, imageEntity.getVersion(), componentId); - CompositionEntityValidationData validationData = - imageManager.updateImage(imageEntity, user); + CompositionEntityValidationData validationData = imageManager.updateImage(imageEntity); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto() @@ -134,14 +127,13 @@ public class ImagesImpl implements Images } @Override - public Response getQuestionnaire(String vspId, String versionId, String componentId, String - imageId, String user) { + public Response getQuestionnaire(String vspId, String versionId, String componentId, + String imageId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_Compute.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - QuestionnaireResponse questionnaireResponse = imageManager - .getImageQuestionnaire(vspId, vspVersion, componentId, imageId, - user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); + QuestionnaireResponse questionnaireResponse = + imageManager.getImageQuestionnaire(vspId, vspVersion, componentId, imageId); QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); @@ -150,15 +142,12 @@ public class ImagesImpl implements Images } @Override - public Response updateQuestionnaire(String questionnaireData, String vspId, String - versionId,String componentId,String imageId, String user) { - MdcUtil - .initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString() - ); - Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - imageManager.updateImageQuestionnaire(vspId, vspVersion, componentId, imageId, - questionnaireData, user); + public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, + String componentId, String imageId, String user) { + MdcUtil.initMdc(LoggerServiceName.Update_Questionnaire_Compute.toString()); + Version version = new Version(versionId); + componentManager.validateComponentExistence(vspId, version, componentId); + imageManager.updateImageQuestionnaire(vspId, version, componentId, imageId, questionnaireData); return Response.ok().build(); } 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/services/NetworksImpl.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/services/NetworksImpl.java index 471138f23c..5478327fc1 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/services/NetworksImpl.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/services/NetworksImpl.java @@ -29,7 +29,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NetworkDto; @@ -61,8 +61,7 @@ public class NetworksImpl implements Networks { public Response list(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Network.toString()); Collection networks = - networkManager.listNetworks(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user); + networkManager.listNetworks(vspId, new Version(versionId)); MapNetworkEntityToNetworkDto mapper = new MapNetworkEntityToNetworkDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -79,8 +78,8 @@ public class NetworksImpl implements Networks { NetworkEntity network = new MapNetworkRequestDtoToNetworkEntity().applyMapping(request, NetworkEntity.class); network.setVspId(vspId); - network.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); - NetworkEntity createdNetwork = networkManager.createNetwork(network, user); + network.setVersion(new Version(versionId)); + NetworkEntity createdNetwork = networkManager.createNetwork(network); return Response .ok(createdNetwork != null ? new StringWrapperResponse(createdNetwork.getId()) : null) .build(); @@ -91,8 +90,8 @@ public class NetworksImpl implements Networks { MdcUtil.initMdc(LoggerServiceName.Get_Network.toString()); CompositionEntityResponse response = networkManager.getNetwork(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), networkId, - user); + new Version(versionId), networkId + ); CompositionEntityResponseDto responseDto = new CompositionEntityResponseDto<>(); new MapCompositionEntityResponseToDto<>(new MapNetworkToNetworkDto(), NetworkDto.class) @@ -104,22 +103,23 @@ public class NetworksImpl implements Networks { public Response delete(String vspId, String versionId, String networkId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Network.toString()); networkManager - .deleteNetwork(vspId, resolveVspVersion(vspId, null, user, VersionableEntityAction.Write), - networkId, user); + .deleteNetwork(vspId, new Version(versionId), + networkId); return Response.ok().build(); } @Override - public Response update(NetworkRequestDto request, String vspId, String versionId, String networkId, String user) { + public Response update(NetworkRequestDto request, String vspId, String versionId, + String networkId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Network.toString()); NetworkEntity networkEntity = new MapNetworkRequestDtoToNetworkEntity().applyMapping(request, NetworkEntity.class); networkEntity.setVspId(vspId); - networkEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + networkEntity.setVersion(new Version(versionId)); networkEntity.setId(networkId); CompositionEntityValidationData validationData = - networkManager.updateNetwork(networkEntity, user); + networkManager.updateNetwork(networkEntity); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto() 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/services/NicsImpl.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/services/NicsImpl.java index 73ca82ada3..738609acba 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/services/NicsImpl.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/services/NicsImpl.java @@ -33,7 +33,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicCreationResponseDto; @@ -52,9 +51,9 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; +import java.util.Collection; @Named @Service("nics") @@ -67,9 +66,9 @@ public class NicsImpl implements Nics { @Override public Response list(String vspId, String versionId, String componentId, String user) { MdcUtil.initMdc(LoggerServiceName.List_nics.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - Collection nics = nicManager.listNics(vspId, vspVersion, componentId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); + Collection nics = nicManager.listNics(vspId, vspVersion, componentId); MapNicEntityToNicDto mapper = new MapNicEntityToNicDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -81,15 +80,16 @@ public class NicsImpl implements Nics { } @Override - public Response create(NicRequestDto request, String vspId, String versionId, String componentId, String user) { + public Response create(NicRequestDto request, String vspId, String versionId, String componentId, + String user) { MdcUtil.initMdc(LoggerServiceName.Create_nic.toString()); NicEntity nic = new MapNicRequestDtoToNicEntity().applyMapping(request, NicEntity.class); nic.setVspId(vspId); - nic.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + nic.setVersion(new Version(versionId)); nic.setComponentId(componentId); - componentManager.validateComponentExistence(vspId, nic.getVersion(), componentId, user); + componentManager.validateComponentExistence(vspId, nic.getVersion(), componentId); - NicEntity createdNic = nicManager.createNic(nic, user); + NicEntity createdNic = nicManager.createNic(nic); MapNicEntityToNicCreationResponseDto mapping = new MapNicEntityToNicCreationResponseDto(); NicCreationResponseDto createdNicDto = mapping.applyMapping(createdNic, @@ -99,12 +99,13 @@ public class NicsImpl implements Nics { } @Override - public Response get(String vspId, String versionId, String componentId, String nicId, String user) { + public Response get(String vspId, String versionId, String componentId, String nicId, + String user) { MdcUtil.initMdc(LoggerServiceName.Get_nic.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); CompositionEntityResponse response = - nicManager.getNic(vspId, vspVersion, componentId, nicId, user); + nicManager.getNic(vspId, vspVersion, componentId, nicId); CompositionEntityResponseDto responseDto = new CompositionEntityResponseDto<>(); new MapCompositionEntityResponseToDto<>(new MapNicToNicDto(), NicDto.class) @@ -113,27 +114,29 @@ public class NicsImpl implements Nics { } @Override - public Response delete(String vspId, String versionId, String componentId, String nicId, String user) { + public Response delete(String vspId, String versionId, String componentId, String nicId, + String user) { MdcUtil.initMdc(LoggerServiceName.Delete_nic.toString()); - Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); - nicManager.deleteNic(vspId, vspVersion, componentId, nicId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); + nicManager.deleteNic(vspId, vspVersion, componentId, nicId); return Response.ok().build(); } @Override - public Response update(NicRequestDto request, String vspId, String versionId, String componentId, String nicId, + public Response update(NicRequestDto request, String vspId, String versionId, String componentId, + String nicId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_nic.toString()); NicEntity nicEntity = new MapNicRequestDtoToNicEntity().applyMapping(request, NicEntity.class); nicEntity.setVspId(vspId); - nicEntity.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + nicEntity.setVersion(new Version(versionId)); nicEntity.setComponentId(componentId); nicEntity.setId(nicId); - componentManager.validateComponentExistence(vspId, nicEntity.getVersion(), componentId, user); + componentManager.validateComponentExistence(vspId, nicEntity.getVersion(), componentId); CompositionEntityValidationData validationData = - nicManager.updateNic(nicEntity, user); + nicManager.updateNic(nicEntity); return validationData != null && CollectionUtils.isNotEmpty(validationData.getErrors()) ? Response.status(Response.Status.EXPECTATION_FAILED).entity( new MapCompositionEntityValidationDataToDto() @@ -145,10 +148,10 @@ public class NicsImpl implements Nics { public Response getQuestionnaire(String vspId, String versionId, String componentId, String nicId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_nic.toString()); - Version vspVersion = resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); QuestionnaireResponse questionnaireResponse = - nicManager.getNicQuestionnaire(vspId, vspVersion, componentId, nicId, user); + nicManager.getNicQuestionnaire(vspId, vspVersion, componentId, nicId); QuestionnaireResponseDto result = new MapQuestionnaireResponseToQuestionnaireResponseDto() .applyMapping(questionnaireResponse, QuestionnaireResponseDto.class); @@ -156,13 +159,14 @@ public class NicsImpl implements Nics { } @Override - public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, String componentId, + public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, + String componentId, String nicId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Questionnaire_nic.toString()); - Version vspVersion = resolveVspVersion(vspId, null, user, VersionableEntityAction.Write); - componentManager.validateComponentExistence(vspId, vspVersion, componentId, user); + Version vspVersion = new Version(versionId); + componentManager.validateComponentExistence(vspId, vspVersion, componentId); nicManager - .updateNicQuestionnaire(vspId, vspVersion, componentId, nicId, questionnaireData, user); + .updateNicQuestionnaire(vspId, vspVersion, componentId, nicId, questionnaireData); return Response.ok().build(); } } 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/services/OrchestrationTemplateCandidateImpl.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/services/OrchestrationTemplateCandidateImpl.java index 172c8940e9..aaee77df46 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/services/OrchestrationTemplateCandidateImpl.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/services/OrchestrationTemplateCandidateImpl.java @@ -4,6 +4,10 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder; +import org.openecomp.sdc.activitylog.ActivityLogManager; +import org.openecomp.sdc.activitylog.ActivityLogManagerFactory; +import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; +import org.openecomp.sdc.activitylog.dao.type.ActivityType; import org.openecomp.sdc.common.errors.Messages; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; @@ -12,27 +16,28 @@ import org.openecomp.sdc.logging.messages.AuditMessages; import org.openecomp.sdc.logging.types.LoggerServiceName; import org.openecomp.sdc.vendorsoftwareproduct.OrchestrationTemplateCandidateManager; import org.openecomp.sdc.vendorsoftwareproduct.OrchestrationTemplateCandidateManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.types.FileDataStructureDto; import org.openecomp.sdc.vendorsoftwareproduct.types.OrchestrationTemplateActionResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.FileDataStructureDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.OrchestrationTemplateActionResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto; import org.openecomp.sdcrests.vsp.rest.OrchestrationTemplateCandidate; +import org.openecomp.sdcrests.vsp.rest.mapping.MapFilesDataStructureToDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapUploadFileResponseToUploadFileResponseDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapValidationResponseToDto; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import javax.inject.Named; +import javax.ws.rs.core.Response; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.util.Optional; -import javax.inject.Named; -import javax.ws.rs.core.Response; import static org.openecomp.core.utilities.file.FileUtils.getFileExtension; import static org.openecomp.core.utilities.file.FileUtils.getNetworkPackageName; @@ -44,32 +49,31 @@ public class OrchestrationTemplateCandidateImpl implements OrchestrationTemplate private OrchestrationTemplateCandidateManager candidateManager = OrchestrationTemplateCandidateManagerFactory.getInstance().createInterface(); + private ActivityLogManager activityLogManager = + ActivityLogManagerFactory.getInstance().createInterface(); + private static final Logger logger = - LoggerFactory.getLogger(OrchestrationTemplateCandidateImpl.class); + LoggerFactory.getLogger(OrchestrationTemplateCandidateImpl.class); @Override - public Response upload(String vspId, String versionId, Attachment fileToUpload, - String user) { + public Response upload(String vspId, String versionId, Attachment fileToUpload, String user) { MdcUtil.initMdc(LoggerServiceName.Upload_File.toString()); logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_HEAT + vspId); + String filename = fileToUpload.getContentDisposition().getParameter("filename"); UploadFileResponse uploadFileResponse = candidateManager - .upload(vspId, resolveVspVersion(vspId, null, user, VersionableEntityAction - .Write), fileToUpload.getObject(InputStream.class), user, getFileExtension(filename), - getNetworkPackageName(filename)); + .upload(vspId, new Version(versionId), fileToUpload.getObject(InputStream.class), + getFileExtension(filename), getNetworkPackageName(filename)); + UploadFileResponseDto uploadFileResponseDto = new MapUploadFileResponseToUploadFileResponseDto() .applyMapping(uploadFileResponse, UploadFileResponseDto.class); return Response.ok(uploadFileResponseDto).build(); } - - @Override public Response get(String vspId, String versionId, String user) throws IOException { - - Optional> zipFile = candidateManager - .get(vspId, resolveVspVersion(vspId, null, user, VersionableEntityAction.Read), user); + Optional> zipFile = candidateManager.get(vspId, new Version(versionId)); if (!zipFile.isPresent()) { return Response.status(Response.Status.NOT_FOUND).build(); @@ -84,10 +88,12 @@ public class OrchestrationTemplateCandidateImpl implements OrchestrationTemplate public Response process(String vspId, String versionId, String user) throws InvocationTargetException, IllegalAccessException { - OrchestrationTemplateActionResponse response = - candidateManager - .process(vspId, resolveVspVersion(vspId, null, user, VersionableEntityAction.Write), - user); + Version version = new Version(versionId); + OrchestrationTemplateActionResponse response = candidateManager.process(vspId, version); + + activityLogManager.logActivity(new ActivityLogEntity(vspId, version, + ActivityType.Upload_Network_Package, user, true, "", "")); + OrchestrationTemplateActionResponseDto responseDto = new OrchestrationTemplateActionResponseDto(); BeanUtils.copyProperties(responseDto, response); @@ -95,8 +101,6 @@ public class OrchestrationTemplateCandidateImpl implements OrchestrationTemplate return Response.ok(responseDto).build(); } - - @Override public Response updateFilesDataStructure( String vspId, String versionId, FileDataStructureDto fileDataStructureDto, String user) @@ -112,9 +116,7 @@ public class OrchestrationTemplateCandidateImpl implements OrchestrationTemplate throw new Exception(errorWithParameters, exception); } ValidationResponse response = candidateManager - .updateFilesDataStructure(vspId, - resolveVspVersion(vspId, null, user, VersionableEntityAction - .Write), user, fileDataStructure); + .updateFilesDataStructure(vspId, new Version(versionId), fileDataStructure); if (!response.isValid()) { return Response.status(Response.Status.EXPECTATION_FAILED).entity( @@ -127,20 +129,13 @@ public class OrchestrationTemplateCandidateImpl implements OrchestrationTemplate @Override public Response getFilesDataStructure(String vspId, String versionId, String user) throws Exception { - Optional filesDataStructure = candidateManager - .getFilesDataStructure(vspId, resolveVspVersion(vspId, null, user, VersionableEntityAction - .Read), user); - FileDataStructureDto fileDataStructureDto = new FileDataStructureDto(); - if (filesDataStructure.isPresent()) { - try { - BeanUtils.copyProperties(fileDataStructureDto, filesDataStructure.get()); - } catch (IllegalAccessException | InvocationTargetException exception) { - String errorWithParameters = ErrorMessagesFormatBuilder - .getErrorWithParameters(Messages.MAPPING_OBJECTS_FAILURE.getErrorMessage(), - filesDataStructure.toString(), fileDataStructureDto.toString()); - throw new Exception(errorWithParameters, exception); - } - } + Optional filesDataStructure = + candidateManager.getFilesDataStructure(vspId, new Version(versionId)); + + FileDataStructureDto fileDataStructureDto = + filesDataStructure.map(dataStructure -> new MapFilesDataStructureToDto() + .applyMapping(dataStructure, FileDataStructureDto.class)) + .orElse(new FileDataStructureDto()); return Response.ok(fileDataStructureDto).build(); } } 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/services/ProcessesImpl.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/services/ProcessesImpl.java index 6bc7a37eee..ab67b68cd8 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/services/ProcessesImpl.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/services/ProcessesImpl.java @@ -20,8 +20,6 @@ package org.openecomp.sdcrests.vsp.rest.services; -import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.GENERAL_COMPONENT_ID; - import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; @@ -43,67 +41,65 @@ import javax.ws.rs.core.Response; @Scope(value = "prototype") public class ProcessesImpl implements Processes { + private static final Logger logger = LoggerFactory.getLogger(ProcessesImpl.class); @Autowired private ComponentProcesses componentProcesses; - private static final Logger logger = - LoggerFactory.getLogger(ProcessesImpl.class); @Override public Response list(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.List_Processes.toString()); - return componentProcesses.list(vspId, versionId, GENERAL_COMPONENT_ID, user); + return componentProcesses.list(vspId, versionId, null, user); } @Override public Response deleteList(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_List_Processes.toString()); - return componentProcesses.deleteList(vspId,versionId, GENERAL_COMPONENT_ID, user); + return componentProcesses.deleteList(vspId, versionId, null, user); } @Override public Response create(ProcessRequestDto request, String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Create_Process.toString()); - return componentProcesses.create(request, vspId, versionId, GENERAL_COMPONENT_ID, user); + return componentProcesses.create(request, vspId, versionId, null, user); } @Override public Response get(String vspId, String versionId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Processes.toString()); - return componentProcesses.get(vspId, versionId, GENERAL_COMPONENT_ID, processId, user); + return componentProcesses.get(vspId, versionId, null, processId, user); } @Override public Response delete(String vspId, String versionId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Processes.toString()); - return componentProcesses.delete(vspId, versionId, GENERAL_COMPONENT_ID, processId, user); + return componentProcesses.delete(vspId, versionId, null, processId, user); } @Override - public Response update(ProcessRequestDto request, String vspId, String versionId, String processId, String user) { + public Response update(ProcessRequestDto request, String vspId, String versionId, + String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Process.toString()); - return componentProcesses.update(request, vspId, versionId, GENERAL_COMPONENT_ID, processId, user); + return componentProcesses.update(request, vspId, versionId, null, processId, user); } @Override public Response getUploadedFile(String vspId, String versionId, String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Uploaded_File_Processes.toString()); - return componentProcesses - .getUploadedFile(vspId, versionId, GENERAL_COMPONENT_ID, processId, user); + return componentProcesses.getUploadedFile(vspId, versionId, null, processId, user); } @Override - public Response deleteUploadedFile(String vspId, String versionId, String processId, String user) { + public Response deleteUploadedFile(String vspId, String versionId, String processId, + String user) { MdcUtil.initMdc(LoggerServiceName.Delete_Uploaded_File_Processes.toString()); - return componentProcesses.deleteUploadedFile(vspId, versionId, GENERAL_COMPONENT_ID, - processId, user); + return componentProcesses.deleteUploadedFile(vspId, versionId, null, processId, user); } @Override - public Response uploadFile(Attachment attachment, String vspId, String versionId, String processId, String user) { + public Response uploadFile(Attachment attachment, String vspId, String versionId, + String processId, String user) { MdcUtil.initMdc(LoggerServiceName.Upload_File_Processes.toString()); logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_PROCESS_ARTIFACT + vspId); - return componentProcesses.uploadFile(attachment, vspId, versionId, GENERAL_COMPONENT_ID, - processId, - user); + return componentProcesses.uploadFile(attachment, vspId, versionId, null, processId, user); } } 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/services/VendorSoftwareProductsImpl.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/services/VendorSoftwareProductsImpl.java index c38bf8a0ec..feffb91703 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/services/VendorSoftwareProductsImpl.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/services/VendorSoftwareProductsImpl.java @@ -20,10 +20,23 @@ package org.openecomp.sdcrests.vsp.rest.services; +import org.apache.commons.collections4.MapUtils; +import org.openecomp.core.util.UniqueValueUtil; +import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; +import org.openecomp.sdc.activitylog.ActivityLogManager; +import org.openecomp.sdc.activitylog.ActivityLogManagerFactory; +import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; +import org.openecomp.sdc.activitylog.dao.type.ActivityType; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.common.errors.Messages; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.datatypes.error.ErrorMessage; +import org.openecomp.sdc.datatypes.model.ItemType; +import org.openecomp.sdc.healing.factory.HealingManagerFactory; +import org.openecomp.sdc.itempermissions.ItemPermissionsManager; +import org.openecomp.sdc.itempermissions.ItemPermissionsManagerFactory; +import org.openecomp.sdc.itempermissions.impl.types.PermissionTypes; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.MdcUtil; @@ -33,25 +46,53 @@ import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; import org.openecomp.sdc.logging.types.LoggerServiceName; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; +import org.openecomp.sdc.notification.dtos.Event; +import org.openecomp.sdc.notification.factories.NotificationPropagationManagerFactory; +import org.openecomp.sdc.notification.services.NotificationPropagationManager; +import org.openecomp.sdc.vendorsoftwareproduct.OrchestrationTemplateCandidateManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OnboardingMethod; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; +import org.openecomp.sdc.vendorsoftwareproduct.errors.CreatePackageForNonFinalVendorSoftwareProductErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.OnboardingMethodErrorBuilder; +import org.openecomp.sdc.vendorsoftwareproduct.errors.PackageNotFoundErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse; -import org.openecomp.sdc.vendorsoftwareproduct.types.VersionedVendorSoftwareProductInfo; +import org.openecomp.sdc.versioning.ItemManager; +import org.openecomp.sdc.versioning.ItemManagerFactory; +import org.openecomp.sdc.versioning.VersioningManager; +import org.openecomp.sdc.versioning.VersioningManagerFactory; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.dao.types.VersionStatus; -import org.openecomp.sdc.versioning.types.VersionInfo; -import org.openecomp.sdc.versioning.types.VersionableEntityAction; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.*; +import org.openecomp.sdc.versioning.errors.RequestedVersionInvalidErrorBuilder; +import org.openecomp.sdc.versioning.types.Item; +import org.openecomp.sdc.versioning.types.NotificationEventTypes; +import org.openecomp.sdcrests.item.rest.mapping.MapVersionToDto; +import org.openecomp.sdcrests.item.types.ItemCreationDto; +import org.openecomp.sdcrests.item.types.VersionDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.ValidationResponseDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDescriptionDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspDetailsDto; +import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspRequestDto; import org.openecomp.sdcrests.vsp.rest.VendorSoftwareProducts; -import org.openecomp.sdcrests.vsp.rest.mapping.*; +import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToVspComputeDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapItemToVspDetailsDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapPackageInfoToPackageInfoDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapValidationResponseToDto; +import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDescriptionDtoToItem; +import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDescriptionDtoToVspDetails; +import org.openecomp.sdcrests.vsp.rest.mapping.MapVspDetailsToDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.openecomp.sdcrests.wrappers.StringWrapperResponse; -import org.slf4j.MDC; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; @@ -60,78 +101,127 @@ import javax.ws.rs.core.Response; import java.io.File; import java.io.IOException; import java.util.Collection; +import java.util.HashMap; import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; +import java.util.Map; +import java.util.Optional; +import java.util.function.Predicate; +import static org.openecomp.sdc.itempermissions.notifications.NotificationConstants.PERMISSION_USER; import static org.openecomp.sdc.logging.messages.AuditMessages.SUBMIT_VSP_ERROR; +import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME; +import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.VALIDATION_VSP_NAME; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_ID; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.ITEM_NAME; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.SUBMIT_DESCRIPTION; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_ID; +import static org.openecomp.sdc.versioning.VersioningNotificationConstansts.VERSION_NAME; @Named @Service("vendorSoftwareProducts") @Scope(value = "prototype") public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { + private static final String SUBMIT_ITEM = "Submit_Item"; - private final VendorSoftwareProductManager vendorSoftwareProductManager = - VspManagerFactory.getInstance().createInterface(); + private static final Logger LOGGER = LoggerFactory.getLogger(VendorSoftwareProductsImpl.class); + + private static ItemCreationDto validationVsp; - private static final Logger logger = - LoggerFactory.getLogger(VendorSoftwareProductsImpl.class); + private ItemManager itemManager = ItemManagerFactory.getInstance().createInterface(); + private ItemPermissionsManager permissionsManager = + ItemPermissionsManagerFactory.getInstance().createInterface(); + private VersioningManager versioningManager = + VersioningManagerFactory.getInstance().createInterface(); + private VendorSoftwareProductManager vendorSoftwareProductManager = + VspManagerFactory.getInstance().createInterface(); + private ActivityLogManager activityLogManager = + ActivityLogManagerFactory.getInstance().createInterface(); + private NotificationPropagationManager notifier = + NotificationPropagationManagerFactory.getInstance().createInterface(); @Override - public Response createVsp(VspDescriptionDto vspDescriptionDto, String user) { + public Response createVsp(VspRequestDto vspRequestDto, String user) { MdcUtil.initMdc(LoggerServiceName.Create_VSP.toString()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP - + vspDescriptionDto.getName()); + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.CREATE_VSP + vspRequestDto.getName()); - OnboardingMethod onboardingMethod; + ItemCreationDto itemCreationDto; + OnboardingMethod onboardingMethod; try { - onboardingMethod = OnboardingMethod.valueOf(vspDescriptionDto.getOnboardingMethod()); + onboardingMethod = OnboardingMethod.valueOf(vspRequestDto.getOnboardingMethod()); } catch (IllegalArgumentException e) { - return handleUnknownOnboardingMethod(); + throw getUnknownOnboardingMethod(); } - switch (onboardingMethod) { case NetworkPackage: case Manual: - VspDetails vspDetails = new MapVspDescriptionDtoToVspDetails(). - applyMapping(vspDescriptionDto, VspDetails.class); + Item item = new MapVspDescriptionDtoToItem().applyMapping(vspRequestDto, Item.class); + item.setType(ItemType.vsp.name()); + item.addProperty(VspItemProperty.ONBOARDING_METHOD, onboardingMethod.name()); + + UniqueValueUtil.validateUniqueValue(VENDOR_SOFTWARE_PRODUCT_NAME, item.getName()); + item = itemManager.create(item); + UniqueValueUtil.createUniqueValue(VENDOR_SOFTWARE_PRODUCT_NAME, item.getName()); + + Version version = versioningManager.create(item.getId(), new Version(), null); + + VspDetails vspDetails = + new MapVspDescriptionDtoToVspDetails().applyMapping(vspRequestDto, VspDetails.class); + vspDetails.setId(item.getId()); + vspDetails.setVersion(version); + vspDetails.setOnboardingMethod(vspRequestDto.getOnboardingMethod()); - vspDetails = vendorSoftwareProductManager.createVsp(vspDetails, user); + vendorSoftwareProductManager.createVsp(vspDetails); + versioningManager.publish(item.getId(), version, "Initial vsp:" + vspDetails.getName()); - MapVspDetailsToVspCreationDto mapping = new MapVspDetailsToVspCreationDto(); - VspCreationDto vspCreationDto = mapping.applyMapping(vspDetails, VspCreationDto.class); - return Response.ok(vspCreationDto).build(); + itemCreationDto = new ItemCreationDto(); + itemCreationDto.setItemId(item.getId()); + itemCreationDto.setVersion(new MapVersionToDto().applyMapping(version, VersionDto.class)); + + activityLogManager.logActivity(new ActivityLogEntity(vspDetails.getId(), version, + ActivityType.Create, user, true, "", "")); + break; default: - return handleUnknownOnboardingMethod(); + throw getUnknownOnboardingMethod(); } + + return Response.ok(itemCreationDto).build(); } - private Response handleUnknownOnboardingMethod() { + private CoreException getUnknownOnboardingMethod() { ErrorCode onboardingMethodUpdateErrorCode = OnboardingMethodErrorBuilder .getInvalidOnboardingMethodErrorBuilder(); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.ADD_VSP, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), onboardingMethodUpdateErrorCode.message()); - throw new CoreException(onboardingMethodUpdateErrorCode); + return new CoreException(onboardingMethodUpdateErrorCode); } @Override - public Response listVsps(String versionFilter, String user) { + public Response listVsps(String versionStatus, String user) { MdcUtil.initMdc(LoggerServiceName.List_VSP.toString()); - List vspList = - vendorSoftwareProductManager.listVsps(versionFilter, user); - GenericCollectionWrapper results = new GenericCollectionWrapper<>(); - if (!vspList.isEmpty()) { - MapVersionedVendorSoftwareProductInfoToVspDetailsDto mapper = - new MapVersionedVendorSoftwareProductInfoToVspDetailsDto(); - for (VersionedVendorSoftwareProductInfo versionedVsp : vspList) { - results.add(mapper.applyMapping(versionedVsp, VspDetailsDto.class)); - } + Predicate itemPredicate; + if (VersionStatus.Certified.name().equals(versionStatus)) { + itemPredicate = item -> ItemType.vsp.name().equals(item.getType()) && + item.getVersionStatusCounters().containsKey(VersionStatus.Certified); + + } else if (VersionStatus.Draft.name().equals(versionStatus)) { + itemPredicate = item -> ItemType.vsp.name().equals(item.getType()) && + item.getVersionStatusCounters().containsKey(VersionStatus.Draft) && + userHasPermission(item.getId(), user); + + } else { + itemPredicate = item -> ItemType.vsp.name().equals(item.getType()); } + GenericCollectionWrapper results = new GenericCollectionWrapper<>(); + MapItemToVspDetailsDto mapper = new MapItemToVspDetailsDto(); + itemManager.list(itemPredicate).stream() + .sorted((o1, o2) -> o2.getModificationTime().compareTo(o1.getModificationTime())) + .forEach(vspItem -> results.add(mapper.applyMapping(vspItem, VspDetailsDto.class))); + return Response.ok(results).build(); } @@ -139,40 +229,48 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { public Response getVsp(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_VSP.toString()); + Version version = versioningManager.get(vspId, new Version(versionId)); + VspDetails vspDetails = vendorSoftwareProductManager.getVsp(vspId, version); + vspDetails.setWritetimeMicroSeconds(version.getModificationTime().getTime()); - VspDetails vspDetails = - vendorSoftwareProductManager - .getVsp(vspId, resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), - user); - - VersionInfo versionInfo = getVersionInfo(vspId, VersionableEntityAction.Read, user); - + try { + Optional healedVersion = HealingManagerFactory.getInstance().createInterface() + .healItemVersion(vspId, version, ItemType.vsp, false); + healedVersion.ifPresent(vspDetails::setVersion); - if (vspDetails.getOldVersion() != null && !"".equals(vspDetails.getOldVersion())) { - if (Version.valueOf(versionId).equals(versionInfo.getActiveVersion())) { + if (healedVersion.isPresent() && version.getStatus() == VersionStatus.Certified) { try { - Version healedVersion = vendorSoftwareProductManager.callAutoHeal(vspId, versionInfo, - vspDetails, user); - vspDetails = - vendorSoftwareProductManager - .getVsp(vspId, resolveVspVersion(vspId, healedVersion.toString(), user, - VersionableEntityAction.Read), user); - versionInfo = getVersionInfo(vspId, VersionableEntityAction.Read, user); - } catch (Exception e) { - logger.error(e.getMessage(), e); + submitHealedVsp(vspId, healedVersion.get(), user); + } catch (Exception ex) { + LOGGER.error("VSP Id {}: Error while submitting version {} " + + "created based on Certified version {} for healing purpose.", + vspId, healedVersion.get().getId(), versionId, ex.getMessage()); } } + } catch (Exception e) { + LOGGER.error(String.format("Error while auto healing VSP with Id %s and version %s: %s", + vspId, versionId, e.getMessage())); } - VspDetailsDto vspDetailsDto = vspDetails == null - ? null - : new MapVersionedVendorSoftwareProductInfoToVspDetailsDto() - .applyMapping(new VersionedVendorSoftwareProductInfo(vspDetails, versionInfo), - VspDetailsDto.class); + VspDetailsDto vspDetailsDto = + new MapVspDetailsToDto().applyMapping(vspDetails, VspDetailsDto.class); + addNetworkPackageInfo(vspId, version, vspDetailsDto); return Response.ok(vspDetailsDto).build(); } + private void submitHealedVsp(String vspId, Version healedVersion, String user) + throws IOException { + Optional + validationResponse = submit(vspId, healedVersion, "Submit healed Vsp", user); + if (validationResponse.isPresent()) { + // TODO: 8/9/2017 before collaboration checkout was done at this scenario (equivalent + // to new version in collaboration). need to decide what should be done now. + throw new IllegalStateException("Certified vsp after healing failed on validation"); + } + vendorSoftwareProductManager.createPackage(vspId, healedVersion); + } + @Override public Response updateVsp(String vspId, String versionId, VspDescriptionDto vspDescriptionDto, String user) { @@ -180,9 +278,9 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { VspDetails vspDetails = new MapVspDescriptionDtoToVspDetails().applyMapping(vspDescriptionDto, VspDetails.class); vspDetails.setId(vspId); - vspDetails.setVersion(resolveVspVersion(vspId, null, user, VersionableEntityAction.Write)); + vspDetails.setVersion(new Version(versionId)); - vendorSoftwareProductManager.updateVsp(vspDetails, user); + vendorSoftwareProductManager.updateVsp(vspDetails); return Response.ok().build(); } @@ -190,60 +288,38 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { @Override public Response deleteVsp(String vspId, String user) { MdcUtil.initMdc(LoggerServiceName.Delete_VSP.toString()); - vendorSoftwareProductManager.deleteVsp(vspId, user); + vendorSoftwareProductManager.deleteVsp(vspId); return Response.ok().build(); } @Override - public Response actOnVendorSoftwareProduct(String vspId, String versionId, - VersionSoftwareProductActionRequestDto request, + public Response actOnVendorSoftwareProduct(VersionSoftwareProductActionRequestDto request, + String vspId, String versionId, String user) throws IOException { + Version version = new Version(versionId); switch (request.getAction()) { - case Checkout: - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Checkout_VSP.toString()); - vendorSoftwareProductManager.checkout(vspId, user); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CHECK_OUT_VSP + vspId); - break; - case Undo_Checkout: - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Undo_Checkout_VSP.toString()); - vendorSoftwareProductManager.undoCheckout(vspId, user); - break; - case Checkin: - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Checkin_VSP.toString()); - vendorSoftwareProductManager.checkin(vspId, user); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.CHECK_IN_VSP + vspId); - break; case Submit: - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Submit_VSP.toString()); - ValidationResponse validationResponse = vendorSoftwareProductManager.submit(vspId, user); - if (!validationResponse.isValid()) { - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.SUBMIT_VSP_FAIL + vspId); - if (validationResponse.getVspErrors() != null) { - validationResponse.getVspErrors().forEach(errorCode -> logger.audit(AuditMessages - .AUDIT_MSG + String.format(SUBMIT_VSP_ERROR, errorCode.message(), vspId))); - } - if (validationResponse.getUploadDataErrors() != null) { - validationResponse.getUploadDataErrors().values().forEach(errorMessages - -> printAuditForErrors(errorMessages, vspId, SUBMIT_VSP_ERROR)); - } - - return Response.status(Response.Status.EXPECTATION_FAILED).entity( - new MapValidationResponseToDto() - .applyMapping(validationResponse, ValidationResponseDto.class)).build(); + if (!permissionsManager.isAllowed(vspId, user, SUBMIT_ITEM)) { + return Response.status(Response.Status.FORBIDDEN) + .entity(new Exception(Messages.PERMISSIONS_ERROR.getErrorMessage())).build(); } - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.SUBMIT_VSP + vspId); + String message = + request.getSubmitRequest() == null ? "" : request.getSubmitRequest().getMessage(); + Optional validationResponse = submit(vspId, version, message, user); + + if (validationResponse.isPresent()) { + ValidationResponseDto validationResponseDto = new MapValidationResponseToDto() + .applyMapping(validationResponse.get(), ValidationResponseDto.class); + return Response.status(Response.Status.EXPECTATION_FAILED).entity(validationResponseDto) + .build(); + } + + notifyUsers(vspId, version, message, user, NotificationEventTypes.SUBMIT); break; case Create_Package: - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Create_Package.toString()); - - PackageInfo packageInfo = vendorSoftwareProductManager.createPackage(vspId, - resolveVspVersion(vspId, null, user, VersionableEntityAction.Read), user); - return Response.ok(packageInfo == null - ? null - : new MapPackageInfoToPackageInfoDto().applyMapping(packageInfo, PackageInfoDto.class)) - .build(); + return createPackage(vspId, version); default: } @@ -251,21 +327,41 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { } @Override - public Response getValidationVsp(String user) - throws Exception { - String validationVspId = vendorSoftwareProductManager.fetchValidationVsp(user); - StringWrapperResponse response = new StringWrapperResponse(validationVspId); - return Response.ok(response).build(); - } + public Response getValidationVsp(String user) throws Exception { + if (validationVsp != null) { + return Response.ok(validationVsp).build(); + } + VspRequestDto validationVspRequest = new VspRequestDto(); + validationVspRequest.setOnboardingMethod("HEAT"); + validationVspRequest.setName(VALIDATION_VSP_NAME); + + try { + validationVsp = (ItemCreationDto) createVsp(validationVspRequest, user).getEntity(); + return Response.ok(validationVsp).build(); + + } catch (CoreException validationVspAlreadyExistException) { + // find validationVsp + String validationVspId = itemManager.list(item -> + ItemType.vsp.name().equals(item.getType()) && VALIDATION_VSP_NAME.equals(item.getName())) + .stream().findFirst().orElseThrow(() -> new IllegalStateException("Vsp with name %s " + + "does not exist even though the name exists according to unique value util")).getId(); + Version validationVspVersion = versioningManager.list(validationVspId).iterator().next(); + + validationVsp = new ItemCreationDto(); + validationVsp.setItemId(validationVspId); + validationVsp + .setVersion(new MapVersionToDto().applyMapping(validationVspVersion, VersionDto.class)); + + return Response.ok(validationVsp).build(); + } + } @Override public Response getOrchestrationTemplate(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Uploaded_File.toString()); byte[] orchestrationTemplateFile = - vendorSoftwareProductManager - .getOrchestrationTemplateFile(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user); + vendorSoftwareProductManager.getOrchestrationTemplateFile(vspId, new Version(versionId)); if (orchestrationTemplateFile == null) { return Response.status(Response.Status.NOT_FOUND).build(); @@ -293,24 +389,47 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { } @Override - public Response getTranslatedFile(String vspId, String versionId, String user) { + public Response getTranslatedFile(String vspId, String versionName, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Translated_File.toString()); - Version version = Version.valueOf(versionId); - Version resolvedVersion = version == null - ? getVersionInfo(vspId, VersionableEntityAction.Read, user).getLatestFinalVersion() - : version; + List versions = versioningManager.list(vspId); + Version version; + if (versionName == null) { + version = versions.stream().filter(ver -> VersionStatus.Certified == ver.getStatus()) + .max((o1, o2) -> ((Double) Double.parseDouble(o1.getName())) + .compareTo(Double.parseDouble(o2.getName()))).orElseThrow(() -> { + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), "Package not found"); + return new CoreException(new PackageNotFoundErrorBuilder(vspId).build()); + }); + } else { + version = versions.stream().filter(ver -> versionName.equals(ver.getName())) + .findFirst().orElseThrow(() -> { + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), "Package not found"); + return new CoreException(new PackageNotFoundErrorBuilder(vspId).build()); + }); + + if (version.getStatus() != VersionStatus.Certified) { + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.GET_VERSION_INFO, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), "Invalid requested version"); + throw new CoreException(new RequestedVersionInvalidErrorBuilder().build()); + } + } - File zipFile = vendorSoftwareProductManager.getTranslatedFile(vspId, resolvedVersion, user); + File zipFile = vendorSoftwareProductManager.getTranslatedFile(vspId, version); Response.ResponseBuilder response = Response.ok(zipFile); if (zipFile == null) { - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.IMPORT_FAIL + vspId); + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.IMPORT_FAIL + vspId); return Response.status(Response.Status.NOT_FOUND).build(); } response.header("Content-Disposition", "attachment; filename=" + zipFile.getName()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.IMPORT_SUCCESS + vspId); + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.IMPORT_SUCCESS + vspId); return response.build(); } @@ -318,8 +437,7 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { public Response getQuestionnaire(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Questionnaire_VSP.toString()); QuestionnaireResponse questionnaireResponse = - vendorSoftwareProductManager.getVspQuestionnaire(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user); + vendorSoftwareProductManager.getVspQuestionnaire(vspId, new Version(versionId)); if (questionnaireResponse.getErrorMessage() != null) { return Response.status(Response.Status.EXPECTATION_FAILED).entity( @@ -336,16 +454,15 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { public Response updateQuestionnaire(String questionnaireData, String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Update_Questionnaire_VSP.toString()); - vendorSoftwareProductManager.updateVspQuestionnaire(vspId, - resolveVspVersion(vspId, null, user, VersionableEntityAction.Write), - questionnaireData, user); + vendorSoftwareProductManager + .updateVspQuestionnaire(vspId, new Version(versionId), questionnaireData); return Response.ok().build(); } @Override public Response heal(String vspId, String versionId, String user) { - vendorSoftwareProductManager.heal(vspId, Version.valueOf(versionId), user); - + HealingManagerFactory.getInstance().createInterface() + .healItemVersion(vspId, new Version(versionId), ItemType.vsp, true); return Response.ok().build(); } @@ -353,8 +470,7 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { public Response getVspInformationArtifact(String vspId, String versionId, String user) { MdcUtil.initMdc(LoggerServiceName.Get_Information_Artifact.toString()); File textInformationArtifact = - vendorSoftwareProductManager.getInformationArtifact(vspId, - resolveVspVersion(vspId, versionId, user, VersionableEntityAction.Read), user); + vendorSoftwareProductManager.getInformationArtifact(vspId, new Version(versionId)); Response.ResponseBuilder response = Response.ok(textInformationArtifact); if (textInformationArtifact == null) { @@ -365,10 +481,11 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { return response.build(); } - public Response listCompute(String vspId, String version, String user) { + @Override + public Response listComputes(String vspId, String version, String user) { - Collection computes = vendorSoftwareProductManager.getComputeByVsp(vspId, - resolveVspVersion(vspId, version, user, VersionableEntityAction.Read), user); + Collection computes = + vendorSoftwareProductManager.getComputeByVsp(vspId, new Version(version)); MapComputeEntityToVspComputeDto mapper = new MapComputeEntityToVspComputeDto(); GenericCollectionWrapper results = new GenericCollectionWrapper<>(); @@ -379,91 +496,152 @@ public class VendorSoftwareProductsImpl implements VendorSoftwareProducts { return Response.ok(results).build(); } - @Override - public Response reSubmitAll(String user) throws IOException { - - MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Re_Submit_ALL_Final_VSPs.toString()); - logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.RESUBMIT_ALL_FINAL_VSPS); - - List latestFinalVsps = Objects - .requireNonNull(vendorSoftwareProductManager.listVsps(VersionStatus.Final.name(), user)); - - List nonLockedLatestFinalVsps = latestFinalVsps.stream() - .filter(vsp -> - !isVspLocked(vsp.getVspDetails().getId(), vsp.getVspDetails().getName(), user)) - .collect(Collectors.toList()); - - logger.info("Removed {} VSPs out of {} from processing due to status LOCKED.\n" + - "Total number of VSPs: {}. Performing healing and resubmit for all non-Manual VSPs " + - "in submitted status.\n No need to pre-set oldVersion field", - latestFinalVsps.size() - nonLockedLatestFinalVsps.size(), latestFinalVsps.size(), - nonLockedLatestFinalVsps.size()); - - int healingCounter = 0; - int failedCounter = 0; - for (int counter = 0; counter < nonLockedLatestFinalVsps.size(); counter++) { - VersionedVendorSoftwareProductInfo versionVspInfo = nonLockedLatestFinalVsps.get(counter); - try { - final VspDetails vspDetails = versionVspInfo.getVspDetails(); - if (!OnboardingMethod.Manual.name().equals(vspDetails.getOnboardingMethod())) { - logger.info("Starting on healing and resubmit for VSP [{}], #{} out of total {}", - vspDetails.getName(), counter + 1, nonLockedLatestFinalVsps.size()); - reSubmit(vspDetails, user); - healingCounter++; - } - } catch (Exception e) { - failedCounter++; + private Optional submit(String vspId, Version version, String message, + String user) throws IOException { + MdcUtil.initMdc(LoggerServiceName.Submit_VSP.toString()); + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.SUBMIT_VSP + vspId); + + ValidationResponse validationResponse = vendorSoftwareProductManager.validate(vspId, version); + Map> compilationErrors = + vendorSoftwareProductManager.compile(vspId, version); + if (!validationResponse.isValid() || MapUtils.isNotEmpty(compilationErrors)) { + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.SUBMIT_VSP_FAIL + vspId); + if (validationResponse.getVspErrors() != null) { + validationResponse.getVspErrors().forEach(errorCode -> LOGGER.audit(AuditMessages + .AUDIT_MSG + String.format(SUBMIT_VSP_ERROR, errorCode.message(), vspId))); + } + if (validationResponse.getUploadDataErrors() != null) { + validationResponse.getUploadDataErrors().values().forEach(errorMessages + -> printAuditForErrors(errorMessages, vspId, SUBMIT_VSP_ERROR)); } + activityLogManager.logActivity( + new ActivityLogEntity(vspId, version, ActivityType.Submit, user, false, + "Failed on validation before submit", "")); + return Optional.of(validationResponse); } - logger.info("Total VSPs processed {}. Completed running healing and resubmit for {} VSPs out" + - " of total # of {} submitted VSPs. Failures count during resubmitAll: {}", - nonLockedLatestFinalVsps.size(), healingCounter, latestFinalVsps.size(), failedCounter); + versioningManager.submit(vspId, version, message); - return Response.ok().build(); + LOGGER.audit(AuditMessages.AUDIT_MSG + AuditMessages.SUBMIT_VSP + vspId); + activityLogManager.logActivity( + new ActivityLogEntity(vspId, version, ActivityType.Submit, user, true, "", message)); + return Optional.empty(); } - private boolean isVspLocked(String vspId, String vspName, String user) { - final VersionInfo versionInfo = getVersionInfo(vspId, VersionableEntityAction.Read, user); + private void notifyUsers(String itemId, Version version, String message, + String userName, NotificationEventTypes eventType) { + Map eventProperties = new HashMap<>(); + eventProperties.put(ITEM_NAME, itemManager.get(itemId).getName()); + eventProperties.put(ITEM_ID, itemId); + + Version ver = versioningManager.get(itemId, version); + eventProperties.put(VERSION_NAME, ver.getName()); + eventProperties.put(VERSION_ID, ver.getId()); + + eventProperties.put(SUBMIT_DESCRIPTION, message); + eventProperties.put(PERMISSION_USER, userName); - if (versionInfo.getStatus().equals(VersionStatus.Locked)) { - logger.info("VSP name [{}]/id [{}] status is LOCKED", vspName, vspId); - return true; + Event syncEvent = new SyncEvent(eventType.getEventName(), itemId, eventProperties, itemId); + try { + notifier.notifySubscribers(syncEvent, userName); + } catch (Exception e) { + LOGGER.error("Failed to send sync notification to users subscribed o item '" + itemId); } - logger.info("VSP Name {}, VSP id [{}], Active Version {} , Status {}, Latest Final Version {}", - vspName, vspId, versionInfo.getActiveVersion().toString(), versionInfo.getStatus(), - versionInfo.getLatestFinalVersion().toString()); - return false; } + private class SyncEvent implements Event { - private void reSubmit(VspDetails vspDetails, String user) throws Exception { - final Version versionBefore = vspDetails.getVersion(); - vspDetails.setOldVersion("true"); + private String eventType; + private String originatorId; + private Map attributes; + private String entityId; - Version finalVersion; - try { - finalVersion = - vendorSoftwareProductManager - .healAndAdvanceFinalVersion(vspDetails.getId(), vspDetails, user); - } catch (Exception e) { - logger.error("Failed during resubmit, VSP [{}] , version before:{}, version after:{}, " + - "status after:{}, with exception:{}", - vspDetails.getName(), versionBefore.toString(), vspDetails.getVersion().toString(), - vspDetails - .getVersion().getStatus().name(), e.getMessage()); - throw e; + public SyncEvent(String eventType, String originatorId, + Map attributes, String entityId) { + this.eventType = eventType; + this.originatorId = originatorId; + this.attributes = attributes; + this.entityId = entityId; + } + + @Override + public String getEventType() { + return eventType; } - logger.info("Completed healing and resubmit for VSP [{}], version before:{}, version after:" + - " {}", vspDetails.getName(), versionBefore.toString(), finalVersion); + @Override + public String getOriginatorId() { + return originatorId; + } + + @Override + public Map getAttributes() { + return attributes; + } + + @Override + public String getEntityId() { + return entityId; + } + } + + private Response createPackage(String vspId, Version version) throws IOException { + MdcUtil.initMdc(LoggerServiceName.Create_Package.toString()); + + Version retrievedVersion = versioningManager.get(vspId, version); + if (retrievedVersion.getStatus() != VersionStatus.Certified) { + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.CREATE_PACKAGE, ErrorLevel.ERROR.name(), + LoggerErrorCode.PERMISSION_ERROR.getErrorCode(), "Can't create package"); + throw new CoreException( + new CreatePackageForNonFinalVendorSoftwareProductErrorBuilder(vspId, version) + .build()); + } + PackageInfo packageInfo = + vendorSoftwareProductManager.createPackage(vspId, retrievedVersion); + return Response.ok(packageInfo == null + ? null + : new MapPackageInfoToPackageInfoDto().applyMapping(packageInfo, PackageInfoDto.class)) + .build(); + } + + private void addNetworkPackageInfo(String vspId, Version version, VspDetailsDto vspDetailsDto) { + OrchestrationTemplateEntity orchestrationTemplateInfo = + vendorSoftwareProductManager.getOrchestrationTemplateInfo(vspId, version); + + vspDetailsDto.setValidationData(orchestrationTemplateInfo.getValidationDataStructure()); + vspDetailsDto.setNetworkPackageName(orchestrationTemplateInfo.getFileName()); + vspDetailsDto.setOnboardingOrigin(orchestrationTemplateInfo.getFileSuffix() == null + ? OnboardingTypesEnum.NONE.toString() + : orchestrationTemplateInfo.getFileSuffix()); + + OrchestrationTemplateCandidateData candidateInfo = + OrchestrationTemplateCandidateManagerFactory.getInstance().createInterface() + .getInfo(vspId, version); + + //todo - remove after fix missing candidate element + if(candidateInfo == null){ + candidateInfo = new OrchestrationTemplateCandidateData(); + candidateInfo.setFileSuffix("zip"); + } + + vspDetailsDto + .setCandidateOnboardingOrigin( candidateInfo.getFileSuffix() + == null + ? OnboardingTypesEnum.NONE.toString() + : candidateInfo.getFileSuffix()); + } + + private boolean userHasPermission(String itemId, String userId) { + String permission = permissionsManager.getUserItemPermiission(itemId, userId); + return (permission != null && permission + .matches(PermissionTypes.Contributor.name() + "|" + PermissionTypes.Owner.name())); } - private static void printAuditForErrors(List errorList, String vspId, - String auditType) { + private void printAuditForErrors(List errorList, String vspId, String auditType) { errorList.forEach(errorMessage -> { if (errorMessage.getLevel().equals(ErrorLevel.ERROR)) { - logger.audit(AuditMessages.AUDIT_MSG + String.format(auditType, errorMessage.getMessage(), + LOGGER.audit(AuditMessages.AUDIT_MSG + String.format(auditType, errorMessage.getMessage(), vspId)); } }); 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/services/VspItemProperty.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/services/VspItemProperty.java new file mode 100644 index 0000000000..a40f6b167e --- /dev/null +++ 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/services/VspItemProperty.java @@ -0,0 +1,7 @@ +package org.openecomp.sdcrests.vsp.rest.services; + +public final class VspItemProperty { + public static final String VENDOR_ID = "vendorId"; + public static final String VENDOR_NAME = "vendorName"; + public static final String ONBOARDING_METHOD = "onboardingMethod"; +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml index 9e3f3f3b46..fca77a8f28 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/pom.xml @@ -20,6 +20,11 @@ openecomp-sdc-common-rest ${project.version} + + org.openecomp.sdc + item-rest-services + ${project.version} + org.openecomp.sdc openecomp-sdc-vendor-software-product-manager diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyCreationDto.java new file mode 100644 index 0000000000..d9f8354887 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyCreationDto.java @@ -0,0 +1,13 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComponentDependencyCreationDto { + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyResponseDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyResponseDto.java new file mode 100644 index 0000000000..91f89a1eb0 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyResponseDto.java @@ -0,0 +1,41 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +public class ComponentDependencyResponseDto { + + private String sourceId; + private String targetId; + private String relationType; + private String id; + + public String getSourceId() { + return sourceId; + } + + public void setSourceId(String sourceId) { + this.sourceId = sourceId; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getRelationType() { + return relationType; + } + + public void setRelationType(String relationType) { + this.relationType = relationType; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java index 3bc0b95626..a24d01a5a3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java @@ -4,8 +4,8 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import org.hibernate.validator.constraints.NotBlank; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; -import java.util.List; import javax.validation.constraints.Size; +import java.util.List; public class DeploymentFlavorRequestDto { @NotBlank(message = "is mandatory and should not be empty") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/FileDataStructureDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/FileDataStructureDto.java new file mode 100644 index 0000000000..5d1191c52f --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/FileDataStructureDto.java @@ -0,0 +1,69 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.Module; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Avrahamg + * @since November 07, 2016 + */ +public class FileDataStructureDto { + private List modules = new ArrayList<>(); + private List unassigned = new ArrayList<>(); + private List artifacts = new ArrayList<>(); + private List nested = new ArrayList<>(); + + public List getModules() { + return modules; + } + + public void setModules(List modules) { + this.modules = modules; + } + + public List getUnassigned() { + return unassigned; + } + + public void setUnassigned(List unassigned) { + this.unassigned = unassigned; + } + + public List getArtifacts() { + return artifacts; + } + + public void setArtifacts(List artifacts) { + this.artifacts = artifacts; + } + + public List getNested() { + return nested; + } + + public void setNested(List nested) { + this.nested = nested; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java deleted file mode 100644 index 0db4b0476d..0000000000 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/OnboardingMethod.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.openecomp.sdcrests.vendorsoftwareproducts.types; - -public enum OnboardingMethod { - NetworkPackage, - Manual; -} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireDto.java new file mode 100644 index 0000000000..cb30b50134 --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireDto.java @@ -0,0 +1,30 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import java.util.HashMap; + +/** + * Created by ayalaben on 9/26/2017 + */ +public class QuestionnaireDto { + + private String id; + + public HashMap getQuestionareData() { + return questionareData; + } + + public void setQuestionareData(HashMap questionareData) { + this.questionareData = questionareData; + } + + private HashMap questionareData; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VendorSoftwareProductAction.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VendorSoftwareProductAction.java index c652c1cc4e..1ec68e4818 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VendorSoftwareProductAction.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VendorSoftwareProductAction.java @@ -21,9 +21,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; public enum VendorSoftwareProductAction { - Checkout, - Undo_Checkout, - Checkin, Submit, Create_Package; } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VersionSoftwareProductActionRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VersionSoftwareProductActionRequestDto.java index dbfdf346e4..f8ea65c477 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VersionSoftwareProductActionRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VersionSoftwareProductActionRequestDto.java @@ -20,11 +20,14 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; +import org.openecomp.sdcrests.item.types.SubmitRequestDto; + /** * Created by TALIO on 4/20/2016. */ public class VersionSoftwareProductActionRequestDto { private VendorSoftwareProductAction action; + private SubmitRequestDto submitRequest; public VendorSoftwareProductAction getAction() { return action; @@ -33,4 +36,12 @@ public class VersionSoftwareProductActionRequestDto { public void setAction(VendorSoftwareProductAction action) { this.action = action; } + + public SubmitRequestDto getSubmitRequest() { + return submitRequest; + } + + public void setSubmitRequest(SubmitRequestDto submitRequest) { + this.submitRequest = submitRequest; + } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspCreationDto.java deleted file mode 100644 index f77005f781..0000000000 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspCreationDto.java +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.sdcrests.vendorsoftwareproducts.types; - -/** - * Created by TALIO on 4/26/2016. - */ -public class VspCreationDto { - private String vspId; - - public String getVspId() { - return vspId; - } - - public void setVspId(String vspId) { - this.vspId = vspId; - } -} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java index 9062f89d22..a2358a0b48 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDescriptionDto.java @@ -21,7 +21,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import org.openecomp.sdc.vendorsoftwareproduct.types.LicensingData; -import org.openecomp.sdcrests.common.types.VersionDto; import javax.validation.constraints.NotNull; @@ -39,14 +38,9 @@ public class VspDescriptionDto { private String vendorName; @NotNull private String vendorId; // this will be populated with vlm id - private VersionDto licensingVersion; // this will be populated with vlm version + private String licensingVersion; // this will be populated with vlm version private LicensingData licensingData; - @NotNull - private String onboardingMethod; - private String onboardingOrigin; - private String networkPackageName; - public String getName() { return name; } @@ -103,11 +97,11 @@ public class VspDescriptionDto { this.vendorId = vendorId; } - public VersionDto getLicensingVersion() { + public String getLicensingVersion() { return licensingVersion; } - public void setLicensingVersion(VersionDto licensingVersion) { + public void setLicensingVersion(String licensingVersion) { this.licensingVersion = licensingVersion; } @@ -118,28 +112,4 @@ public class VspDescriptionDto { public void setLicensingData(LicensingData licensingData) { this.licensingData = licensingData; } - - public String getOnboardingMethod() { - return onboardingMethod; - } - - public void setOnboardingMethod(String onboardingMethod) { - this.onboardingMethod = onboardingMethod; - } - - public String getOnboardingOrigin() { - return onboardingOrigin; - } - - public void setOnboardingOrigin(String onboardingOrigin) { - this.onboardingOrigin = onboardingOrigin; - } - - public String getNetworkPackageName() { - return networkPackageName; - } - - public void setNetworkPackageName(String networkPackageName) { - this.networkPackageName = networkPackageName; - } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDetailsDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDetailsDto.java index 28a77f2e66..5052442a23 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDetailsDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspDetailsDto.java @@ -22,27 +22,20 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import io.swagger.annotations.ApiModel; import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList; -import org.openecomp.sdc.versioning.dao.types.VersionStatus; -import org.openecomp.sdcrests.common.types.VersionDto; - -import java.util.List; /** * Created by TALIO on 4/25/2016. */ @ApiModel(value = "VspDetails") -public class VspDetailsDto extends VspDescriptionDto { +public class VspDetailsDto extends VspRequestDto { private String id; - private VersionDto version; - private List viewableVersions; - private List finalVersions; - private VersionStatus status; - private String lockingUser; + private String version; private ValidationStructureList validationData; - private String isOldVersion; + private String candidateOnboardingOrigin; private String onboardingOrigin; private String networkPackageName; + public String getId() { return id; } @@ -51,60 +44,28 @@ public class VspDetailsDto extends VspDescriptionDto { this.id = id; } - public VersionDto getVersion() { + public String getVersion() { return version; } - public void setVersion(VersionDto version) { + public void setVersion(String version) { this.version = version; } - public List getViewableVersions() { - return viewableVersions; - } - - public void setViewableVersions(List viewableVersions) { - this.viewableVersions = viewableVersions; - } - - public List getFinalVersions() { - return finalVersions; - } - - public void setFinalVersions(List finalVersions) { - this.finalVersions = finalVersions; - } - - public VersionStatus getStatus() { - return status; - } - - public void setStatus(VersionStatus status) { - this.status = status; - } - - public String getLockingUser() { - return lockingUser; - } - - public void setLockingUser(String lockingUser) { - this.lockingUser = lockingUser; - } - public ValidationStructureList getValidationData() { return validationData; } - public String getIsOldVersion() { - return isOldVersion; + public void setValidationData(ValidationStructureList validationData) { + this.validationData = validationData; } - public void setIsOldVersion(String isOldVersion) { - this.isOldVersion = isOldVersion; + public String getCandidateOnboardingOrigin() { + return candidateOnboardingOrigin; } - public void setValidationData(ValidationStructureList validationData) { - this.validationData = validationData; + public void setCandidateOnboardingOrigin(String candidateOnboardingOrigin) { + this.candidateOnboardingOrigin = candidateOnboardingOrigin; } public String getOnboardingOrigin() { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspRequestDto.java new file mode 100644 index 0000000000..19cad86caf --- /dev/null +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/VspRequestDto.java @@ -0,0 +1,16 @@ +package org.openecomp.sdcrests.vendorsoftwareproducts.types; + +import javax.validation.constraints.NotNull; + +public class VspRequestDto extends VspDescriptionDto { + @NotNull + private String onboardingMethod; + + public String getOnboardingMethod() { + return onboardingMethod; + } + + public void setOnboardingMethod(String onboardingMethod) { + this.onboardingMethod = onboardingMethod; + } +} diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/IsValidJson.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/IsValidJson.java index 5109002978..aa8b32ca23 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/IsValidJson.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/IsValidJson.java @@ -24,6 +24,14 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation; * @since July 13, 2016 */ +import org.openecomp.sdcrests.common.RestConstants; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + import static java.lang.annotation.ElementType.ANNOTATION_TYPE; import static java.lang.annotation.ElementType.CONSTRUCTOR; import static java.lang.annotation.ElementType.FIELD; @@ -31,14 +39,6 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; -import org.openecomp.sdcrests.common.RestConstants; - -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import javax.validation.Constraint; -import javax.validation.Payload; - /** * The interface Is valid json. */ diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java index 0fc2fd7e82..49b3e91f15 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/StringValidator.java @@ -1,9 +1,9 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation; -import java.util.ArrayList; -import java.util.List; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; +import java.util.ArrayList; +import java.util.List; public class StringValidator implements ConstraintValidator { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java index 1218bb1c22..dab2f25705 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/validation/ValidateString.java @@ -1,5 +1,11 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation; +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + import static java.lang.annotation.ElementType.ANNOTATION_TYPE; import static java.lang.annotation.ElementType.CONSTRUCTOR; import static java.lang.annotation.ElementType.FIELD; @@ -7,12 +13,6 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import javax.validation.Constraint; -import javax.validation.Payload; - /** * The interface Validate string. */ -- cgit 1.2.3-korg