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;
@WebParam(name = "feed") Feed feed,
@QueryParam("useExisting") String useExisting) {
- ApiService resp = new ApiService();
+ ApiError apiError = new ApiError();
try {
checker.required( "feedName", feed.getFeedName());
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
@WebParam(name = "feed") Feed feed) {
FeedService feedService = new FeedService();
- ApiService resp = new ApiService();
+ ApiError apiError = new ApiError();
try {
checker.required( "feedId", id);
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();
}
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);
}
}
@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
@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<Feed> nfeeds = feedService.getAllFeeds();
+ GenericEntity<List<Feed>> list = new GenericEntity<List<Feed>>(nfeeds) {
+ };
+ return responseBuilder.success(list);
+ }
+ return responseBuilder.error(error);
+ }
+
}