aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java')
-rw-r--r--src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java178
1 files changed, 85 insertions, 93 deletions
diff --git a/src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java b/src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java
index a7b8f37..d7173b8 100644
--- a/src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java
+++ b/src/main/java/org/openecomp/dmaapbc/resources/MR_ClusterResource.java
@@ -20,176 +20,168 @@
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.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.MR_Cluster;
import org.openecomp.dmaapbc.service.ApiService;
+import org.openecomp.dmaapbc.service.MR_ClientService;
import org.openecomp.dmaapbc.service.MR_ClusterService;
@Path("/mr_clusters")
+@Api( value= "MR_Clusters", description = "Endpoint for a Message Router servers in a Cluster configuration" )
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
-public class MR_ClusterResource {
- static final Logger logger = Logger.getLogger(MR_ClusterResource.class);
+@Authorization
+public class MR_ClusterResource extends BaseLoggingClass {
MR_ClusterService mr_clusterService = new MR_ClusterService();
+ MR_ClientService mr_clients = new MR_ClientService();
@GET
- public List<MR_Cluster> getMr_Clusters(@Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
+ @ApiOperation( value = "return MR_Cluster details",
+ notes = "Returns array of `MR_Cluster` objects.",
+ response = MR_Cluster.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
+ public Response getMr_Clusters() {
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();
- }
- return mr_clusterService.getAllMr_Clusters();
+
+ List<MR_Cluster> clusters = mr_clusterService.getAllMr_Clusters();
+
+ GenericEntity<List<MR_Cluster>> list = new GenericEntity<List<MR_Cluster>>(clusters) {
+ };
+ return resp.success(list);
}
@POST
- public Response addMr_Cluster( MR_Cluster cluster,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
- logger.info("Entry: /POST" );
+ @ApiOperation( value = "return MR_Cluster details",
+ notes = "Create an `MR_Cluster` object.",
+ response = MR_Cluster.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
+ public Response addMr_Cluster(
+ MR_Cluster cluster
+ ) {
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( "dcaeLocationName", cluster.getDcaeLocationName(), "" );
resp.required( "fqdn", cluster.getFqdn(), "" );
} catch( RequiredFieldException rfe ) {
- return Response.status(resp.getErr().getCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
MR_Cluster mrc = mr_clusterService.addMr_Cluster(cluster, resp.getErr() );
if ( mrc != null && mrc.isStatusValid() ) {
- return Response.status(Status.CREATED)
- .entity(mrc)
- .build();
+ return resp.success(Status.CREATED.getStatusCode(), mrc);
}
- return Response.status(resp.getErr().getCode())
- .entity(resp.getErr())
- .build();
+ return resp.error();
}
@PUT
+ @ApiOperation( value = "return MR_Cluster details",
+ notes = "Update an `MR_Cluster` object, specified by clusterId.",
+ response = MR_Cluster.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{clusterId}")
- public Response updateMr_Cluster( @PathParam("clusterId") String clusterId, MR_Cluster cluster,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
+ public Response updateMr_Cluster(
+ @PathParam("clusterId") String clusterId,
+ MR_Cluster cluster
+ ) {
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( "fqdn", clusterId, "" );
resp.required( "dcaeLocationName", cluster.getDcaeLocationName(), "" );
} catch( RequiredFieldException rfe ) {
- return Response.status(resp.getErr().getCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
cluster.setDcaeLocationName(clusterId);
MR_Cluster mrc = mr_clusterService.updateMr_Cluster(cluster, resp.getErr() );
if ( mrc != null && mrc.isStatusValid() ) {
- return Response.status(Status.CREATED)
- .entity(mrc)
- .build();
+ return resp.success(Status.CREATED.getStatusCode(), mrc);
}
- return Response.status(resp.getErr().getCode())
- .entity(resp.getErr())
- .build();
+ return resp.error();
}
@DELETE
+ @ApiOperation( value = "return MR_Cluster details",
+ notes = "Delete an `MR_Cluster` object, specified by clusterId.",
+ response = MR_Cluster.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 204, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{clusterId}")
- public Response deleteMr_Cluster( @PathParam("clusterId") String id,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth){
+ public Response deleteMr_Cluster(
+ @PathParam("clusterId") 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( "fqdn", id, "" );
} catch( RequiredFieldException rfe ) {
- return Response.status(resp.getErr().getCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
mr_clusterService.removeMr_Cluster(id, resp.getErr() );
if ( resp.getErr().is2xx()) {
- return Response.status(Status.NO_CONTENT.getStatusCode())
- .build();
+ return resp.success(Status.NO_CONTENT.getStatusCode(), null);
}
- return Response.status(resp.getErr().getCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
@GET
+ @ApiOperation( value = "return MR_Cluster details",
+ notes = "Retrieve an `MR_Cluster` object, specified by clusterId.",
+ response = MR_Cluster.class)
+ @ApiResponses( value = {
+ @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+ @ApiResponse( code = 400, message = "Error", response = ApiError.class )
+ })
@Path("/{clusterId}")
- public Response getMR_Cluster( @PathParam("clusterId") String id,
- @Context UriInfo uriInfo, @HeaderParam("Authorization") String basicAuth) {
+ public Response getMR_Cluster(
+ @PathParam("clusterId") 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( "dcaeLocationName", id, "" );
} catch( RequiredFieldException rfe ) {
- return Response.status(resp.getErr().getCode())
- .entity( resp.getErr() )
- .build();
+ return resp.error();
}
MR_Cluster mrc = mr_clusterService.getMr_Cluster( id, resp.getErr() );
if ( mrc != null && mrc.isStatusValid() ) {
- return Response.status(Status.CREATED)
- .entity(mrc)
- .build();
+ return resp.success(Status.CREATED.getStatusCode(), mrc);
}
- return Response.status(resp.getErr().getCode())
- .entity(resp.getErr())
- .build();
+ return resp.error();
}
}