Sonar Fixes, Formatting
[aaf/authz.git] / auth / auth-cass / src / main / java / org / onap / aaf / auth / direct / DirectAAFLocator.java
index 1fb050b..f836255 100644 (file)
@@ -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.
@@ -23,6 +23,7 @@ package org.onap.aaf.auth.direct;
 
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.net.UnknownHostException;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
@@ -34,8 +35,10 @@ import org.onap.aaf.auth.env.AuthzTrans;
 import org.onap.aaf.auth.layer.Result;
 import org.onap.aaf.cadi.LocatorException;
 import org.onap.aaf.cadi.Access.Level;
+import org.onap.aaf.cadi.CadiException;
 import org.onap.aaf.cadi.aaf.v2_0.AbsAAFLocator;
 import org.onap.aaf.cadi.config.Config;
+import org.onap.aaf.cadi.config.RegistrationPropHolder;
 import org.onap.aaf.misc.env.util.Split;
 
 import locate.v1_0.Endpoint;
@@ -47,49 +50,58 @@ public class DirectAAFLocator extends AbsAAFLocator<AuthzTrans> {
     private final URI uri;
 
     /**
-     * 
+     *
      * @param env
      * @param ldao
      * @param key  must be one or more of service, version, other in that order
-     * @throws LocatorException 
+     * @throws LocatorException
      */
     public DirectAAFLocator(AuthzEnv env, LocateDAO ldao, String name, String version) throws LocatorException {
-        super(env.access(), name, 1000L /* Don't hit DB more than once a second */); 
+        super(env.access(), name, 1000L /* Don't hit DB more than once a second */);
         this.env = env;
         this.ldao = ldao;
-        if(version!=null) {
-            try { 
+        if (version!=null) {
+            try {
                 String[] v = Split.split('.',version);
-                if(v.length>0) {major = Integer.parseInt(v[0]);}
-                if(v.length>1) {minor = Integer.parseInt(v[1]);}
-                if(v.length>2) {patch = Integer.parseInt(v[2]);}
-                if(v.length>3) {pkg   = Integer.parseInt(v[3]);}
+                if (v.length>0) {major = Integer.parseInt(v[0]);}
+                if (v.length>1) {minor = Integer.parseInt(v[1]);}
+                if (v.length>2) {patch = Integer.parseInt(v[2]);}
+                if (v.length>3) {pkg   = Integer.parseInt(v[3]);}
             } catch (NumberFormatException e) {
                 throw new LocatorException("Invalid Version String: " + version);
             }
         }
-        
+
         try {
-            uri = new URI(access.getProperty(Config.AAF_LOCATE_URL, "localhost")+"/locate/"+name+':'+version);
-        } catch (URISyntaxException e) {
+            String aaf_url;
+            if(name.indexOf('.')>=0) {
+                aaf_url = "https://"+Config.AAF_LOCATE_URL_TAG+'/'+name+':'+version;
+            } else {
+                   aaf_url = "https://"+Config.AAF_LOCATE_URL_TAG+"/%CNS.%NS."+name+':'+version;
+            }
+            RegistrationPropHolder rph = new RegistrationPropHolder(access,0);
+            aaf_url = rph.replacements(getClass().getSimpleName(),aaf_url, null,null);
+            access.printf(Level.INIT,"Creating DirectAAFLocator to %s",aaf_url);
+            uri = new URI(aaf_url);
+        } catch (URISyntaxException | UnknownHostException | CadiException e) {
             throw new LocatorException(e);
         }
         myhostname=null;
-        myport = 0; 
+        myport = 0;
     }
-    
-    
+
+
     @Override
     public boolean refresh() {
         AuthzTrans trans = env.newTransNoAvg();
         Result<List<Data>> rl = ldao.readByName(trans, name);
-        if(rl.isOK()) {
+        if (rl.isOK()) {
             LinkedList<EP> epl = new LinkedList<>();
-            for(Data d : rl.value) {
-//                if(myhostname!=null && d.port==myport && d.hostname.equals(myhostname)) {
+            for (Data d : rl.value) {
+//                if (myhostname!=null && d.port==myport && d.hostname.equals(myhostname)) {
 //                    continue;
 //                }
-                if((major<0 || major==d.major) &&
+                if ((major<0 || major==d.major) &&
                    (minor<0 || minor<=d.minor) &&
                    (patch<0 || patch==d.patch) &&
                    (pkg<0   || pkg  ==d.pkg)) {
@@ -104,10 +116,10 @@ public class DirectAAFLocator extends AbsAAFLocator<AuthzTrans> {
                     endpoint.setLatitude(d.latitude);
                     endpoint.setLongitude(d.longitude);
                     endpoint.setProtocol(d.protocol);
-                    for(String s : d.subprotocol(false)) {
+                    for (String s : d.subprotocol(false)) {
                         endpoint.getSubprotocol().add(s);
                     }
-                    
+
                     try {
                         epl.add(new EP(endpoint,latitude,longitude));
                     } catch (URISyntaxException e) {