From: adam Date: Fri, 3 Sep 2004 00:56:10 +0000 (+0000) Subject: by default, UIDVALIDITY is randomly regenerated on each login X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=1ea95ad1c5b3de403a17f89365db2fe937d18aa2;hp=ad7070d61e91b235db05dfc2bcfb0af0d379d3e5;p=org.ibex.mail.git by default, UIDVALIDITY is randomly regenerated on each login darcs-hash:20040903005610-5007d-3fd60f39b7b71d0da17821e5646a423a1999f375.gz --- diff --git a/src/org/ibex/mail/target/Mailbox.java b/src/org/ibex/mail/target/Mailbox.java index 48e7a45..b650006 100644 --- a/src/org/ibex/mail/target/Mailbox.java +++ b/src/org/ibex/mail/target/Mailbox.java @@ -30,7 +30,6 @@ public abstract class Mailbox extends Target { public abstract void copy(Query q, Mailbox dest); public abstract int count(Query q); public abstract int uidNext(); - public abstract int uidValidity(); public abstract void rename(String newName); /* FIXME: IMAP semantics require creating parent dirs */ public abstract void destroy(boolean recursive); public abstract Mailbox slash(String name, boolean create); @@ -45,6 +44,9 @@ public abstract class Mailbox extends Target { // Default Implementation ////////////////////////////////////////////////////////////////////////////// + private int randomUidValidity = new Random().nextInt(); + public int uidValidity() { return randomUidValidity; } + /** default, inefficient implementation of Mailbox; only requires a few methods to be implemented */ public static abstract class Default extends Mailbox { public Mailbox.Iterator iterator(Query q) { return new Mailbox.Iterator.QueryIterator(q, this); } diff --git a/src/org/ibex/mail/target/MessageArrayMailbox.java b/src/org/ibex/mail/target/MessageArrayMailbox.java index 44d7665..b549d4c 100644 --- a/src/org/ibex/mail/target/MessageArrayMailbox.java +++ b/src/org/ibex/mail/target/MessageArrayMailbox.java @@ -16,7 +16,6 @@ public class MessageArrayMailbox extends Mailbox.Default { public void add(Message message) { return; } public void add(Message message, int flags) { return; } public int uidNext() { return messages.length+1; } - public int uidValidity() { return 500; } public Mailbox.Iterator iterator() { return new MessageArrayMailbox.Iterator(); } public class Iterator extends Mailbox.Default.Iterator {