Fix testing results for Authn
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / aaf / v2_0 / AAFLocator.java
index e7e3ef3..00a4056 100644 (file)
@@ -52,12 +52,6 @@ public class AAFLocator extends AbsAAFLocator<BasicTrans>  {
 
        public AAFLocator(SecurityInfoC<HttpURLConnection> si, URI locatorURI) throws LocatorException {
                super(si.access, nameFromLocatorURI(locatorURI), 10000L /* Wait at least 10 seconds between refreshes */);
-               SecuritySetter<HttpURLConnection> ss;
-               try {
-                       ss=AAFConHttp.bestSS(si);
-               } catch (APIException | CadiException e1) {
-                       throw new LocatorException(e1);
-               }
                synchronized(sr) {
                        if(env==null) {
                                env = new RosettaEnv(access.getProperties());
@@ -67,33 +61,42 @@ public class AAFLocator extends AbsAAFLocator<BasicTrans>  {
                int connectTimeout = Integer.parseInt(si.access.getProperty(Config.AAF_CONN_TIMEOUT, Config.AAF_CONN_TIMEOUT_DEF));
                try {
                        String[] path = Split.split('/',locatorURI.getPath());
-                       if(path.length>2 && "locate".equals(path[1])) {
+                       String host = locatorURI.getHost();
+                       if(host==null) {
+                               host = locatorURI.getAuthority(); // this happens when no port
+                       }
+                       if("AAF_LOCATE_URL".equals(host)) {
+                               URI uri = new URI(
+                                               locatorURI.getScheme(),
+                                               locatorURI.getUserInfo(),
+                                               aaf_locator_uri.getHost(),
+                                               aaf_locator_uri.getPort(),
+                                               "/locate"+locatorURI.getPath(),
+                                               null,
+                                               null
+                                               );
+                               client = createClient(si.defSS, uri, connectTimeout);
+                       } else if(path.length>1 && "locate".equals(path[1])) {
                                StringBuilder sb = new StringBuilder();
                                for(int i=3;i<path.length;++i) {
                                        sb.append('/');
                                        sb.append(path[i]);
                                }
                                setPathInfo(sb.toString());
-                               String host = locatorURI.getHost();
-                               if(aaf_locator_host!=null && (host==null || "AAF_LOCATOR_URL".equals(host))) {
-                                       int slash = aaf_locator_host.lastIndexOf("//");
-                                       host = aaf_locator_host.substring(slash+2);
-                               }
                                URI uri = new URI(
                                                        locatorURI.getScheme(),
                                                        locatorURI.getUserInfo(),
-                                                       host,
+                                                       locatorURI.getHost(),
                                                        locatorURI.getPort(),
-                                                       "/locate/"+name + '/' + version,
+                                                       "/locate/"+name + ':' + version,
                                                        null,
                                                        null
                                                        );
-                               client = createClient(ss, uri, connectTimeout);
+                               client = createClient(si.defSS, uri, connectTimeout);
                        } else {
-                               client = new HClient(ss, locatorURI, connectTimeout);
+                               client = new HClient(si.defSS, locatorURI, connectTimeout);
                        }
                        epsDF = env.newDataFactory(Endpoints.class);
-                       refresh();
                } catch (APIException | URISyntaxException e) {
                        throw new LocatorException(e);
                }
@@ -106,7 +109,7 @@ public class AAFLocator extends AbsAAFLocator<BasicTrans>  {
                        client.send();
                        Future<Endpoints> fr = client.futureRead(epsDF, TYPE.JSON);
                        if(fr.get(client.timeout())) {
-                               List<EP> epl = new LinkedList<EP>();
+                               List<EP> epl = new LinkedList<>();
                                for(Endpoint endpoint : fr.value.getEndpoint()) {
                                        epl.add(new EP(endpoint,latitude,longitude));
                                }