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=84ef788cab9b97b1345bc43e1cab0f90e56d1a73;hb=HEAD;hp=d39fc1d670f9fd61bc22d66c4061f5768c0dfc26;hpb=762dabc6f9577b5b1a8211dddf38ce34295f22a4;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 d39fc1d6..84ef788c 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 @@ -7,9 +7,9 @@ r * ============LICENSE_START=================================================== * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -24,6 +24,7 @@ package org.onap.aaf.cadi.aaf.v2_0; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URI; +import java.util.List; import org.onap.aaf.cadi.Access; import org.onap.aaf.cadi.CadiException; @@ -54,40 +55,35 @@ public class AAFConHttp extends AAFCon { hman = new HMangr(access,Config.loadLocator(si, access.getProperty(Config.AAF_URL,null))); } - protected SecuritySetter bestSS(SecurityInfoC si) throws CadiException { + protected SecuritySetter bestSS(SecurityInfoC si) { 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; @@ -132,7 +128,7 @@ public class AAFConHttp extends AAFCon { @Override protected Rcli rclient(URI ignoredURI, SecuritySetter ss) throws CadiException { if (hman.loc==null) { - throw new CadiException("No Locator set in AAFConHttp"); + throw new CadiException("No Locator set in AAFConHttp"); } try { return new HRcli(hman, hman.loc.best() ,ss); @@ -140,7 +136,35 @@ public class AAFConHttp extends AAFCon { throw new CadiException(e); } } - + + protected Rcli rclient(List ignoredURIs, SecuritySetter ss) throws CadiException { + if (hman.loc==null) { + throw new CadiException("No Locator set in AAFConHttp"); + } + try { + if (ignoredURIs.isEmpty()) { + return new HRcli(hman, hman.loc.best(), ss); + } else { + Item item = hman.loc.first(); + HRcli currentClient = new HRcli(hman, item, ss); + + item = hman.loc.next(item); + + while (item != null) { + if (!ignoredURIs.contains(currentClient.getURI())) { + break; + } else { + currentClient = new HRcli(hman, item, ss); + } + item = hman.loc.next(item); + } + return currentClient; + } + } catch (Exception e) { + throw new CadiException(e); + } + } + @Override public Rcli rclient(Locator loc, SecuritySetter ss) throws CadiException { try { @@ -154,7 +178,7 @@ public class AAFConHttp extends AAFCon { 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) */