import java.net.URI;
import java.net.URISyntaxException;
+import java.net.UnknownHostException;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import org.onap.aaf.auth.layer.Result;
import org.onap.aaf.cadi.LocatorException;
import org.onap.aaf.cadi.Access.Level;
+import org.onap.aaf.cadi.CadiException;
import org.onap.aaf.cadi.aaf.v2_0.AbsAAFLocator;
import org.onap.aaf.cadi.config.Config;
+import org.onap.aaf.cadi.config.RegistrationPropHolder;
import org.onap.aaf.misc.env.util.Split;
import locate.v1_0.Endpoint;
super(env.access(), name, 1000L /* Don't hit DB more than once a second */);
this.env = env;
this.ldao = ldao;
- if(version!=null) {
+ if (version!=null) {
try {
String[] v = Split.split('.',version);
- if(v.length>0) {major = Integer.parseInt(v[0]);}
- if(v.length>1) {minor = Integer.parseInt(v[1]);}
- if(v.length>2) {patch = Integer.parseInt(v[2]);}
- if(v.length>3) {pkg = Integer.parseInt(v[3]);}
+ if (v.length>0) {major = Integer.parseInt(v[0]);}
+ if (v.length>1) {minor = Integer.parseInt(v[1]);}
+ if (v.length>2) {patch = Integer.parseInt(v[2]);}
+ if (v.length>3) {pkg = Integer.parseInt(v[3]);}
} catch (NumberFormatException e) {
throw new LocatorException("Invalid Version String: " + version);
}
}
try {
- uri = new URI(access.getProperty(Config.AAF_LOCATE_URL, "localhost")+"/locate/"+name+':'+version);
- } catch (URISyntaxException e) {
+ String aaf_url;
+ if(name.indexOf('.')>=0) {
+ aaf_url = "https://"+Config.AAF_LOCATE_URL_TAG+'/'+name+':'+version;
+ } else {
+ aaf_url = "https://"+Config.AAF_LOCATE_URL_TAG+"/%NS."+name+':'+version;
+ }
+ RegistrationPropHolder rph = new RegistrationPropHolder(access,0);
+ aaf_url = rph.replacements(getClass().getSimpleName(),aaf_url, null,null);
+ access.printf(Level.INIT,"Creating DirectAAFLocator to %s",aaf_url);
+ uri = new URI(aaf_url);
+ } catch (URISyntaxException | UnknownHostException | CadiException e) {
throw new LocatorException(e);
}
myhostname=null;
public boolean refresh() {
AuthzTrans trans = env.newTransNoAvg();
Result<List<Data>> rl = ldao.readByName(trans, name);
- if(rl.isOK()) {
+ if (rl.isOK()) {
LinkedList<EP> epl = new LinkedList<>();
- for(Data d : rl.value) {
-// if(myhostname!=null && d.port==myport && d.hostname.equals(myhostname)) {
+ for (Data d : rl.value) {
+// if (myhostname!=null && d.port==myport && d.hostname.equals(myhostname)) {
// continue;
// }
- if((major<0 || major==d.major) &&
+ if ((major<0 || major==d.major) &&
(minor<0 || minor<=d.minor) &&
(patch<0 || patch==d.patch) &&
(pkg<0 || pkg ==d.pkg)) {
endpoint.setLatitude(d.latitude);
endpoint.setLongitude(d.longitude);
endpoint.setProtocol(d.protocol);
- for(String s : d.subprotocol(false)) {
+ for (String s : d.subprotocol(false)) {
endpoint.getSubprotocol().add(s);
}