/**
- * ============LICENSE_START====================================================
+r * ============LICENSE_START====================================================
* org.onap.aaf
* ===========================================================================
* Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
* 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;
}
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<HttpURLConnection> 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<URI> 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<URI> locator, SecurityInfoC<HttpURLConnection> si) throws CadiException, LocatorException, APIException {
super(access,Config.AAF_URL,si);
- bestSS(si);
hman = new HMangr(access,locator);
}
public AAFConHttp(Access access, Locator<URI> locator, SecurityInfoC<HttpURLConnection> si, String tag) throws CadiException, LocatorException, APIException {
super(access,tag,si);
- bestSS(si);
hman = new HMangr(access, locator);
}
-
+
private AAFConHttp(AAFCon<HttpURLConnection> aafcon, String url) throws LocatorException {
super(aafcon);
si=aafcon.si;
*/
@Override
public SecuritySetter<HttpURLConnection> basicAuth(String user, String password) throws CadiException {
- if(password.startsWith("enc:")) {
+ if (password.startsWith("enc:")) {
try {
password = access.decrypt(password, true);
} catch (IOException e) {
*/
@Override
protected Rcli<HttpURLConnection> rclient(URI ignoredURI, SecuritySetter<HttpURLConnection> ss) throws CadiException {
- if(hman.loc==null) {
- throw new CadiException("No Locator set in AAFConHttp");
+ if (hman.loc==null) {
+ 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)
*/
protected URI initURI() {
try {
Item item = hman.loc.best();
- if(item!=null) {
+ if (item!=null) {
return hman.loc.get(item);
}
} catch (LocatorException e) {