X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fresources%2FTopicResource.java;h=3206cf7b57322f0f660d2d7399de4947c8e8ebe5;hb=ea44032b89d04201924f7ca1551cb33ed49b947e;hp=be1b3ac842c3ede17511db2d72fb89edf0390f45;hpb=99a69b81bca73117846e55bd0129cf3172d4ee08;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java b/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java index be1b3ac..3206cf7 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java +++ b/src/main/java/org/onap/dmaap/dbcapi/resources/TopicResource.java @@ -46,10 +46,11 @@ import org.onap.dmaap.dbcapi.model.ApiError; import org.onap.dmaap.dbcapi.model.ReplicationType; import org.onap.dmaap.dbcapi.model.FqtnType; import org.onap.dmaap.dbcapi.model.Topic; -import org.onap.dmaap.dbcapi.service.ApiService; import org.onap.dmaap.dbcapi.service.TopicService; import org.onap.dmaap.dbcapi.util.DmaapConfig; +import static javax.ws.rs.core.Response.Status.CREATED; + @Path("/topics") @Api( value= "topics", description = "Endpoint for retreiving MR Topics" ) @Consumes(MediaType.APPLICATION_JSON) @@ -59,7 +60,9 @@ public class TopicResource extends BaseLoggingClass { private static FqtnType defaultTopicStyle; private static String defaultPartitionCount; private static String defaultReplicationCount; - TopicService mr_topicService = new TopicService(); + private TopicService mr_topicService = new TopicService(); + private ResponseBuilder responseBuilder = new ResponseBuilder(); + private RequiredChecker checker = new RequiredChecker(); public TopicResource() { DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig(); @@ -79,14 +82,11 @@ public class TopicResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) public Response getTopics() { - - ApiService check = new ApiService(); - List allTopics = mr_topicService.getAllTopics(); GenericEntity> list = new GenericEntity>(allTopics) { }; - return check.success(list); + return responseBuilder.success(list); } @@ -101,20 +101,17 @@ public class TopicResource extends BaseLoggingClass { @ApiResponse( code = 200, message = "Success", response = Topic.class), @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) - public Response addTopic( - Topic topic, - @QueryParam("useExisting") String useExisting - ) { + public Response addTopic(Topic topic, @QueryParam("useExisting") String useExisting) { logger.info( "addTopic request: " + topic + " useExisting=" + useExisting ); - ApiService check = new ApiService(); + ApiError apiError = new ApiError(); try { - check.required( "topicName", topic.getTopicName(), "^\\S+$" ); //no white space allowed in topicName - check.required( "topicDescription", topic.getTopicDescription(), "" ); - check.required( "owner", topic.getOwner(), "" ); + checker.required( "topicName", topic.getTopicName(), "^\\S+$" ); //no white space allowed in topicName + checker.required( "topicDescription", topic.getTopicDescription()); + checker.required( "owner", topic.getOwner()); } catch( RequiredFieldException rfe ) { - logger.error("Error", rfe); - return check.error(); + logger.error("Error", rfe.getApiError()); + return responseBuilder.error(rfe.getApiError()); } ReplicationType t = topic.getReplicationCase(); @@ -140,11 +137,11 @@ public class TopicResource extends BaseLoggingClass { flag = "true".compareToIgnoreCase( useExisting ) == 0; } - Topic mrc = mr_topicService.addTopic(topic, check.getErr(), flag); - if ( mrc != null && check.getErr().is2xx() ) { - return check.success(Status.CREATED.getStatusCode(), mrc); + Topic mrc = mr_topicService.addTopic(topic, apiError, flag); + if ( mrc != null && apiError.is2xx() ) { + return responseBuilder.success(CREATED.getStatusCode(), mrc); } - return check.error(); + return responseBuilder.error(apiError); } @PUT @@ -156,15 +153,13 @@ public class TopicResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) @Path("/{topicId}") - public Response updateTopic( - @PathParam("topicId") String topicId - ) { - ApiService check = new ApiService(); + public Response updateTopic(@PathParam("topicId") String topicId) { + ApiError apiError = new ApiError(); - check.setCode(Status.BAD_REQUEST.getStatusCode()); - check.setMessage( "Method /PUT not supported for /topics"); + apiError.setCode(Status.BAD_REQUEST.getStatusCode()); + apiError.setMessage( "Method /PUT not supported for /topics"); - return check.error(); + return responseBuilder.error(apiError); } @DELETE @@ -176,23 +171,21 @@ public class TopicResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) @Path("/{topicId}") - public Response deleteTopic( - @PathParam("topicId") String id - ){ - ApiService check = new ApiService(); + public Response deleteTopic(@PathParam("topicId") String id){ + ApiError apiError = new ApiError(); try { - check.required( "fqtn", id, "" ); + checker.required( "fqtn", id); } catch( RequiredFieldException rfe ) { - logger.error("Error", rfe); - return check.error(); + logger.error("Error", rfe.getApiError()); + return responseBuilder.error(rfe.getApiError()); } - mr_topicService.removeTopic(id, check.getErr()); - if ( check.getErr().is2xx()) { - return check.success(Status.NO_CONTENT.getStatusCode(), null); + mr_topicService.removeTopic(id, apiError); + if (apiError.is2xx()) { + return responseBuilder.success(Status.NO_CONTENT.getStatusCode(), null); } - return check.error(); + return responseBuilder.error(apiError); } @@ -205,22 +198,20 @@ public class TopicResource extends BaseLoggingClass { @ApiResponse( code = 400, message = "Error", response = ApiError.class ) }) @Path("/{topicId}") - public Response getTopic( - @PathParam("topicId") String id - ) { + public Response getTopic(@PathParam("topicId") String id) { logger.info("Entry: /GET " + id); - ApiService check = new ApiService(); + ApiError apiError = new ApiError(); try { - check.required( "topicName", id, "^\\S+$" ); //no white space allowed in topicName + checker.required( "topicName", id, "^\\S+$" ); //no white space allowed in topicName } catch( RequiredFieldException rfe ) { - logger.error("Error", rfe); - return check.error(); + logger.error("Error", rfe.getApiError()); + return responseBuilder.error(rfe.getApiError()); } - Topic mrc = mr_topicService.getTopic( id, check.getErr() ); + Topic mrc = mr_topicService.getTopic(id, apiError); if ( mrc == null ) { - return check.error(); + return responseBuilder.error(apiError); } - return check.success(mrc); + return responseBuilder.success(mrc); } }