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%2FAAFConHttp.java;h=9b5e9389036b3ae6f5b5ff8b7fb9eabf5bdca798;hb=7e966914050e66219689001ff4ab601a49eef0ac;hp=9fc38d9fad0b3aa18cf552582cf781fb219d5ae4;hpb=6261a19e61138e861f5c7eaf37835205f19f1fe0;p=aaf%2Fauthz.git diff --git a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFConHttp.java b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFConHttp.java index 9fc38d9f..9b5e9389 100644 --- a/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFConHttp.java +++ b/cadi/aaf/src/main/java/org/onap/aaf/cadi/aaf/v2_0/AAFConHttp.java @@ -47,191 +47,174 @@ import org.onap.aaf.cadi.principal.TaggedPrincipal; import org.onap.aaf.misc.env.APIException; public class AAFConHttp extends AAFCon { - private final HMangr hman; - - public AAFConHttp(Access access) throws APIException, CadiException, LocatorException { - super(access,Config.AAF_URL,SecurityInfoC.instance(access, HttpURLConnection.class)); - bestSS(si); - hman = new HMangr(access,Config.loadLocator(si, access.getProperty(Config.AAF_URL,null))); - } - - protected SecuritySetter bestSS(SecurityInfoC si) throws CadiException { - Access access = si.access; - String s; - if((s = access.getProperty(Config.CADI_ALIAS, null))!=null) { - try { - return new HX509SS(s,si,true); - } catch (APIException e) { - throw new CadiException(e); - } - } else if((s = access.getProperty(Config.AAF_APPID, null))!=null){ - try { - return new HBasicAuthSS(si,true); - } catch (IOException /*| GeneralSecurityException*/ e) { - throw new CadiException(e); - } - } else { - throw new CadiException("No IDs (" + Config.CADI_ALIAS + " or " + Config.AAF_APPID + ") have been identified."); - } - } - - public AAFConHttp(Access access, String tag) throws APIException, CadiException, LocatorException { - super(access,tag,SecurityInfoC.instance(access, HttpURLConnection.class)); - bestSS(si); - hman = new HMangr(access,Config.loadLocator(si, access.getProperty(tag,tag/*try the content itself*/))); - } - - public AAFConHttp(Access access, String urlTag, SecurityInfoC si) throws CadiException, APIException, LocatorException { - super(access,urlTag,si); - bestSS(si); - hman = new HMangr(access,Config.loadLocator(si, access.getProperty(urlTag,null))); - } - - public AAFConHttp(Access access, Locator locator) throws CadiException, LocatorException, APIException { - super(access,Config.AAF_URL,SecurityInfoC.instance(access, HttpURLConnection.class)); - bestSS(si); - hman = new HMangr(access,locator); - } - - public AAFConHttp(Access access, Locator locator, SecurityInfoC si) throws CadiException, LocatorException, APIException { - super(access,Config.AAF_URL,si); - bestSS(si); - hman = new HMangr(access,locator); - } - - public AAFConHttp(Access access, Locator locator, SecurityInfoC si, String tag) throws CadiException, LocatorException, APIException { - super(access,tag,si); - bestSS(si); - hman = new HMangr(access, locator); - } - - private AAFConHttp(AAFCon aafcon, String url) throws LocatorException { - super(aafcon); - si=aafcon.si; - hman = new HMangr(aafcon.access,Config.loadLocator(si, url)); - } - - @Override - public AAFCon clone(String url) throws LocatorException { - return new AAFConHttp(this,url); - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#basicAuth(java.lang.String, java.lang.String) - */ - @Override - public SecuritySetter basicAuth(String user, String password) throws CadiException { - if(password.startsWith("enc:")) { - try { - password = access.decrypt(password, true); - } catch (IOException e) { - throw new CadiException("Error decrypting password",e); - } - } - try { - return new HBasicAuthSS(si,user,password); - } catch (IOException e) { - throw new CadiException("Error creating HBasicAuthSS",e); - } - } - - public SecuritySetter x509Alias(String alias) throws APIException, CadiException { - try { - return set(new HX509SS(alias,si)); - } catch (Exception e) { - throw new CadiException("Error creating X509SS",e); - } - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#rclient(java.net.URI, org.onap.aaf.cadi.SecuritySetter) - */ - @Override - protected Rcli rclient(URI ignoredURI, SecuritySetter ss) throws CadiException { - if(hman.loc==null) { - throw new CadiException("No Locator set in AAFConHttp"); - } - try { - return new HRcli(hman, hman.loc.best() ,ss); - } catch (Exception e) { - throw new CadiException(e); - } - } - - @Override - public Rcli rclient(Locator loc, SecuritySetter ss) throws CadiException { - try { - HMangr newHMan = new HMangr(access, loc); - return new HRcli(newHMan,newHMan.loc.best(),ss); - } catch (Exception e) { - throw new CadiException(e); - } - } - @Override - public AbsTransferSS transferSS(TaggedPrincipal principal) throws CadiException { - return new HTransferSS(principal, app,si); - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#basicAuthSS(java.security.Principal) - */ - @Override - public SecuritySetter basicAuthSS(BasicPrincipal principal) throws CadiException { - try { - return new HBasicAuthSS(principal,si); - } catch (IOException e) { - throw new CadiException("Error creating HBasicAuthSS",e); - } - } - - @Override - public SecuritySetter tokenSS(final String client_id, final String accessToken) throws CadiException { - try { - return new HTokenSS(si, client_id, accessToken); - } catch (IOException e) { - throw new CadiException(e); - } - } - - public HMangr hman() { - return hman; - } - - @Override - public RET best(Retryable retryable) throws LocatorException, CadiException, APIException { - return hman.best(si.defSS, (Retryable)retryable); - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#bestForUser(org.onap.aaf.cadi.SecuritySetter, org.onap.aaf.cadi.client.Retryable) - */ - @Override - public RET bestForUser(GetSetter getSetter, Retryable retryable) throws LocatorException, CadiException, APIException { - return hman.best(getSetter.get(this), (Retryable)retryable); - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#initURI() - */ - @Override - protected URI initURI() { - try { - Item item = hman.loc.best(); - if(item!=null) { - return hman.loc.get(item); - } - } catch (LocatorException e) { - access.log(e, "Error in AAFConHttp obtaining initial URI"); - } - return null; - } - - /* (non-Javadoc) - * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#setInitURI(java.lang.String) - */ - @Override - protected void setInitURI(String uriString) throws CadiException { - // Using Locator, not URLString, which is mostly for DME2 - } + private final HMangr hman; + + public AAFConHttp(Access access) throws CadiException, LocatorException { + super(access,Config.AAF_URL,SecurityInfoC.instance(access, HttpURLConnection.class)); + hman = new HMangr(access,Config.loadLocator(si, access.getProperty(Config.AAF_URL,null))); + } + + protected SecuritySetter bestSS(SecurityInfoC si) throws CadiException { + return si.defSS; + } + + public AAFConHttp(Access access, String tag) throws CadiException, LocatorException { + super(access,tag,SecurityInfoC.instance(access, HttpURLConnection.class)); + bestSS(si); + hman = new HMangr(access,Config.loadLocator(si, access.getProperty(tag,tag/*try the content itself*/))); + } + + public AAFConHttp(Access access, String urlTag, SecurityInfoC si) throws CadiException, LocatorException { + super(access,urlTag,si); + bestSS(si); + hman = new HMangr(access,Config.loadLocator(si, access.getProperty(urlTag,null))); + } + + public AAFConHttp(Access access, Locator locator) throws CadiException, LocatorException { + super(access,Config.AAF_URL,SecurityInfoC.instance(access, HttpURLConnection.class)); + bestSS(si); + hman = new HMangr(access,locator); + } + + public AAFConHttp(Access access, Locator locator, SecurityInfoC si) throws CadiException, LocatorException, APIException { + super(access,Config.AAF_URL,si); + bestSS(si); + hman = new HMangr(access,locator); + } + + public AAFConHttp(Access access, Locator locator, SecurityInfoC si, String tag) throws CadiException, LocatorException, APIException { + super(access,tag,si); + bestSS(si); + hman = new HMangr(access, locator); + } + + private AAFConHttp(AAFCon aafcon, String url) throws LocatorException { + super(aafcon); + si=aafcon.si; + hman = new HMangr(aafcon.access,Config.loadLocator(si, url)); + } + + @Override + public AAFCon clone(String url) throws LocatorException { + return new AAFConHttp(this,url); + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#basicAuth(java.lang.String, java.lang.String) + */ + @Override + public SecuritySetter basicAuth(String user, String password) throws CadiException { + if (password.startsWith("enc:")) { + try { + password = access.decrypt(password, true); + } catch (IOException e) { + throw new CadiException("Error decrypting password",e); + } + } + try { + return new HBasicAuthSS(si,user,password); + } catch (IOException e) { + throw new CadiException("Error creating HBasicAuthSS",e); + } + } + + public SecuritySetter x509Alias(String alias) throws CadiException { + try { + return set(new HX509SS(alias,si)); + } catch (Exception e) { + throw new CadiException("Error creating X509SS",e); + } + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#rclient(java.net.URI, org.onap.aaf.cadi.SecuritySetter) + */ + @Override + protected Rcli rclient(URI ignoredURI, SecuritySetter ss) throws CadiException { + if (hman.loc==null) { + throw new CadiException("No Locator set in AAFConHttp"); + } + try { + return new HRcli(hman, hman.loc.best() ,ss); + } catch (Exception e) { + throw new CadiException(e); + } + } + + @Override + public Rcli rclient(Locator loc, SecuritySetter ss) throws CadiException { + try { + HMangr newHMan = new HMangr(access, loc); + return new HRcli(newHMan,newHMan.loc.best(),ss); + } catch (Exception e) { + throw new CadiException(e); + } + } + @Override + public AbsTransferSS transferSS(TaggedPrincipal principal) { + return new HTransferSS(principal, app,si); + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#basicAuthSS(java.security.Principal) + */ + @Override + public SecuritySetter basicAuthSS(BasicPrincipal principal) throws CadiException { + try { + return new HBasicAuthSS(principal,si); + } catch (IOException e) { + throw new CadiException("Error creating HBasicAuthSS",e); + } + } + + @Override + public SecuritySetter tokenSS(final String client_id, final String accessToken) throws CadiException { + try { + return new HTokenSS(si, client_id, accessToken); + } catch (IOException e) { + throw new CadiException(e); + } + } + + public HMangr hman() { + return hman; + } + + @Override + public RET best(Retryable retryable) throws LocatorException, CadiException, APIException { + return hman.best(si.defSS, retryable); + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#bestForUser(org.onap.aaf.cadi.SecuritySetter, org.onap.aaf.cadi.client.Retryable) + */ + @Override + public RET bestForUser(GetSetter getSetter, Retryable retryable) throws LocatorException, CadiException, APIException { + return hman.best(getSetter.get(this), retryable); + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#initURI() + */ + @Override + protected URI initURI() { + try { + Item item = hman.loc.best(); + if (item!=null) { + return hman.loc.get(item); + } + } catch (LocatorException e) { + access.log(e, "Error in AAFConHttp obtaining initial URI"); + } + return null; + } + + /* (non-Javadoc) + * @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#setInitURI(java.lang.String) + */ + @Override + protected void setInitURI(String uriString) { + // Using Locator, not URLString, which is mostly for DME2 + } }