Merge "Use a logger to log this exception-AafConnection"
[dmaap/dbcapi.git] / src / main / java / org / onap / dmaap / dbcapi / resources / MR_ClientResource.java
index 8f6a506..a621338 100644 (file)
@@ -42,7 +42,6 @@ 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_Pub;
 import org.onap.dmaap.dbcapi.model.MR_Client;
 import org.onap.dmaap.dbcapi.model.MR_Cluster;
 import org.onap.dmaap.dbcapi.model.Topic;
@@ -66,7 +65,7 @@ public class MR_ClientResource extends BaseLoggingClass {
        notes = "Returns array of  `MR_Client` objects.", 
        response = MR_Client.class)
        @ApiResponses( value = {
-           @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+           @ApiResponse( code = 200, message = "Success", response = MR_Client.class),
            @ApiResponse( code = 400, message = "Error", response = ApiError.class )
        })
        public Response getMr_Clients() {
@@ -80,11 +79,14 @@ public class MR_ClientResource extends BaseLoggingClass {
        }
                
        @POST
-       @ApiOperation( value = "return MR_Client details", 
-       notes = "Create a  `MR_Client` object.", 
+       @ApiOperation( value = "Associate an MR_Client object to a Topic", 
+       notes = "Create a  `MR_Client` object."
+                       + "The `dcaeLocation` attribute is used to match an `MR_Cluster` object with the same value, with the intent of localizing message traffic."
+                       + "  In legacy implementation, the `clientRole` is granted appropriate permission in AAF."
+                       + "  Newer implementions may instead specify an AAF Identity, which will be added to the appropriate `Topic` role.", 
        response = MR_Client.class)
        @ApiResponses( value = {
-           @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+           @ApiResponse( code = 200, message = "Success", response = MR_Client.class),
            @ApiResponse( code = 400, message = "Error", response = ApiError.class )
        })
        public Response addMr_Client( 
@@ -95,7 +97,11 @@ public class MR_ClientResource extends BaseLoggingClass {
                try {
                        resp.required( "fqtn", client.getFqtn(), "");
                        resp.required( "dcaeLocationName", client.getDcaeLocationName(), "");
-                       resp.required( "clientRole", client.getClientRole(), "" );
+                       String s = client.getClientRole();
+                       if ( s == null ) {
+                               s = client.getClientIdentity();
+                       }
+                       resp.required( "clientRole or clientIdentity", s, "" );
                        resp.required( "action", client.getAction(), "");
 
                } catch ( RequiredFieldException rfe ) {
@@ -140,11 +146,11 @@ public class MR_ClientResource extends BaseLoggingClass {
        }
                
        @PUT
-       @ApiOperation( value = "return MR_Client details", 
+       @ApiOperation( value = "Update an MR_Client object", 
        notes = "Update a  `MR_Client` object, specified by clientId", 
        response = MR_Client.class)
        @ApiResponses( value = {
-           @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+           @ApiResponse( code = 200, message = "Success", response = MR_Client.class),
            @ApiResponse( code = 400, message = "Error", response = ApiError.class )
        })
        @Path("/{clientId}")
@@ -176,11 +182,11 @@ public class MR_ClientResource extends BaseLoggingClass {
        }
                
        @DELETE
-       @ApiOperation( value = "return MR_Client details", 
+       @ApiOperation( value = "Delete an MR_Client object", 
        notes = "Delete a  `MR_Client` object, specified by clientId", 
        response = MR_Client.class)
        @ApiResponses( value = {
-           @ApiResponse( code = 204, message = "Success", response = DR_Pub.class),
+           @ApiResponse( code = 204, message = "Success", response = MR_Client.class),
            @ApiResponse( code = 400, message = "Error", response = ApiError.class )
        })
        @Path("/{subId}")
@@ -208,7 +214,7 @@ public class MR_ClientResource extends BaseLoggingClass {
        notes = "Retrieve a  `MR_Client` object, specified by clientId", 
        response = MR_Client.class)
        @ApiResponses( value = {
-           @ApiResponse( code = 200, message = "Success", response = DR_Pub.class),
+           @ApiResponse( code = 200, message = "Success", response = MR_Client.class),
            @ApiResponse( code = 400, message = "Error", response = ApiError.class )
        })
        @Path("/{subId}")