Program: 102550
Project: 102550
Buggy source:
/** 
 * Delete an existing activity by its Id using the DELETE method. The deleted activity information will be returned in the JSON format.
 * @param uriInfo the uri request uri
 * @param portalContainerName The associated portal container name.
 * @param activityId The specified activity ID.
 * @param format The expected returned format.
 * @anchor SOCref.DevelopersReferences.RestService_APIs_v1alpha3.ActivityResource.Activity.Delete
 * @authentication
 * @request {code} DELETE: http://cloud-workspaces.com/rest/private/api/social/v1-alpha3/portal/activity/1a2b3c4d5e6f7g8h9i.json {code}
 * @response {code:json} { "id": "1a2b3c4d5e6f7g8h9j", "title": "Hello World!!!", "appId": "", "type": "exosocial:core", "postedTime": 123456789, //timestamp "createdAt": "Fri Jun 17 06:42:26 +0000 2011", //The Date follows ISO 8601 "priority": 0.5, //between 0.0 and 1.0, higher value => higher priority. "templateParams": {}, "titleId": "", "identityId": "123456789abcdefghi", //the identity id of the user who created this activity "liked": true, //is liked (favorites) by this authenticated identity "likedByIdentities": ["identityId1", "identityId2"], "posterIdentity": {}, //optional "comments": [{}, {}, {}], //optional "totalNumberOfComments": 1234, //if comments is required, the total number of comments "activityStream": { "type": "user", // or "space" "prettyId": "root", // or space_abcde "faviconURL": "http://demo3.exoplatform.org/favicons/exo-default.jpg", "title": "Activity Stream of Root Root", "permaLink": "http://cloud-workspaces.com/profile/root" } //optional } {code}
 * @return a response object
 */
@DELETE @Path("String_Node_Str") @Produces(MediaType.APPLICATION_JSON) public Response deleteExistingActivityById(@Context UriInfo uriInfo,@PathParam("String_Node_Str") String portalContainerName,@PathParam("String_Node_Str") String activityId,@PathParam("String_Node_Str") String format){
  RestChecker.checkAuthenticatedRequest();
  PortalContainer portalContainer=RestChecker.checkValidPortalContainerName(portalContainerName);
  MediaType mediaType=RestChecker.checkSupportedFormat(format,SUPPORTED_FORMAT);
  Identity authenticatedUserIdentity=Util.getAuthenticatedUserIdentity(portalContainerName);
  ActivityManager activityManager=Util.getActivityManager(portalContainerName);
  ExoSocialActivity existingActivity=null;
  try {
    existingActivity=activityManager.getActivity(activityId);
  }
 catch (  UndeclaredThrowableException undeclaredThrowableException) {
    if (undeclaredThrowableException.getCause() instanceof ActivityStorageException) {
      throw new WebApplicationException(Response.Status.NOT_FOUND);
    }
 else {
      throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR);
    }
  }
  if (!SecurityManager.canDeleteActivity(portalContainer,authenticatedUserIdentity,existingActivity)) {
    throw new WebApplicationException(Response.Status.FORBIDDEN);
  }
  activityManager.deleteActivity(existingActivity);
  HashMap<String,String> resultJson=new HashMap<String,String>();
  resultJson.put("String_Node_Str",existingActivity.getId());
  return Util.getResponse(resultJson,uriInfo,mediaType,Response.Status.OK);
}

Fixed version (ground truth):
/** 
 * Delete an existing activity by its Id using the DELETE method. The deleted activity information will be returned in the JSON format.
 * @param uriInfo the uri request uri
 * @param portalContainerName The associated portal container name.
 * @param activityId The specified activity Id.
 * @param format The expected returned format.
 * @anchor SOCref.DevelopersReferences.RestService_APIs_v1alpha3.ActivityResource.Activity.Delete
 * @authentication
 * @request {code} DELETE: http://cloud-workspaces.com/rest/private/api/social/v1-alpha3/portal/activity/1a2b3c4d5e6f7g8h9i.json {code}
 * @response {code:json} { "id": "1a2b3c4d5e6f7g8h9j", "title": "Hello World!!!", "appId": "", "type": "exosocial:core", "postedTime": 123456789, //timestamp "createdAt": "Fri Jun 17 06:42:26 +0000 2011", //The Date follows ISO 8601 "priority": 0.5, //between 0.0 and 1.0, higher value => higher priority. "templateParams": {}, "titleId": "", "identityId": "123456789abcdefghi", //the identity id of the user who created this activity "liked": true, //is liked (favorites) by this authenticated identity "likedByIdentities": ["identityId1", "identityId2"], "posterIdentity": {}, //optional "comments": [{}, {}, {}], //optional "totalNumberOfComments": 1234, //if comments is required, the total number of comments "activityStream": { "type": "user", // or "space" "prettyId": "root", // or space_abcde "faviconURL": "http://demo3.exoplatform.org/favicons/exo-default.jpg", "title": "Activity Stream of Root Root", "permaLink": "http://cloud-workspaces.com/profile/root" } //optional } {code}
 * @return a response object
 */
@DELETE @Path("String_Node_Str") @Produces(MediaType.APPLICATION_JSON) public Response deleteExistingActivityById(@Context UriInfo uriInfo,@PathParam("String_Node_Str") String portalContainerName,@PathParam("String_Node_Str") String activityId,@PathParam("String_Node_Str") String format){
  RestChecker.checkAuthenticatedRequest();
  PortalContainer portalContainer=RestChecker.checkValidPortalContainerName(portalContainerName);
  MediaType mediaType=RestChecker.checkSupportedFormat(format,SUPPORTED_FORMAT);
  Identity authenticatedUserIdentity=Util.getAuthenticatedUserIdentity(portalContainerName);
  ActivityManager activityManager=Util.getActivityManager(portalContainerName);
  ExoSocialActivity existingActivity=null;
  try {
    existingActivity=activityManager.getActivity(activityId);
  }
 catch (  UndeclaredThrowableException undeclaredThrowableException) {
    if (undeclaredThrowableException.getCause() instanceof ActivityStorageException) {
      throw new WebApplicationException(Response.Status.NOT_FOUND);
    }
 else {
      throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR);
    }
  }
  if (!SecurityManager.canDeleteActivity(portalContainer,authenticatedUserIdentity,existingActivity)) {
    throw new WebApplicationException(Response.Status.FORBIDDEN);
  }
  activityManager.deleteActivity(existingActivity);
  HashMap<String,String> resultJson=new HashMap<String,String>();
  resultJson.put("String_Node_Str",existingActivity.getId());
  return Util.getResponse(resultJson,uriInfo,mediaType,Response.Status.OK);
}