* 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.
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;
hman = new HMangr(access,Config.loadLocator(si, access.getProperty(Config.AAF_URL,null)));
}
- protected SecuritySetter<HttpURLConnection> bestSS(SecurityInfoC<HttpURLConnection> si) throws CadiException {
+ protected SecuritySetter<HttpURLConnection> bestSS(SecurityInfoC<HttpURLConnection> si) {
return si.defSS;
}
super(access,tag,si);
hman = new HMangr(access, locator);
}
-
+
private AAFConHttp(AAFCon<HttpURLConnection> aafcon, String url) throws LocatorException {
super(aafcon);
si=aafcon.si;
@Override
protected Rcli<HttpURLConnection> rclient(URI ignoredURI, SecuritySetter<HttpURLConnection> 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);
throw new CadiException(e);
}
}
-
+
+ protected Rcli<HttpURLConnection> rclient(List<URI> ignoredURIs, SecuritySetter<HttpURLConnection> 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<HttpURLConnection> rclient(Locator<URI> loc, SecuritySetter<HttpURLConnection> ss) throws CadiException {
try {
public AbsTransferSS<HttpURLConnection> transferSS(TaggedPrincipal principal) {
return new HTransferSS(principal, app,si);
}
-
+
/* (non-Javadoc)
* @see org.onap.aaf.cadi.aaf.v2_0.AAFCon#basicAuthSS(java.security.Principal)
*/