From 83144b0c216de01e5affca371784b3f4bb335e5a Mon Sep 17 00:00:00 2001
From: Brian Major <brian.major@nrc-cnrc.gc.ca>
Date: Tue, 18 Nov 2014 10:34:30 -0800
Subject: [PATCH] nep110 - restored following redirect on group update

---
 .../src/ca/nrc/cadc/ac/client/GMSClient.java  | 21 ++++++++++++++-----
 1 file changed, 16 insertions(+), 5 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 7609ee73..cb0ec4f6 100755
--- a/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
+++ b/projects/cadcAccessControl/src/ca/nrc/cadc/ac/client/GMSClient.java
@@ -375,7 +375,7 @@ public class GMSClient
      * @throws AccessControlException If unauthorized to perform this operation.
      * @throws java.io.IOException
      */
-    public void updateGroup(Group group)
+    public Group updateGroup(Group group)
         throws IllegalArgumentException, GroupNotFoundException, UserNotFoundException,
                AccessControlException, IOException
     {
@@ -388,13 +388,12 @@ public class GMSClient
         StringBuilder groupXML = new StringBuilder();
         GroupWriter.write(group, groupXML);
         log.debug("updateGroup: " + groupXML);
-
+        
         HttpPost transfer = new HttpPost(updateGroupURL, groupXML.toString(), 
-                                         "application/xml", false);
-
+                                         "application/xml", true);
         transfer.setSSLSocketFactory(getSSLSocketFactory());
         transfer.run();
-
+        
         Throwable error = transfer.getThrowable();
         if (error != null)
         {
@@ -418,6 +417,18 @@ public class GMSClient
             }
             throw new IOException(error);
         }
+        
+        try
+        {
+            String retXML = transfer.getResponseBody();
+            log.debug("getGroup returned: " + retXML);
+            return GroupReader.read(retXML);
+        }
+        catch (Exception bug)
+        {
+            log.error("Unexpected exception", bug);
+            throw new RuntimeException(bug);
+        }
     }
 
     /**
-- 
GitLab