Merge "Init Data Update from TEST"
[aaf/authz.git] / auth / auth-core / src / main / java / org / onap / aaf / auth / common / Define.java
index 606e773..e9c3601 100644 (file)
@@ -35,17 +35,18 @@ public class Define {
 
     private final static String MSG = ".set(Access access) must be called before use";
     public static final CharSequence ROOT_NS_TAG = "AAF_NS"; // use for certain Replacements in Location
+    private static final int ROOT_NS_TAG_LEN=ROOT_NS_TAG.length();
     private static final String ROOT_NS_TAG_DOT = ROOT_NS_TAG +".";
 
     public static String ROOT_NS() {
-        if(ROOT_NS==null) {
+        if (ROOT_NS==null) {
             throw new RuntimeException(Define.class.getName() + MSG);
         }
         return ROOT_NS;
     }
     
     public static String ROOT_COMPANY() {
-        if(ROOT_NS==null) {
+        if (ROOT_NS==null) {
             throw new RuntimeException(Define.class.getName() + MSG);
         }
         return ROOT_COMPANY;
@@ -54,17 +55,17 @@ public class Define {
     public static void set(Access access) throws CadiException {
         ROOT_NS = access.getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
         ROOT_COMPANY = access.getProperty(Config.AAF_ROOT_COMPANY,null);
-        if(ROOT_COMPANY==null) {
+        if (ROOT_COMPANY==null) {
             int last = ROOT_NS.lastIndexOf('.');
-            if(last>=0) {
+            if (last>=0) {
                 ROOT_COMPANY = ROOT_NS.substring(0, last);
             } else {
                 throw new CadiException(Config.AAF_ROOT_COMPANY + " or " + Config.AAF_ROOT_NS + " property with 3 positions is required.");
             }
         }
         
-        for( Entry<Object, Object> es : access.getProperties().entrySet()) {
-            if(es.getKey().toString().startsWith(ROOT_NS_TAG_DOT)) {
+        for ( Entry<Object, Object> es : access.getProperties().entrySet()) {
+            if (es.getKey().toString().startsWith(ROOT_NS_TAG_DOT)) {
                 access.getProperties().setProperty(es.getKey().toString(),varReplace(es.getValue().toString()));
             }
         }
@@ -74,10 +75,15 @@ public class Define {
     }
 
     public static String varReplace(final String potential) {
-        if(potential.startsWith(ROOT_NS_TAG_DOT)) {
-            return ROOT_NS + potential.substring(6);
+       int idx = potential.indexOf(ROOT_NS_TAG_DOT);
+       if(idx<0) {
+               return potential;
+       } else if(idx==0) {
+               return ROOT_NS + potential.substring(ROOT_NS_TAG_LEN);
+        } else if('.'==potential.charAt(idx)) {
+            return potential.replace(ROOT_NS_TAG, ROOT_NS);
         } else {
-            return potential;
+               return potential;
         }
     }