From 8eca98dee99454fd91d218f39555bbca13f19efe Mon Sep 17 00:00:00 2001
From: Jeff Burke <Jeff.Burke@nrc-cnrc.gc.ca>
Date: Thu, 12 Mar 2015 12:16:36 -0700
Subject: [PATCH] s1738: add get and update support to gmslcient, bug fix in
 GroupsActionFactory to not allow a -1 port in an url, added unit and int test

---
 .../ac/server/web/GroupsActionFactory.java    | 25 ++++++++++++-------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/GroupsActionFactory.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/GroupsActionFactory.java
index 83ecc9d1..9263dde6 100755
--- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/GroupsActionFactory.java
+++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/web/GroupsActionFactory.java
@@ -137,15 +137,22 @@ public class GroupsActionFactory
             }
             else if (method.equals("POST"))
             {
-                final URL requestURL =
-                        new URL(request.getRequestURL().toString());
-                final String redirectURI = requestURL.getProtocol() + "://"
-                                           + requestURL.getHost() + ":"
-                                           + requestURL.getPort()
-                                           + request.getContextPath()
-                                           + request.getServletPath()
-                                           + "/" + path;
-                action = new ModifyGroupAction(logInfo, groupName, redirectURI,
+                final URL requestURL = new URL(request.getRequestURL().toString());
+                final StringBuilder sb = new StringBuilder();
+                sb.append(requestURL.getProtocol());
+                sb.append("://");
+                sb.append(requestURL.getHost());
+                if (requestURL.getPort() > 0)
+                {
+                    sb.append(":");
+                    sb.append(requestURL.getPort());
+                }
+                sb.append(request.getContextPath());
+                sb.append(request.getServletPath());
+                sb.append("/");
+                sb.append(path);
+
+                action = new ModifyGroupAction(logInfo, groupName, sb.toString(),
                                                request.getInputStream());
             }
         }
-- 
GitLab