import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
import org.onap.dmaap.dbcapi.logging.BaseLoggingClass;
import org.onap.dmaap.dbcapi.model.ApiError;
import org.onap.dmaap.dbcapi.model.DR_Node;
-import org.onap.dmaap.dbcapi.service.ApiService;
import org.onap.dmaap.dbcapi.service.DR_NodeService;
+import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
+import static javax.ws.rs.core.Response.Status.NO_CONTENT;
+
@Path("/dr_nodes")
@Api( value= "dr_nodes", description = "Endpoint for a Data Router Node server" )
@Consumes(MediaType.APPLICATION_JSON)
@Authorization
public class DR_NodeResource extends BaseLoggingClass {
- DR_NodeService dr_nodeService = new DR_NodeService();
+ private DR_NodeService dr_nodeService = new DR_NodeService();
+ private ResponseBuilder responseBuilder = new ResponseBuilder();
+ private RequiredChecker checker = new RequiredChecker();
@GET
@ApiOperation( value = "return DR_Node details",
@ApiResponse( code = 400, message = "Error", response = ApiError.class )
})
public Response getDr_Nodes() {
- ApiService resp = new ApiService();
-
List<DR_Node> nodes = dr_nodeService.getAllDr_Nodes();
GenericEntity<List<DR_Node>> list = new GenericEntity<List<DR_Node>>(nodes) {
};
- return resp.success(list);
+ return responseBuilder.success(list);
}
@POST
@ApiResponse( code = 200, message = "Success", response = DR_Node.class),
@ApiResponse( code = 400, message = "Error", response = ApiError.class )
})
- public Response addDr_Node(
- DR_Node node
- ) {
- ApiService resp = new ApiService();
+ public Response addDr_Node(DR_Node node) {
+
+ ApiError apiError = new ApiError();
try {
- resp.required( "dcaeLocation", node.getDcaeLocationName(), "");
- resp.required( "fqdn", node.getFqdn(), "");
+ checker.required( "dcaeLocation", node.getDcaeLocationName());
+ checker.required( "fqdn", node.getFqdn());
} catch ( RequiredFieldException rfe ) {
- resp.setCode(Status.BAD_REQUEST.getStatusCode());
- resp.setMessage("missing required field");
- resp.setFields("dcaeLocation, fqdn");
-
- return resp.error();
+ return responseBuilder.error(new ApiError(BAD_REQUEST.getStatusCode(),
+ "missing required field", "dcaeLocation, fqdn"));
}
- DR_Node nNode = dr_nodeService.addDr_Node(node, resp.getErr());
- if ( resp.getErr().is2xx()) {
- return resp.success(nNode);
+ DR_Node nNode = dr_nodeService.addDr_Node(node, apiError);
+ if (apiError.is2xx()) {
+ return responseBuilder.success(nNode);
}
- return resp.error();
+ return responseBuilder.error(apiError);
}
@PUT
@ApiResponse( code = 400, message = "Error", response = ApiError.class )
})
@Path("/{fqdn}")
- public Response updateDr_Node(
- @PathParam("fqdn") String name,
- DR_Node node
- ) {
- ApiService resp = new ApiService();
+ public Response updateDr_Node(@PathParam("fqdn") String name, DR_Node node) {
+
+ ApiError apiError = new ApiError();
try {
- resp.required( "dcaeLocation", name, "");
- resp.required( "fqdn", node.getFqdn(), "");
+ checker.required( "dcaeLocation", node.getDcaeLocationName());
+ checker.required( "fqdn", node.getFqdn());
} catch ( RequiredFieldException rfe ) {
- return resp.error();
+ return responseBuilder.error(new ApiError(BAD_REQUEST.getStatusCode(),
+ "missing required field", "dcaeLocation, fqdn"));
}
node.setFqdn(name);
- DR_Node nNode = dr_nodeService.updateDr_Node(node, resp.getErr());
- if ( resp.getErr().is2xx()) {
- return resp.success(nNode);
+ DR_Node nNode = dr_nodeService.updateDr_Node(node, apiError);
+ if (apiError.is2xx()) {
+ return responseBuilder.success(nNode);
}
- return resp.error();
+ return responseBuilder.error(apiError);
}
@DELETE
})
@Path("/{fqdn}")
public Response deleteDr_Node(
- @PathParam("fqdn") String name
- ){
+ @PathParam("fqdn") String name){
- ApiService resp = new ApiService();
- try {
- resp.required( "fqdn", name, "");
- } catch ( RequiredFieldException rfe ) {
- logger.debug( resp.toString() );
- return resp.error();
- }
- dr_nodeService.removeDr_Node(name, resp.getErr());
- if ( resp.getErr().is2xx() ) {
- return resp.success(Status.NO_CONTENT.getStatusCode(), null);
+ ApiError apiError = new ApiError();
+
+ dr_nodeService.removeDr_Node(name, apiError);
+ if (apiError.is2xx()) {
+ return responseBuilder.success(NO_CONTENT.getStatusCode(), null);
}
- return resp.error();
+ return responseBuilder.error(apiError);
}
@GET
@ApiResponse( code = 400, message = "Error", response = ApiError.class )
})
@Path("/{fqdn}")
- public Response get(
- @PathParam("fqdn") String name
- ) {
- ApiService resp = new ApiService();
-
- DR_Node nNode = dr_nodeService.getDr_Node( name, resp.getErr() );
- if ( resp.getErr().is2xx() ) {
- return resp.success(nNode);
+ public Response get(@PathParam("fqdn") String name) {
+
+ ApiError apiError = new ApiError();
+
+ DR_Node nNode = dr_nodeService.getDr_Node( name, apiError );
+ if (apiError.is2xx()) {
+ return responseBuilder.success(nNode);
}
- return resp.error();
+ return responseBuilder.error(apiError);
}
}