public void rename(String subdir, MailTree newParent, String newName) { throw new RuntimeException("FIXME not implemented"); }
public Mailbox getMailbox() { return this; }
- public JS get(JS key) throws JSExn {
- return (JS)slash(JSU.toString(key), true);
- }
-
// FIXME: should be a File()
public static synchronized MailTree getFileBasedMailbox(String path, boolean create) {
if (path.endsWith(".sqlite")) path = path.substring(0, path.length()-".sqlite".length());
+ path = new File(path).getAbsolutePath().toString();
try {
MailTree ret = instances.get(path);
if (ret == null) {
Log.error("n", "no match for " + path + " in " + instances.hashCode());
- if (new File(path+".sqlite").exists())
- ret = new SqliteMailbox(path+".sqlite");
- else {
- if (!create && !(new File(path).exists())) return null;
- ret = new FileBasedMailbox(new File(path));
- }
+ if (new File(path+".sqlite").exists()) ret = new SqliteMailbox(path+".sqlite");
+ else if (new File(path).exists()) ret = new FileBasedMailbox(new File(path));
+ else if (create) ret = new SqliteMailbox(path+".sqlite");
+ else return null;
instances.put(path, (MailTree)ret);
Log.error("n", "filling " + path + " with " + instances.get(path));
}