X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Faaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fregister%2FRegistrationCreator.java;h=80fc1a4f42e3c250daffc7b81a31b75d50a8160c;hb=3d1706fcbe7f95830ff6fd23cf679ee55c6d0595;hp=fc3c18b0a09f021e9815e34515d06767a3bf78d7;hpb=4a5f63f7f149ecba9556ee67a4ca00fb51845bf0;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RegistrationCreator.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RegistrationCreator.java index fc3c18b0..80fc1a4f 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RegistrationCreator.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/register/RegistrationCreator.java @@ -36,227 +36,227 @@ import locate.v1_0.MgmtEndpoint.SpecialPorts; import locate.v1_0.MgmtEndpoints; public class RegistrationCreator { - private Access access; + private Access access; public RegistrationCreator(Access access) { - this.access = access; + this.access = access; } public MgmtEndpoints create(final int port) throws CadiException { - MgmtEndpoints me = new MgmtEndpoints(); - List lme = me.getMgmtEndpoint(); - MgmtEndpoint defData = null; - MgmtEndpoint locate = null; + MgmtEndpoints me = new MgmtEndpoints(); + List lme = me.getMgmtEndpoint(); + MgmtEndpoint defData = null; + MgmtEndpoint locate = null; - try { - String dot_le; - String version=null; - String defProtocol="https"; - - RegistrationPropHolder ph = new RegistrationPropHolder(access, port); - - String firstPrivateHostname = null; - // Now, loop through by Container - for(String le : Split.splitTrim(',', ph.lcontainer)) { - if(le.isEmpty()) { - dot_le = le; - } else { - dot_le = "."+le; - } + try { + String dot_le; + String version=null; + String defProtocol="https"; + + RegistrationPropHolder ph = new RegistrationPropHolder(access, port); + + String firstPrivateHostname = null; + // Now, loop through by Container + for(String le : Split.splitTrim(',', ph.lcontainer)) { + if(le.isEmpty()) { + dot_le = le; + } else { + dot_le = "."+le; + } - for(String entry : Split.splitTrim(',', ph.lentries)) { - if(defData==null) { - defData = locate = new MgmtEndpoint(); + for(String entry : Split.splitTrim(',', ph.lentries)) { + if(defData==null) { + defData = locate = new MgmtEndpoint(); - version = access.getProperty(Config.AAF_LOCATOR_VERSION, Defaults.AAF_VERSION); - locate.setProtocol(defProtocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL,defProtocol)); - List ls = locate.getSubprotocol(); - for(String sp : Split.splitTrim(',', access.getProperty(Config.AAF_LOCATOR_SUBPROTOCOL,""))) { - ls.add(sp); - } - locate.setLatitude(ph.latitude); - locate.setLongitude(ph.longitude); + version = access.getProperty(Config.AAF_LOCATOR_VERSION, Defaults.AAF_VERSION); + locate.setProtocol(defProtocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL,defProtocol)); + List ls = locate.getSubprotocol(); + for(String sp : Split.splitTrim(',', access.getProperty(Config.AAF_LOCATOR_SUBPROTOCOL,""))) { + ls.add(sp); + } + locate.setLatitude(ph.latitude); + locate.setLongitude(ph.longitude); - } else { - locate = copy(defData); - } - - locate.setName(ph.getEntryName(entry,dot_le)); - /* Cover the situation where there is a Container, and multiple locator Entries, - * the first of which is the only real private FQDN - * example: oauth - * aaf_locator_entries=oauth,token,introspect - * - * Entries for token and introspect, but they point to oauth service. - */ - String locateHostname; - if(le.isEmpty()) { - locateHostname=ph.getEntryFQDN(entry, dot_le); - } else if(firstPrivateHostname==null) { - firstPrivateHostname=locateHostname=ph.getEntryFQDN(entry, dot_le); - } else { - locateHostname=firstPrivateHostname; - } - - locate.setHostname(locateHostname); - locate.setPort(ph.getEntryPort(dot_le)); - - String specificVersion = access.getProperty(Config.AAF_LOCATOR_VERSION + dot_le,null); - if(specificVersion == null && locate == defData) { - specificVersion = version; - } - if(specificVersion!=null) { - String split[] = Split.splitTrim('.', specificVersion); - String deply[]= Split.splitTrim('.', access.getProperty(Config.AAF_DEPLOYED_VERSION, "")); - locate.setMajor(best(split,deply,0)); - locate.setMinor(best(split,deply,1)); - locate.setPatch(best(split,deply,2)); - locate.setPkg(best(split,deply,3)); - } + } else { + locate = copy(defData); + } + + locate.setName(ph.getEntryName(entry,dot_le)); + /* Cover the situation where there is a Container, and multiple locator Entries, + * the first of which is the only real private FQDN + * example: oauth + * aaf_locator_entries=oauth,token,introspect + * + * Entries for token and introspect, but they point to oauth service. + */ + String locateHostname; + if(le.isEmpty()) { + locateHostname=ph.getEntryFQDN(entry, dot_le); + } else if(firstPrivateHostname==null) { + firstPrivateHostname=locateHostname=ph.getEntryFQDN(entry, dot_le); + } else { + locateHostname=firstPrivateHostname; + } + + locate.setHostname(locateHostname); + locate.setPort(ph.getEntryPort(dot_le)); + + String specificVersion = access.getProperty(Config.AAF_LOCATOR_VERSION + dot_le,null); + if(specificVersion == null && locate == defData) { + specificVersion = version; + } + if(specificVersion!=null) { + String split[] = Split.splitTrim('.', specificVersion); + String deply[]= Split.splitTrim('.', access.getProperty(Config.AAF_DEPLOYED_VERSION, "")); + locate.setMajor(best(split,deply,0)); + locate.setMinor(best(split,deply,1)); + locate.setPatch(best(split,deply,2)); + locate.setPkg(best(split,deply,3)); + } - String protocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL + dot_le, defProtocol); - if (protocol!=null) { - locate.setProtocol(protocol); - List ls = locate.getSubprotocol(); - // ls cannot be null, per generated getSubprotocol code - if(ls.isEmpty()) { - String subprotocols = access.getProperty(Config.AAF_LOCATOR_SUBPROTOCOL + dot_le, null); - if(subprotocols==null) { - subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null); - } - if(subprotocols!=null) { - for (String s : Split.split(',', subprotocols)) { - ls.add(s); - } - } else { - access.printf(Level.ERROR, "%s is required for Locator Registration of %s", - Config.AAF_LOCATOR_SUBPROTOCOL,Config.AAF_LOCATOR_PROTOCOL); - } - } - lme.add(locate); - } else { - access.printf(Level.ERROR, "%s is required for Locator Registration",Config.AAF_LOCATOR_PROTOCOL); - } - } - } - } catch (NumberFormatException | UnknownHostException e) { - throw new CadiException("Error extracting Data from Properties for Registrar",e); - } - - if(access.willLog(Level.INFO)) { - access.log(Level.INFO, print(new StringBuilder(),me.getMgmtEndpoint())); - } - return me; + String protocol = access.getProperty(Config.AAF_LOCATOR_PROTOCOL + dot_le, defProtocol); + if (protocol!=null) { + locate.setProtocol(protocol); + List ls = locate.getSubprotocol(); + // ls cannot be null, per generated getSubprotocol code + if(ls.isEmpty()) { + String subprotocols = access.getProperty(Config.AAF_LOCATOR_SUBPROTOCOL + dot_le, null); + if(subprotocols==null) { + subprotocols = access.getProperty(Config.CADI_PROTOCOLS, null); + } + if(subprotocols!=null) { + for (String s : Split.split(',', subprotocols)) { + ls.add(s); + } + } else { + access.printf(Level.ERROR, "%s is required for Locator Registration of %s", + Config.AAF_LOCATOR_SUBPROTOCOL,Config.AAF_LOCATOR_PROTOCOL); + } + } + lme.add(locate); + } else { + access.printf(Level.ERROR, "%s is required for Locator Registration",Config.AAF_LOCATOR_PROTOCOL); + } + } + } + } catch (NumberFormatException | UnknownHostException e) { + throw new CadiException("Error extracting Data from Properties for Registrar",e); + } + + if(access.willLog(Level.INFO)) { + access.log(Level.INFO, print(new StringBuilder(),me.getMgmtEndpoint())); + } + return me; } - + /* * Find the best version between Actual Interface and Deployed version */ private int best(String[] split, String[] deploy, int i) { - StringBuilder sb = new StringBuilder(); - char c; - String s; - if(split.length>i) { - s=split[i]; - for(int j=0;ji) { - s=deploy[i]; - for(int j=0;ji) { + s=split[i]; + for(int j=0;ji) { + s=deploy[i]; + for(int j=0;j lme) { - int cnt = 0; - for(MgmtEndpoint m : lme) { - print(sb,cnt++,m); - } - return sb; - } + private StringBuilder print(StringBuilder sb, List lme) { + int cnt = 0; + for(MgmtEndpoint m : lme) { + print(sb,cnt++,m); + } + return sb; + } - private void print(StringBuilder out, int cnt, MgmtEndpoint mep) { - out.append("\nManagement Endpoint - "); - out.append(cnt); - out.append("\n\tName: "); - out.append(mep.getName()); - out.append("\n\tHostname: "); - out.append(mep.getHostname()); - out.append("\n\tLatitude: "); - out.append(mep.getLatitude()); - out.append("\n\tLongitude: "); - out.append(mep.getLongitude()); - out.append("\n\tVersion: "); - out.append(mep.getMajor()); - out.append('.'); - out.append(mep.getMinor()); - out.append('.'); - out.append(mep.getPatch()); - out.append('.'); - out.append(mep.getPkg()); - out.append("\n\tPort: "); - out.append(mep.getPort()); - out.append("\n\tProtocol: "); - out.append(mep.getProtocol()); - out.append("\n\tSpecial Ports:"); - for( SpecialPorts sp : mep.getSpecialPorts()) { - out.append("\n\t\tName: "); - out.append(sp.getName()); - out.append("\n\t\tPort: "); - out.append(sp.getPort()); - out.append("\n\t\tProtocol: "); - out.append(sp.getProtocol()); - out.append("\n\t\t Versions: "); - boolean first = true; - for(String s : sp.getProtocolVersions()) { - if(first) { - first = false; - } else { - out.append(','); - } - out.append(s); - } - } - boolean first = true; - out.append("\n\tSubProtocol: "); - for(String s : mep.getSubprotocol()) { - if(first) { - first = false; - } else { - out.append(','); - } - out.append(s); - } - } + private void print(StringBuilder out, int cnt, MgmtEndpoint mep) { + out.append("\nManagement Endpoint - "); + out.append(cnt); + out.append("\n\tName: "); + out.append(mep.getName()); + out.append("\n\tHostname: "); + out.append(mep.getHostname()); + out.append("\n\tLatitude: "); + out.append(mep.getLatitude()); + out.append("\n\tLongitude: "); + out.append(mep.getLongitude()); + out.append("\n\tVersion: "); + out.append(mep.getMajor()); + out.append('.'); + out.append(mep.getMinor()); + out.append('.'); + out.append(mep.getPatch()); + out.append('.'); + out.append(mep.getPkg()); + out.append("\n\tPort: "); + out.append(mep.getPort()); + out.append("\n\tProtocol: "); + out.append(mep.getProtocol()); + out.append("\n\tSpecial Ports:"); + for( SpecialPorts sp : mep.getSpecialPorts()) { + out.append("\n\t\tName: "); + out.append(sp.getName()); + out.append("\n\t\tPort: "); + out.append(sp.getPort()); + out.append("\n\t\tProtocol: "); + out.append(sp.getProtocol()); + out.append("\n\t\t Versions: "); + boolean first = true; + for(String s : sp.getProtocolVersions()) { + if(first) { + first = false; + } else { + out.append(','); + } + out.append(s); + } + } + boolean first = true; + out.append("\n\tSubProtocol: "); + for(String s : mep.getSubprotocol()) { + if(first) { + first = false; + } else { + out.append(','); + } + out.append(s); + } + } private MgmtEndpoint copy(MgmtEndpoint mep) { - MgmtEndpoint out = new MgmtEndpoint(); - out.setName(mep.getName()); - out.setHostname(mep.getHostname()); - out.setLatitude(mep.getLatitude()); - out.setLongitude(mep.getLongitude()); - out.setMajor(mep.getMajor()); - out.setMinor(mep.getMinor()); - out.setPatch(mep.getPatch()); - out.setPkg(mep.getPkg()); - out.setPort(mep.getPort()); - out.setProtocol(mep.getProtocol()); - out.getSpecialPorts().addAll(mep.getSpecialPorts()); - out.getSubprotocol().addAll(mep.getSubprotocol()); - return out; - } + MgmtEndpoint out = new MgmtEndpoint(); + out.setName(mep.getName()); + out.setHostname(mep.getHostname()); + out.setLatitude(mep.getLatitude()); + out.setLongitude(mep.getLongitude()); + out.setMajor(mep.getMajor()); + out.setMinor(mep.getMinor()); + out.setPatch(mep.getPatch()); + out.setPkg(mep.getPkg()); + out.setPort(mep.getPort()); + out.setProtocol(mep.getProtocol()); + out.getSpecialPorts().addAll(mep.getSpecialPorts()); + out.getSubprotocol().addAll(mep.getSubprotocol()); + return out; + } }