updated Makefile.common
[org.ibex.core.git] / src / org / ibex / js / PropertyFile.java
index 4e8542f..ee7be2e 100644 (file)
@@ -5,10 +5,12 @@ import org.ibex.util.*;
 import java.util.*;
 import java.io.*;
 
+// FEATURE: Update for new api
+
 /** A JS interface to a Java '.properties' file; very crude */
 public class PropertyFile extends JS {
 
-    private final Properties p = new Properties();
+    /*private final Properties p = new Properties();
     private final Hash cache = new Hash(10, 3);
     private File f;
 
@@ -20,13 +22,14 @@ public class PropertyFile extends JS {
         public String coerceToString()  { return (String)p.get(prefix.substring(0, prefix.length() - 1)); }
         public Enumeration keys() throws JSExn { throw new JSExn("PropertyFile.keys() not supported"); }
         public Object get(Object key) throws JSExn {
+            if (toString(key).equals("")) return coerceToString();
             Object ret = p.get(prefix + escape(toString(key)));
             if (ret != null) return ret;
             return new Minion(prefix + escape(toString(key)) + ".");
         }
         public void put(Object key, Object val) throws JSExn {
             try {
-                p.put(prefix + "." + escape(toString(key)), toString(val));
+                p.put(prefix + (prefix.equals("") ? "" : ".") + escape(toString(key)), toString(val));
                 File fnew = new File(f.getName() + ".new");
                 FileOutputStream fo = new FileOutputStream(fnew);
                 p.save(fo, "");
@@ -38,7 +41,7 @@ public class PropertyFile extends JS {
     }
 
     public static String escape(String s) {
-        return s.replaceAll("\\\\", "\\\\\\\\").replaceAll(".", "\\\\.").replaceAll("=","\\\\="); }
+        return s.replaceAll("\\\\", "\\\\\\\\").replaceAll("\\.", "\\\\.").replaceAll("=","\\\\="); }
     public PropertyFile(File f) throws IOException { this.f = f; this.p.load(new FileInputStream(f)); }
     public void put(Object key, Object val) throws JSExn { new Minion("").put(key, val); }
     public Enumeration keys() throws JSExn { return new Minion("").keys(); }
@@ -46,5 +49,5 @@ public class PropertyFile extends JS {
         Object ret = p.get(toString(key));
         if (ret != null) return ret;
         return new Minion(escape(toString(key)));
-    }
+    }*/
 }