Switch to new Locate Features
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / sso / AAFSSO.java
index a03b3fd..10acc88 100644 (file)
@@ -179,11 +179,16 @@ public class AAFSSO {
                 appID=null;
             }
             
-            if (appID!=null && access.getProperty(Config.AAF_APPPASS)==null) {
-                char[] password = cons.readPassword("Password for %s: ", appID);
-                String app_pass = access.encrypt(new String(password));
-                access.setProperty(Config.AAF_APPPASS,app_pass);
-                diskprops.setProperty(Config.AAF_APPPASS, app_pass);
+            if (appID!=null) {
+               diskprops.setProperty(Config.AAF_APPID,appID);
+               if( access.getProperty(Config.AAF_APPPASS)==null) {
+                       char[] password = cons.readPassword("Password for %s: ", appID);
+                       if(password.length>0) {
+                               String app_pass = access.encrypt(new String(password));
+                               access.setProperty(Config.AAF_APPPASS,app_pass);
+                               diskprops.setProperty(Config.AAF_APPPASS,app_pass);
+                       }
+               }
             }
             
             String keystore=access.getProperty(Config.CADI_KEYSTORE);
@@ -241,7 +246,7 @@ public class AAFSSO {
                 Symm decryptor = ArtifactDir.getSymm(dot_aaf_kf);
                 if (user == null) {
                     if (sso.exists()) {
-                        String cm_url = access.getProperty(Config.CM_URL); // SSO might overwrite...
+                        String cm_url = access.getProperty(Config.AAF_URL_CM); // SSO might overwrite...
                         FileInputStream fos = new FileInputStream(sso);
                         try {
                             access.load(fos);
@@ -251,7 +256,7 @@ public class AAFSSO {
                             access.setProperty(Config.AAF_APPPASS,
                                     access.encrypt(decryptor.depass(encrypted_pass)));
                             if (cm_url != null) { //Command line CM_URL Overwrites ssofile.
-                                access.setProperty(Config.CM_URL, cm_url);
+                                access.setProperty(Config.AAF_URL_CM, cm_url);
                             }
                         } finally {
                             fos.close();
@@ -293,7 +298,7 @@ public class AAFSSO {
                 err.append("-D" + Config.AAF_APPPASS + "=<passwd> ");
             }
             
-            String locateUrl = access.getProperty(Config.AAF_LOCATE_URL);
+            String locateUrl = Config.getAAFLocateUrl(access);
             if (locateUrl==null) {
                 locateUrl=AAFSSO.cons.readLine("AAF Locator URL=https://");
                 if (locateUrl==null || locateUrl.length()==0) {
@@ -308,8 +313,21 @@ public class AAFSSO {
                 addProp(Config.AAF_LOCATE_URL, locateUrl);
             }
             
-            access.setProperty(Config.AAF_URL, Defaults.AAF_URL);
-            access.setProperty(Config.CM_URL, Defaults.CM_URL);
+            final String apiVersion = access.getProperty(Config.AAF_API_VERSION, Config.AAF_DEFAULT_API_VERSION);
+            final String aaf_root_ns = access.getProperty(Config.AAF_ROOT_NS);
+            String locateRoot;
+            if(aaf_root_ns==null) {
+               locateRoot=Defaults.AAF_ROOT;
+            } else {
+               locateRoot = Defaults.AAF_LOCATE_CONST + "/%CNS." + aaf_root_ns;
+            }
+            if(access.getProperty(Config.AAF_URL)==null) {
+               
+               access.setProperty(Config.AAF_URL, locateRoot+".service:"+apiVersion);
+            }
+            if(access.getProperty(Config.AAF_URL_CM)==null) {
+               access.setProperty(Config.AAF_URL_CM, locateRoot+".cm:"+apiVersion);
+            }
             String cadiLatitude = access.getProperty(Config.CADI_LATITUDE);
             if (cadiLatitude==null) {
                 System.out.println("# If you do not know your Global Coordinates, we suggest bing.com/maps");
@@ -407,7 +425,6 @@ public class AAFSSO {
                     diskprops.store(fos, "AAF Single Signon");
                 } finally {
                     fos.close();
-                    setReadonly(sso);
                 }
             }
             if (sso != null) {