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=e60b5d8a0baa0a5f4d35faa26f75d15482b1dfd0;hpb=f918e038f8f4eea2fb879edf704683877bc19849;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 e60b5d8a..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,7 +55,7 @@ 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; } @@ -82,7 +83,7 @@ public class AAFConHttp extends AAFCon { super(access,tag,si); hman = new HMangr(access, locator); } - + private AAFConHttp(AAFCon aafcon, String url) throws LocatorException { super(aafcon); si=aafcon.si; @@ -127,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); @@ -135,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 { @@ -149,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) */