From c67b5fa63d10876b74de99c2b802cfd4381929c0 Mon Sep 17 00:00:00 2001
From: Brian Major <major.brian@gmail.com>
Date: Wed, 25 May 2016 14:14:50 -0700
Subject: [PATCH] s1932 - Use LocalAuthority lookup before service lookup

---
 .../ca/nrc/cadc/auth/ACIdentityManager.java   | 22 +++++++++----------
 .../ca/nrc/cadc/auth/AuthenticatorImpl.java   | 14 +++---------
 2 files changed, 13 insertions(+), 23 deletions(-)

diff --git a/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/ACIdentityManager.java b/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/ACIdentityManager.java
index b26ebbd4..a56987d7 100644
--- a/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/ACIdentityManager.java
+++ b/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/ACIdentityManager.java
@@ -3,7 +3,6 @@ package ca.nrc.cadc.auth;
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.security.Principal;
 import java.security.PrivilegedActionException;
@@ -18,13 +17,10 @@ import javax.security.auth.x500.X500Principal;
 
 import org.apache.log4j.Logger;
 
-import ca.nrc.cadc.ac.AC;
 import ca.nrc.cadc.ac.User;
 import ca.nrc.cadc.ac.client.UserClient;
-import ca.nrc.cadc.auth.IdentityManager;
-import ca.nrc.cadc.auth.NumericPrincipal;
-import ca.nrc.cadc.auth.SSLUtil;
 import ca.nrc.cadc.profiler.Profiler;
+import ca.nrc.cadc.reg.client.LocalAuthority;
 import ca.nrc.cadc.reg.client.RegistryClient;
 import ca.nrc.cadc.vosi.avail.CheckResource;
 import ca.nrc.cadc.vosi.avail.CheckWebService;
@@ -112,7 +108,10 @@ public class ACIdentityManager implements IdentityManager
             @Override
             public NumericPrincipal run() throws Exception
             {
-                UserClient userClient = new UserClient(new URI(AC.UMS_SERVICE_URI));
+                LocalAuthority localAuth = new LocalAuthority();
+                URI serviceURI = localAuth.getServiceURI("ums");
+
+                UserClient userClient = new UserClient(serviceURI);
                 User newUser = userClient.createUser(x500Principal);
 
                 Set<NumericPrincipal> set = newUser.getIdentities(NumericPrincipal.class);
@@ -205,7 +204,9 @@ public class ACIdentityManager implements IdentityManager
             {
                 public Object run() throws Exception
                 {
-                    URI serviceURI = new URI(AC.UMS_SERVICE_URI);
+                    LocalAuthority localAuth = new LocalAuthority();
+                    URI serviceURI = localAuth.getServiceURI("ums");
+
                     UserClient userClient = new UserClient(serviceURI);
                     userClient.augmentSubject(subject);
                     return null;
@@ -233,7 +234,8 @@ public class ACIdentityManager implements IdentityManager
         try
         {
             RegistryClient regClient = new RegistryClient();
-            URI serviceURI = new URI(AC.GMS_SERVICE_URI);
+            LocalAuthority localAuth = new LocalAuthority();
+            URI serviceURI = localAuth.getServiceURI("gms");
             URL availURL = regClient.getServiceURL(serviceURI, "http", "/availability");
             return new CheckWebService(availURL.toExternalForm());
         }
@@ -241,9 +243,5 @@ public class ACIdentityManager implements IdentityManager
         {
             throw new RuntimeException(e);
         }
-        catch (URISyntaxException e)
-        {
-            throw new RuntimeException(e);
-        }
     }
 }
diff --git a/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/AuthenticatorImpl.java b/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/AuthenticatorImpl.java
index a4c588b5..af6b5a15 100644
--- a/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/AuthenticatorImpl.java
+++ b/cadcAccessControl-Identity/src/ca/nrc/cadc/auth/AuthenticatorImpl.java
@@ -2,7 +2,6 @@ package ca.nrc.cadc.auth;
 
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 
 import javax.security.auth.Subject;
@@ -10,12 +9,8 @@ import javax.security.auth.x500.X500Principal;
 
 import org.apache.log4j.Logger;
 
-import ca.nrc.cadc.ac.AC;
-import ca.nrc.cadc.auth.AuthMethod;
-import ca.nrc.cadc.auth.AuthenticationUtil;
-import ca.nrc.cadc.auth.Authenticator;
-import ca.nrc.cadc.auth.HttpPrincipal;
 import ca.nrc.cadc.profiler.Profiler;
+import ca.nrc.cadc.reg.client.LocalAuthority;
 import ca.nrc.cadc.reg.client.RegistryClient;
 import ca.nrc.cadc.vosi.avail.CheckResource;
 import ca.nrc.cadc.vosi.avail.CheckWebService;
@@ -77,7 +72,8 @@ public class AuthenticatorImpl implements Authenticator
         try
         {
             RegistryClient regClient = new RegistryClient();
-            URI serviceURI = new URI(AC.GMS_SERVICE_URI);
+            LocalAuthority localAuth = new LocalAuthority();
+            URI serviceURI = localAuth.getServiceURI("gms");
             URL availURL = regClient.getServiceURL(serviceURI, "http", "/availability");
             return new CheckWebService(availURL.toExternalForm());
         }
@@ -85,9 +81,5 @@ public class AuthenticatorImpl implements Authenticator
         {
             throw new RuntimeException(e);
         }
-        catch (URISyntaxException e)
-        {
-            throw new RuntimeException(e);
-        }
     }
 }
-- 
GitLab