diff --git a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java index dd8fd155b868544380a28fa760abf88ddbb73199..6f1489c9f4999d2fcef6409d95c563622c3d18dc 100755 --- a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java +++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java @@ -301,11 +301,12 @@ public class GMSClient * @return The group after update. * @throws IllegalArgumentException If cyclical membership is detected. * @throws GroupNotFoundException If the group was not found. + * @throws GroupNotFoundException If a member was not found. * @throws AccessControlException If unauthorized to perform this operation. * @throws java.io.IOException */ public Group updateGroup(Group group) - throws IllegalArgumentException, GroupNotFoundException, + throws IllegalArgumentException, GroupNotFoundException, UserNotFoundException, AccessControlException, IOException { URL updateGroupURL = new URL(this.baseURL + "/groups/" + group.getID()); @@ -345,7 +346,10 @@ public class GMSClient } if (transfer.getResponseCode() == 404) { - throw new GroupNotFoundException(error.getMessage()); + if (error.getMessage() != null && error.getMessage().toLowerCase().contains("user")) + throw new UserNotFoundException(error.getMessage()); + else + throw new GroupNotFoundException(error.getMessage()); } throw new IOException(error); }