Program: 135677
Project: 135677
Buggy source:
/** 
 * Delete a grant.
 * @param info passed from Jersey
 * @param domainId the domain for the grant
 * @param userId the user for the grant
 * @param roleId the role for the grant
 * @return A response stating success or failure of the grant deletion.
 */
@DELETE @Path("String_Node_Str") public Response deleteGrant(@Context UriInfo info,@PathParam("String_Node_Str") String domainId,@PathParam("String_Node_Str") String userId,@PathParam("String_Node_Str") String roleId){
  Domain domain=null;
  User user;
  Role role;
  try {
    domain=iidMStore.readDomain(domainId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (domain == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + domainId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    user=iidMStore.readUser(userId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (user == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + userId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    role=iidMStore.readRole(roleId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (role == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + roleId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    Grant existingGrant=iidMStore.readGrant(domainId,userId,roleId);
    if (existingGrant == null) {
      IDMError idmerror=new IDMError();
      idmerror.setMessage("String_Node_Str" + domainId + "String_Node_Str"+ userId+ "String_Node_Str"+ roleId);
      return Response.status(404).entity(idmerror).build();
    }
    existingGrant=iidMStore.deleteGrant(existingGrant.getGrantid());
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  IdmLightProxy.clearClaimCache();
  return Response.status(204).build();
}

Fixed version (ground truth):
/** 
 * Delete a grant.
 * @param info passed from Jersey
 * @param domainId the domain for the grant
 * @param userId the user for the grant
 * @param roleId the role for the grant
 * @return A response stating success or failure of the grant deletion.
 */
@DELETE @Path("String_Node_Str") public Response deleteGrant(@Context UriInfo info,@PathParam("String_Node_Str") String domainId,@PathParam("String_Node_Str") String userId,@PathParam("String_Node_Str") String roleId){
  Domain domain=null;
  User user;
  Role role;
  try {
    domain=iidMStore.readDomain(domainId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (domain == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + domainId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    user=iidMStore.readUser(userId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (user == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + userId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    role=iidMStore.readRole(roleId);
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  if (role == null) {
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str" + roleId);
    return Response.status(404).entity(idmerror).build();
  }
  try {
    Grant existingGrant=iidMStore.readGrant(domainId,userId,roleId);
    if (existingGrant == null) {
      IDMError idmerror=new IDMError();
      idmerror.setMessage("String_Node_Str" + domainId + "String_Node_Str"+ userId+ "String_Node_Str"+ roleId);
      return Response.status(404).entity(idmerror).build();
    }
    iidMStore.deleteGrant(existingGrant.getGrantid());
  }
 catch (  IDMStoreException e) {
    LOG.error("String_Node_Str",e);
    IDMError idmerror=new IDMError();
    idmerror.setMessage("String_Node_Str");
    idmerror.setDetails(e.getMessage());
    return Response.status(500).entity(idmerror).build();
  }
  IdmLightProxy.clearClaimCache();
  return Response.status(204).build();
}