use HashMap rather than WeakHashMap
[org.ibex.mail.git] / src / org / ibex / mail / FileBasedMailbox.java
index 4c9d4a5..dd41566 100644 (file)
@@ -21,9 +21,12 @@ import javax.servlet.http.*;
 /** An exceptionally crude implementation of Mailbox relying on POSIXy filesystem semantics */
 public class FileBasedMailbox extends Mailbox.Default implements MailTree {
 
-    public static final long MAGIC_DATE = 0;
+    public static final long MAGIC_DATE =  0;
     private static final char slash = File.separatorChar;
-    private static final WeakHashMap<String,FileBasedMailbox> instances = new WeakHashMap<String,FileBasedMailbox>();
+
+    // FIXME: ideally this should be weak, but we end up getting duplicates of SqliteMailboxes
+    private static final HashMap<String,MailTree> instances = new HashMap<String,MailTree>();
+
     public String toString() { return "[FileBasedMailbox " + path.getAbsolutePath() + "]"; }
 
     public MailTree slash(String name, boolean create) { return getFileBasedMailbox(path.getAbsolutePath()+slash+name, create); }