1 package org.openecomp.sdcrests.conflict.rest;
3 import io.swagger.annotations.Api;
4 import io.swagger.annotations.ApiOperation;
5 import io.swagger.annotations.ApiParam;
6 import org.openecomp.sdcrests.common.RestConstants;
7 import org.openecomp.sdcrests.conflict.types.ConflictDto;
8 import org.openecomp.sdcrests.conflict.types.ConflictResolutionDto;
9 import org.openecomp.sdcrests.conflict.types.ItemVersionConflictDto;
10 import org.springframework.validation.annotation.Validated;
12 import javax.validation.constraints.NotNull;
13 import javax.ws.rs.Consumes;
14 import javax.ws.rs.GET;
15 import javax.ws.rs.HeaderParam;
16 import javax.ws.rs.PUT;
17 import javax.ws.rs.Path;
18 import javax.ws.rs.PathParam;
19 import javax.ws.rs.Produces;
20 import javax.ws.rs.core.MediaType;
21 import javax.ws.rs.core.Response;
23 @Path("/v1.0/items/{itemId}/versions/{versionId}/conflicts")
24 @Produces(MediaType.APPLICATION_JSON)
25 @Consumes(MediaType.APPLICATION_JSON)
26 @Api(value = "Item Version Conflicts")
28 public interface Conflicts {
32 @ApiOperation(value = "item version conflicts",
33 notes = "Item version private copy conflicts against its public copy",
34 response = ItemVersionConflictDto.class)
35 Response getConflict(@ApiParam("Item Id") @PathParam("itemId") String itemId,
36 @ApiParam("Version Id") @PathParam("versionId") String versionId,
37 @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
38 @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);
41 @Path("/{conflictId}")
42 @ApiOperation(value = "Gets item version conflict",
43 notes = "Gets an item version private copy conflict against its public copy",
44 response = ConflictDto.class)
45 Response getConflict(@ApiParam("Item Id") @PathParam("itemId") String itemId,
46 @ApiParam("Version Id") @PathParam("versionId") String versionId,
47 @ApiParam("Version Id") @PathParam("conflictId") String conflictId,
48 @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
49 @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);
52 @Path("/{conflictId}")
53 @ApiOperation(value = "Resolves item version conflict",
54 notes = "Resolves an item version private copy conflict against its public copy")
55 Response resolveConflict(ConflictResolutionDto conflictResolution,
56 @ApiParam("Item Id") @PathParam("itemId") String itemId,
57 @ApiParam("Version Id") @PathParam("versionId") String versionId,
58 @ApiParam("Version Id") @PathParam("conflictId") String conflictId,
59 @NotNull(message = RestConstants.USER_MISSING_ERROR_MSG)
60 @HeaderParam(RestConstants.USER_ID_HEADER_PARAM) String user);