aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java')
-rw-r--r--src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java212
1 files changed, 93 insertions, 119 deletions
diff --git a/src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java b/src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java
index e0b42ce..b1eb7a3 100644
--- a/src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java
+++ b/src/main/java/org/openecomp/dmaapbc/resources/DR_SubResource.java
@@ -20,43 +20,30 @@
package org.openecomp.dmaapbc.resources;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
import java.util.ArrayList;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
+import javax.ws.rs.core.GenericEntity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
import javax.ws.rs.core.Response.Status;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-import org.apache.log4j.Logger;
-import org.openecomp.dmaapbc.authentication.AuthenticationErrorException;
+import org.openecomp.dmaapbc.logging.BaseLoggingClass;
+import org.openecomp.dmaapbc.model.ApiError;
+import org.openecomp.dmaapbc.model.DR_Pub;
import org.openecomp.dmaapbc.model.DR_Sub;
import org.openecomp.dmaapbc.model.Feed;
import org.openecomp.dmaapbc.service.ApiService;
@@ -65,41 +52,45 @@ import org.openecomp.dmaapbc.service.FeedService;
@Path("/dr_subs")
+@Api( value= "dr_subs", description = "Endpoint for a Data Router client that implements a Subscriber" )
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
-public class DR_SubResource extends ApiResource {
- static final Logger logger = Logger.getLogger(DR_SubResource.class);
-
+@Authorization
+public class DR_SubResource extends BaseLoggingClass {
@GET
- public List<DR_Sub> getDr_Subs(@Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
- logger.info( "Entry: GET /dr_subs");
+ @ApiOperation( value = "return DR_Sub details",
+ notes = "Returns array of `DR_Sub` objects. Add filter for feedId.",
+ response = DR_Sub.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
+ public Response getDr_Subs() {
+
ApiService resp = new ApiService();
- try {
- resp.checkAuthorization( basicAuth, uriInfo.getPath(), "GET");
- } catch ( AuthenticationErrorException ae ) {
- return null; //resp.unauthorized();
- } catch ( Exception e ) {
- logger.error( "Unexpected exception " + e );
- return null; //resp.unavailable();
- }
+
DR_SubService dr_subService = new DR_SubService();
- return dr_subService.getAllDr_Subs();
+ List<DR_Sub> subs = dr_subService.getAllDr_Subs();
+
+ GenericEntity<List<DR_Sub>> list = new GenericEntity<List<DR_Sub>>(subs) {
+ };
+ return resp.success(list);
}
@POST
- public Response addDr_Sub( DR_Sub sub,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
- logger.info( "Entry: POST /dr_subs");
+ @ApiOperation( value = "return DR_Sub details",
+ notes = "Create a `DR_Sub` object. ",
+ response = DR_Sub.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
+ public Response addDr_Sub(
+ DR_Sub sub
+ ) {
+
ApiService resp = new ApiService();
- try {
- resp.checkAuthorization( basicAuth, uriInfo.getPath(), "POST");
- } catch ( AuthenticationErrorException ae ) {
- return resp.unauthorized();
- } catch ( Exception e ) {
- logger.error( "Unexpected exception " + e );
- return resp.unavailable();
- }
try {
resp.required( "feedId", sub.getFeedId(), "");
@@ -107,18 +98,15 @@ public class DR_SubResource extends ApiResource {
} catch ( RequiredFieldException rfe ) {
logger.debug( resp.toString() );
- return Response.status(Status.BAD_REQUEST)
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
FeedService feeds = new FeedService();
Feed fnew = feeds.getFeed( sub.getFeedId(), resp.getErr() );
if ( fnew == null ) {
logger.warn( "Specified feed " + sub.getFeedId() + " not known to Bus Controller");
- return Response.status( resp.getErr().getCode() )
- .entity( resp.getErr() )
- .build();
+ resp.setCode(Status.NOT_FOUND.getStatusCode());
+ return resp.error();
}
DR_SubService dr_subService = new DR_SubService( fnew.getSubscribeURL());
@@ -126,9 +114,7 @@ public class DR_SubResource extends ApiResource {
logger.info( "num existing subs before = " + subs.size() );
DR_Sub snew = dr_subService.addDr_Sub(sub, resp.getErr() );
if ( ! resp.getErr().is2xx() ) {
- return Response.status( resp.getErr().getCode() )
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
subs.add( snew );
logger.info( "num existing subs after = " + subs.size() );
@@ -137,26 +123,25 @@ public class DR_SubResource extends ApiResource {
logger.info( "update feed");
//feeds.updateFeed( fnew, err );
- return Response.status(Status.CREATED)
- .entity(snew)
- .build();
+ return resp.success(Status.CREATED.getStatusCode(), snew);
}
@PUT
+ @ApiOperation( value = "return DR_Sub details",
+ notes = "Update a `DR_Sub` object, selected by subId",
+ response = DR_Sub.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{subId}")
- public Response updateDr_Sub( @PathParam("subId") String name, DR_Sub sub,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
- logger.info( "Entry: PUT /dr_subs");
+ public Response updateDr_Sub(
+ @PathParam("subId") String name,
+ DR_Sub sub
+ ) {
+
ApiService resp = new ApiService();
- try {
- resp.checkAuthorization( basicAuth, uriInfo.getPathSegments().get(0).getPath(), "PUT");
- } catch ( AuthenticationErrorException ae ) {
- return resp.unauthorized();
- } catch ( Exception e ) {
- logger.error( "Unexpected exception " + e );
- return resp.unavailable();
- }
try {
resp.required( "subId", name, "");
@@ -165,89 +150,78 @@ public class DR_SubResource extends ApiResource {
} catch ( RequiredFieldException rfe ) {
logger.debug( resp.toString() );
- return Response.status(Status.BAD_REQUEST)
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
+ FeedService feeds = new FeedService();
+ Feed fnew = feeds.getFeed( sub.getFeedId(), resp.getErr() );
+ if ( fnew == null ) {
+ logger.warn( "Specified feed " + sub.getFeedId() + " not known to Bus Controller");
+ return resp.error();
+ }
+
DR_SubService dr_subService = new DR_SubService();
sub.setSubId(name);
DR_Sub nsub = dr_subService.updateDr_Sub(sub, resp.getErr() );
if ( nsub != null && nsub.isStatusValid() ) {
- return Response.status(Status.OK)
- .entity(nsub)
- .build();
+ return resp.success(nsub);
}
- return Response.status(resp.getErr().getCode())
- .entity(resp.getErr())
- .build();
+ return resp.error();
}
@DELETE
+ @ApiOperation( value = "return DR_Sub details",
+ notes = "Delete a `DR_Sub` object, selected by subId",
+ response = DR_Sub.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{subId}")
- public Response deleteDr_Sub( @PathParam("subId") String id,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth){
- logger.info( "Entry: DELETE /dr_subs");
+ public Response deleteDr_Sub(
+ @PathParam("subId") String id
+ ){
+
ApiService resp = new ApiService();
- try {
- resp.checkAuthorization( basicAuth, uriInfo.getPathSegments().get(0).getPath(), "DELETE");
- } catch ( AuthenticationErrorException ae ) {
- return resp.unauthorized();
- } catch ( Exception e ) {
- logger.error( "Unexpected exception " + e );
- return resp.unavailable();
- }
-
+
try {
resp.required( "subId", id, "");
} catch ( RequiredFieldException rfe ) {
logger.debug( resp.toString() );
- return Response.status(Status.BAD_REQUEST.getStatusCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
DR_SubService dr_subService = new DR_SubService();
dr_subService.removeDr_Sub(id, resp.getErr() );
if ( ! resp.getErr().is2xx() ) {
- return Response.status( resp.getErr().getCode() )
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
- return Response.status(Status.NO_CONTENT.getStatusCode())
- .build();
+ return resp.success(Status.NO_CONTENT.getStatusCode(), null );
}
@GET
+ @ApiOperation( value = "return DR_Sub details",
+ notes = "Retrieve a `DR_Sub` object, selected by subId",
+ response = DR_Sub.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{subId}")
- public Response get( @PathParam("subId") String id,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
- logger.info( "Entry: GET /dr_subs");
+ public Response get(
+ @PathParam("subId") String id
+ ) {
ApiService resp = new ApiService();
- try {
- resp.checkAuthorization( basicAuth, uriInfo.getPathSegments().get(0).getPath(), "GET");
- } catch ( AuthenticationErrorException ae ) {
- return resp.unauthorized();
- } catch ( Exception e ) {
- logger.error( "Unexpected exception " + e );
- return resp.unavailable();
- }
try {
resp.required( "subId", id, "");
} catch ( RequiredFieldException rfe ) {
logger.debug( resp.toString() );
- return Response.status(Status.BAD_REQUEST.getStatusCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
DR_SubService dr_subService = new DR_SubService();
DR_Sub sub = dr_subService.getDr_Sub( id, resp.getErr() );
if ( sub != null && sub.isStatusValid() ) {
- return Response.status(Status.OK.getStatusCode())
- .entity(sub)
- .build();
+ return resp.success(sub);
}
- return Response.status(resp.getErr().getCode())
- .entity(resp.getErr())
- .build();
+ return resp.error();
}
}