X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Fclient%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Flocator%2FDNSLocator.java;h=8053dabf395c3dd6b06b7c469486d7fb96eaf948;hb=c5aaaeeb8a4c008fa4a576c55da4c3bf703acdac;hp=66ef4b1e190a0357c6148cc7500d48691d8c8d7e;hpb=68179e83a94ad2ea2b9ec325c8fa2f9b7c765d04;p=aaf%2Fauthz.git diff --git a/cadi/client/src/main/java/org/onap/aaf/cadi/locator/DNSLocator.java b/cadi/client/src/main/java/org/onap/aaf/cadi/locator/DNSLocator.java index 66ef4b1e..8053dabf 100644 --- a/cadi/client/src/main/java/org/onap/aaf/cadi/locator/DNSLocator.java +++ b/cadi/client/src/main/java/org/onap/aaf/cadi/locator/DNSLocator.java @@ -27,11 +27,10 @@ import java.net.URI; import java.net.URISyntaxException; import org.onap.aaf.cadi.Access; -import org.onap.aaf.cadi.Locator; -import org.onap.aaf.cadi.LocatorException; import org.onap.aaf.cadi.Access.Level; +import org.onap.aaf.cadi.LocatorException; -public class DNSLocator implements Locator { +public class DNSLocator implements SizedLocator { private static enum Status {UNTRIED, OK, INVALID, SLOW}; private static final int CHECK_TIME = 3000; @@ -40,6 +39,8 @@ public class DNSLocator implements Locator { private Host[] hosts; private int startPort, endPort; private String suffix; + + private int size = 1; // initial, until refreshed. public DNSLocator(Access access, String protocol, String host, String range) { this.host = host; @@ -61,11 +62,11 @@ public class DNSLocator implements Locator { throw new LocatorException("Null passed into DNSLocator constructor"); } int start, defPort; - if (aaf_locate.startsWith("https:")) { + if (aaf_locate.startsWith("https://")) { protocol = "https"; start = 8; // https:// defPort = 443; - } else if (aaf_locate.startsWith("http:")) { + } else if (aaf_locate.startsWith("http://")) { protocol = "http"; start = 7; // http:// defPort = 80; @@ -77,10 +78,10 @@ public class DNSLocator implements Locator { } public static DNSLocator create(Access access, String url) throws LocatorException { - return new DNSLocator(access, url); - } + return new DNSLocator(access, url); + } - @Override + @Override public URI get(Item item) throws LocatorException { return hosts[((DLItem)item).cnt].uri; } @@ -156,6 +157,7 @@ public class DNSLocator implements Locator { } } hosts = temp; + size = temp.length * (endPort-startPort+1); return true; } catch (Exception e) { access.log(Level.ERROR, e); @@ -167,7 +169,7 @@ public class DNSLocator implements Locator { int slash, start; int colon = aaf_locate.indexOf(':',_start); if (colon > 0) { - host = aaf_locate.substring(_start,colon); + host = aaf_locate.substring(_start,colon); start = colon + 1; int left = aaf_locate.indexOf('[', start); if (left > 0) { @@ -189,7 +191,7 @@ public class DNSLocator implements Locator { } slash = aaf_locate.indexOf('/', start); if(slash>=0) { - suffix = aaf_locate.substring(slash); + suffix = aaf_locate.substring(slash); } } else { @@ -205,8 +207,8 @@ public class DNSLocator implements Locator { } } } else { - slash = aaf_locate.indexOf('/', _start); - host = slash<_start?aaf_locate.substring(_start):aaf_locate.substring(_start,slash); + slash = aaf_locate.indexOf('/', _start); + host = slash<_start?aaf_locate.substring(_start):aaf_locate.substring(_start,slash); startPort = endPort = defaultPort; } @@ -225,7 +227,7 @@ public class DNSLocator implements Locator { } public String toString() { - return uri.toString() + " - " + status.name(); + return uri.toString() + " - " + status.name(); } } @@ -238,4 +240,8 @@ public class DNSLocator implements Locator { } public void destroy() {} + + public int size() { + return size; + } }