X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fresources%2FFeedResource.java;h=28bdb004afafe443906f67ae2d18f87e3cc1f552;hb=18eaae524174fac4f21d83c94bb8347a29d9f879;hp=382d88cf203278689ce354996f381e3172883e15;hpb=cee37b37655ed5a52078e37c7da51c887e2d73e5;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/resources/FeedResource.java b/src/main/java/org/onap/dmaap/dbcapi/resources/FeedResource.java index 382d88c..28bdb00 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/resources/FeedResource.java +++ b/src/main/java/org/onap/dmaap/dbcapi/resources/FeedResource.java @@ -27,7 +27,6 @@ import io.swagger.annotations.ApiResponses; import java.util.List; -import javax.jws.WebParam; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -46,7 +45,6 @@ import org.onap.dmaap.dbcapi.model.ApiError; import org.onap.dmaap.dbcapi.model.DR_Pub; import org.onap.dmaap.dbcapi.model.Feed; import org.onap.dmaap.dbcapi.model.DmaapObject.DmaapObject_Status; -import org.onap.dmaap.dbcapi.service.ApiService; import org.onap.dmaap.dbcapi.service.FeedService; @@ -58,6 +56,7 @@ import org.onap.dmaap.dbcapi.service.FeedService; public class FeedResource extends BaseLoggingClass { private ResponseBuilder responseBuilder = new ResponseBuilder(); + private RequiredChecker checker = new RequiredChecker(); @GET @ApiOperation( value = "return Feed details", @@ -90,49 +89,49 @@ public class FeedResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) public Response addFeed( - @WebParam(name = "feed") Feed feed, + Feed feed, @QueryParam("useExisting") String useExisting) { - ApiService resp = new ApiService(); + ApiError apiError = new ApiError(); try { - resp.required( "feedName", feed.getFeedName(), ""); - resp.required( "feedVersion", feed.getFeedVersion(), ""); - resp.required( "owner", feed.getOwner(), "" ); - resp.required( "asprClassification", feed.getAsprClassification(), "" ); + checker.required( "feedName", feed.getFeedName()); + checker.required( "feedVersion", feed.getFeedVersion()); + checker.required( "owner", feed.getOwner()); + checker.required( "asprClassification", feed.getAsprClassification()); } catch ( RequiredFieldException rfe ) { - logger.debug( resp.toString() ); - return responseBuilder.error(resp.getErr()); + logger.debug( rfe.getApiError().toString() ); + return responseBuilder.error(rfe.getApiError()); } FeedService feedService = new FeedService(); - Feed nfeed = feedService.getFeedByName( feed.getFeedName(), feed.getFeedVersion(), resp.getErr() ); + Feed nfeed = feedService.getFeedByName( feed.getFeedName(), feed.getFeedVersion(), apiError); if ( nfeed == null ) { - nfeed = feedService.addFeed( feed, resp.getErr() ); + nfeed = feedService.addFeed(feed, apiError); if ( nfeed != null ) { return responseBuilder.success(nfeed); } else { logger.error( "Unable to create: " + feed.getFeedName() + ":" + feed.getFeedVersion()); - return responseBuilder.error(resp.getErr()); + return responseBuilder.error(apiError); } } else if ( nfeed.getStatus() == DmaapObject_Status.DELETED ) { feed.setFeedId( nfeed.getFeedId()); - nfeed = feedService.updateFeed(feed, resp.getErr()); + nfeed = feedService.updateFeed(feed, apiError); if ( nfeed != null ) { return responseBuilder.success(nfeed); } else { logger.info( "Unable to update: " + feed.getFeedName() + ":" + feed.getFeedVersion()); - return responseBuilder.error(resp.getErr()); + return responseBuilder.error(apiError); } } else if ( (useExisting != null) && ("true".compareToIgnoreCase( useExisting ) == 0)) { return responseBuilder.success(nfeed); } - resp.setCode(Status.CONFLICT.getStatusCode()); - return responseBuilder.error(resp.getErr()); + apiError.setCode(Status.CONFLICT.getStatusCode()); + return responseBuilder.error(apiError); } @PUT @@ -146,19 +145,19 @@ public class FeedResource extends BaseLoggingClass { @Path("/{id}") public Response updateFeed( @PathParam("id") String id, - @WebParam(name = "feed") Feed feed) { + Feed feed) { FeedService feedService = new FeedService(); - ApiService resp = new ApiService(); + ApiError apiError = new ApiError(); try { - resp.required( "feedId", id, ""); + checker.required( "feedId", id); } catch ( RequiredFieldException rfe ) { - logger.debug( resp.toString() ); - return responseBuilder.error(resp.getErr()); + logger.debug( rfe.getApiError().toString() ); + return responseBuilder.error(rfe.getApiError()); } - Feed nfeed = feedService.getFeed( id, resp.getErr() ); + Feed nfeed = feedService.getFeed(id, apiError); if ( nfeed == null || nfeed.getStatus() == DmaapObject_Status.DELETED ) { return responseBuilder.notFound(); } @@ -169,13 +168,13 @@ public class FeedResource extends BaseLoggingClass { nfeed.setFeedDescription(feed.getFeedDescription()); nfeed.setFormatUuid(feed.getFormatUuid()); - nfeed = feedService.updateFeed(nfeed, resp.getErr()); + nfeed = feedService.updateFeed(nfeed, apiError); if ( nfeed != null ) { return responseBuilder.success(nfeed); } else { logger.info( "Unable to update: " + feed.getFeedName() + ":" + feed.getFeedVersion()); - return responseBuilder.error(resp.getErr()); + return responseBuilder.error(apiError); } } @@ -188,25 +187,23 @@ public class FeedResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) @Path("/{id}") - public Response deleteFeed( - @PathParam("id") String id - ){ - ApiService resp = new ApiService(); + public Response deleteFeed(@PathParam("id") String id){ + ApiError apiError = new ApiError(); logger.debug( "Entry: DELETE " + id); FeedService feedService = new FeedService(); - Feed nfeed = feedService.getFeed( id, resp.getErr() ); + Feed nfeed = feedService.getFeed(id, apiError); if ( nfeed == null ) { - resp.setCode(Status.NOT_FOUND.getStatusCode()); - return responseBuilder.error(resp.getErr()); + apiError.setCode(Status.NOT_FOUND.getStatusCode()); + return responseBuilder.error(apiError); } - nfeed = feedService.removeFeed( nfeed, resp.getErr() ); + nfeed = feedService.removeFeed(nfeed, apiError); if ( nfeed == null || nfeed.getStatus() == DmaapObject_Status.DELETED ) { return responseBuilder.success(Status.NO_CONTENT.getStatusCode(), null); } logger.info( "Unable to delete: " + id + ":" + nfeed.getFeedVersion()); - return responseBuilder.error(resp.getErr()); + return responseBuilder.error(apiError); } @GET @@ -218,17 +215,45 @@ public class FeedResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) @Path("/{id}") - public Response getFeed( - @PathParam("id") String id - ) { - ApiService resp = new ApiService(); + public Response getFeed(@PathParam("id") String id) { + ApiError apiError = new ApiError(); FeedService feedService = new FeedService(); - Feed nfeed = feedService.getFeed( id, resp.getErr() ); + Feed nfeed = feedService.getFeed(id, apiError); if ( nfeed == null ) { - resp.setCode(Status.NOT_FOUND.getStatusCode()); - return responseBuilder.error(resp.getErr()); + apiError.setCode(Status.NOT_FOUND.getStatusCode()); + return responseBuilder.error(apiError); } return responseBuilder.success(nfeed); } + + @PUT + @ApiOperation( value = "sync feeds to existing DR", + notes = "When Bus Controller is deployed after DR, then it is possible" + + "that DR has previous provisioning data that needs to be imported" + + "into Bus Controller.", + response = Feed.class ) + @ApiResponses( value = { + @ApiResponse( code = 200, message = "Success", response = Feed.class), + @ApiResponse( code = 400, message = "Error", response = ApiError.class ) + }) + @Path( "/sync") + public Response syncFeeds (@QueryParam("hard") String hardParam) { + ApiError error = new ApiError(); + + FeedService feedService = new FeedService(); + boolean hard = false; + if ( hardParam != null && hardParam.equalsIgnoreCase("true")) { + hard = true; + } + feedService.sync( hard, error ); + if ( error.is2xx()) { + List nfeeds = feedService.getAllFeeds(); + GenericEntity> list = new GenericEntity>(nfeeds) { + }; + return responseBuilder.success(list); + } + return responseBuilder.error(error); + } + }