From: adam Date: Sat, 23 Oct 2004 22:59:31 +0000 (+0000) Subject: change seen within a transaction in FileBasedMailbox X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=4fad3524034b0b1952d7e2b7017d8d0bf30d671c;p=org.ibex.mail.git change seen within a transaction in FileBasedMailbox darcs-hash:20041023225931-5007d-5cc8ce1369b4406fdda5c5da4d08243b43c4c397.gz --- diff --git a/src/org/ibex/mail/target/FileBasedMailbox.java b/src/org/ibex/mail/target/FileBasedMailbox.java index ca4e0da..4322673 100644 --- a/src/org/ibex/mail/target/FileBasedMailbox.java +++ b/src/org/ibex/mail/target/FileBasedMailbox.java @@ -97,13 +97,14 @@ public class FileBasedMailbox extends Mailbox.Default { public MIME.Headers headers() { return new MIME.Headers(new Stream(new ByteArrayInputStream(header)), true); } public Entry(Cache cache, Prevayler prevayler, String name) throws IOException { File f = new File(cache.dir.getParent()+slash+name); - seen = f.lastModified() == MAGIC_DATE; + final boolean seen = f.lastModified() == MAGIC_DATE; this.name = name; header = new MIME.Headers(new Stream(new FileInputStream(f)), true).toString().getBytes(); prevayler.execute(new Transaction() { public void executeOn(Object o, Date now) { Cache cache = (Cache)o; synchronized(cache) { + Entry.this.seen = seen; Entry.this.uid = cache.uidNext(true); cache.linear.add(Entry.this); cache.byuid.put(Entry.this.uid, Entry.this);