X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FPropertyFile.java;h=32279226d58d0feba93cffef4c328ad839e38c01;hb=2c3f170edc8e0da2de19f8a902e59fd04ea6c990;hp=4e8542f9d5da13427f902182ae5d668c0a06dd56;hpb=865f9307f2434c6908077fce669c6595a24e7532;p=org.ibex.core.git diff --git a/src/org/ibex/js/PropertyFile.java b/src/org/ibex/js/PropertyFile.java index 4e8542f..3227922 100644 --- a/src/org/ibex/js/PropertyFile.java +++ b/src/org/ibex/js/PropertyFile.java @@ -20,13 +20,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 +39,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(); }