import java.net.URI;
import java.net.URISyntaxException;
+import java.net.UnknownHostException;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.Iterator;
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;
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;
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);
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);
}