changed to unmaintained
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / aaf / v2_0 / AAFConHttp.java
index cc70ae3..84ef788 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * ============LICENSE_START====================================================
+r * ============LICENSE_START====================================================
  * org.onap.aaf
  * ===========================================================================
  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
@@ -7,9 +7,9 @@
  * 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<HttpURLConnection> {
         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;
@@ -104,7 +100,7 @@ public class AAFConHttp extends AAFCon<HttpURLConnection> {
      */
     @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) {
@@ -131,8 +127,8 @@ public class AAFConHttp extends AAFCon<HttpURLConnection> {
      */
     @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);
@@ -140,7 +136,35 @@ public class AAFConHttp extends AAFCon<HttpURLConnection> {
             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 {
@@ -154,7 +178,7 @@ public class AAFConHttp extends AAFCon<HttpURLConnection> {
     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)
      */
@@ -200,7 +224,7 @@ public class AAFConHttp extends AAFCon<HttpURLConnection> {
     protected URI initURI() {
         try {
             Item item = hman.loc.best();
-            if(item!=null) {
+            if (item!=null) {
                 return hman.loc.get(item);
             }
         } catch (LocatorException e) {