X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Faaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Faaf%2Fv2_0%2FAbsAAFLocator.java;h=fca2374088c5a0a0b67538a30fe45c260c494b37;hb=3aca33c5bb9af1ba4df574ceb90435f54d14ccf5;hp=fc2976069b05a29c653d850ddb56f3543a03f231;hpb=34f6446e97199cb5aaefd1369d9faaf297a9b6bf;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AbsAAFLocator.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AbsAAFLocator.java index fc297606..fca23740 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AbsAAFLocator.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AbsAAFLocator.java @@ -32,6 +32,7 @@ import java.util.NoSuchElementException; import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.Access.Level; +import org.onap.aaf.cadi.aaf.Defaults; import org.onap.aaf.cadi.Locator; import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.config.Config; @@ -58,14 +59,24 @@ public abstract class AbsAAFLocator implements Locator protected String myhostname; protected int myport; protected final String aaf_locator_host; + protected final URI aaf_locator_uri; private long earliest; private final long refreshWait; 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); + } + } - epList = new LinkedList(); + epList = new LinkedList<>(); refreshWait = refreshMin; this.access = access; @@ -77,6 +88,12 @@ public abstract class AbsAAFLocator implements Locator 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 = Config.AAF_DEFAULT_VERSION; @@ -118,6 +135,8 @@ public abstract class AbsAAFLocator implements Locator version = split[1]; name = split[0]; break; + default: + break; } } } @@ -197,7 +216,7 @@ public abstract class AbsAAFLocator implements Locator } private boolean noEntries() { - return epList.size()<=0; + return epList.isEmpty(); } @Override @@ -249,9 +268,9 @@ public abstract class AbsAAFLocator implements Locator @Override public Item best() throws LocatorException { if(!hasItems()) { - throw new LocatorException("No Entries found" + (pathInfo==null?"":(" for " + pathInfo))); + throw new LocatorException("No Entries found for '" + aaf_locator_uri.toString() + "/locate/" + name + ':' + version + '\''); } - List lep = new ArrayList(); + List lep = new ArrayList<>(); EP first = null; // Note: Deque is sorted on the way by closest distance Iterator iter = getIterator(); @@ -406,8 +425,8 @@ public abstract class AbsAAFLocator implements Locator } protected static class EP implements Comparable { - public URI uri; - public final double distance; + private URI uri; + private final double distance; private boolean valid; public EP(final Endpoint ep, double latitude, double longitude) throws URISyntaxException { @@ -476,7 +495,7 @@ public abstract class AbsAAFLocator implements Locator try { return new URI(rv.getScheme(),rv.getUserInfo(),rv.getHost(),rv.getPort(),pathInfo,query,fragment); } catch (URISyntaxException e) { - throw new LocatorException("Error copying URL"); + throw new LocatorException("Error copying URL", e); } } return rv;