fix new openssl, data, etc
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / aaf / v2_0 / AbsAAFLocator.java
index c724646..14878d3 100644 (file)
@@ -23,6 +23,7 @@ package org.onap.aaf.cadi.aaf.v2_0;
 
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.UnknownHostException;
 import java.security.SecureRandom;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -32,10 +33,11 @@ import java.util.NoSuchElementException;
 
 import org.onap.aaf.cadi.Access;
 import org.onap.aaf.cadi.Access.Level;
+import org.onap.aaf.cadi.CadiException;
 import org.onap.aaf.cadi.Locator;
 import org.onap.aaf.cadi.LocatorException;
-import org.onap.aaf.cadi.aaf.Defaults;
 import org.onap.aaf.cadi.config.Config;
+import org.onap.aaf.cadi.config.RegistrationPropHolder;
 import org.onap.aaf.cadi.routing.GreatCircle;
 import org.onap.aaf.misc.env.Trans;
 import org.onap.aaf.misc.env.util.Split;
@@ -64,17 +66,23 @@ public abstract class AbsAAFLocator<TRANS extends Trans> implements Locator<URI>
 
 
     public AbsAAFLocator(Access access, String name, final long refreshMin) throws LocatorException {
-        aaf_locator_host = access.getProperty(Config.AAF_LOCATE_URL, null);
-        if (aaf_locator_host==null) {
-            aaf_locator_uri = null;
-        } else {
-            try {
-                aaf_locator_uri = new URI(aaf_locator_host);
-            } catch (URISyntaxException e) {
-                throw new LocatorException(e);
-            }
+       RegistrationPropHolder rph;
+               try {
+                       rph = new RegistrationPropHolder(access, 0);
+               } catch (UnknownHostException | CadiException e1) {
+                       throw new LocatorException(e1);
+               }
+        try {
+               aaf_locator_host = rph.replacements("https://"+Config.AAF_LOCATE_URL_TAG,null,null);
+            aaf_locator_uri = new URI(aaf_locator_host);
+            access.printf(Level.INFO, "AbsAAFLocator AAF URI is %s",aaf_locator_uri);
+        } catch (URISyntaxException e) {
+            throw new LocatorException(e);
         }
 
+        name = rph.replacements(name, null,null);
+        access.printf(Level.INFO, "AbsAAFLocator name is %s",aaf_locator_uri);
+
         epList = new LinkedList<>();
         refreshWait = refreshMin;
 
@@ -87,12 +95,8 @@ public abstract class AbsAAFLocator<TRANS extends Trans> implements Locator<URI>
             latitude = Double.parseDouble(lat);
             longitude = Double.parseDouble(lng);
         }
-        if (name.startsWith(Defaults.AAF_NS)) {
-            String root_ns = access.getProperty(Config.AAF_ROOT_NS, null);
-            if (root_ns!=null) {
-                name=name.replace(Defaults.AAF_NS, root_ns);
-            }
-        }
+
+
         if (name.startsWith("http")) { // simple URL
             this.name = name;
             this.version = access.getProperty(Config.AAF_API_VERSION,Config.AAF_DEFAULT_API_VERSION);
@@ -111,52 +115,7 @@ public abstract class AbsAAFLocator<TRANS extends Trans> implements Locator<URI>
     public static void setCreator(LocatorCreator lc) {
         locatorCreator = lc; 
     }
-    
-    /*public static Locator<URI> create(String key) throws LocatorException {
-        String name = null;
-        String version = Config.AAF_DEFAULT_API_VERSION;
-        String pathInfo = null;
-        int prev = key.indexOf("/locate");
-        if (prev>0) {
-            prev = key.indexOf('/',prev+6);
-            if (prev>0) {
-                int next = key.indexOf('/',++prev);
-                if (next>0) {
-                    name = key.substring(prev, next);
-                    pathInfo=key.substring(next);
-                } else {
-                    name = key.substring(prev);
-                }
-                String[] split = Split.split(':', name);
-                switch(split.length) {
-                    case 3:
-                    case 2:
-                        version = split[1];
-                        name = split[0];
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-
-        if (key.startsWith("http")) {
-            if (name!=null) {
-                if (locatorCreator != null) {
-                    AbsAAFLocator<?> aal = locatorCreator.create(name, version);
-                    if (pathInfo!=null) {
-                        aal.setPathInfo(pathInfo);
-                    }
-                    return aal;
-                }
-            } else {
-                return new PropertyLocator(key);
-            }
-        }
-        return null;
-    }
-    */
-    
+        
     public static Locator<URI> create(final String name, final String version) throws LocatorException {
         return locatorCreator.create(name, version);
     }
@@ -168,8 +127,10 @@ public abstract class AbsAAFLocator<TRANS extends Trans> implements Locator<URI>
 
     protected static String nameFromLocatorURI(URI locatorURI) {
         String[] path = Split.split('/', locatorURI.getPath());
-        if (path.length>2 && "locate".equals(path[1])) {
-            return path[2];
+        if (path.length>1 && "locate".equals(path[1])) {
+           return path[2];
+        } else if(path.length>1) {
+               return path[1];
         } else {
             return locatorURI.toString();
         }