X-Git-Url: http://git.megacz.com/?p=org.ibex.mail.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FFileBasedMailbox.java;h=48e085350ae131dad75199c7a84d5e6cda3c1d71;hp=dd4156669140c4c8205dd78a9db21edf9976bcb2;hb=3530e2f2db09da8afef86fe06ae57510893e4a48;hpb=ea24bba8370644bcc8d09e8bea12dbb6df875bfe diff --git a/src/org/ibex/mail/FileBasedMailbox.java b/src/org/ibex/mail/FileBasedMailbox.java index dd41566..48e0853 100644 --- a/src/org/ibex/mail/FileBasedMailbox.java +++ b/src/org/ibex/mail/FileBasedMailbox.java @@ -41,12 +41,19 @@ public class FileBasedMailbox extends Mailbox.Default implements MailTree { // 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()); try { MailTree ret = instances.get(path); if (ret == null) { - if (!create && !(new File(path).exists())) return null; - ret = new FileBasedMailbox(new File(path)); - instances.put(path, (FileBasedMailbox)ret); + 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)); + } + instances.put(path, (MailTree)ret); + Log.error("n", "filling " + path + " with " + instances.get(path)); } return ret; } catch (Exception e) { @@ -129,6 +136,8 @@ public class FileBasedMailbox extends Mailbox.Default implements MailTree { for(int i=0; i