From d89a7a2c6aa96bb7cdd2f0968c9f0648155ed299 Mon Sep 17 00:00:00 2001
From: Brian Major <brian.major@nrc-cnrc.gc.ca>
Date: Thu, 16 Oct 2014 13:46:58 -0700
Subject: [PATCH] nep110 - Added UserNotFoundException to GMSClient update
 group method

---
 .../src/ca/nrc/cadc/ac/client/GMSClient.java              | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

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 dd8fd155..6f1489c9 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);
         }
-- 
GitLab