From: adam Date: Tue, 3 Aug 2004 07:18:03 +0000 (+0000) Subject: serialization support to work with Prevayler X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=bbceec5af4b7e228380ca1b574077f5dc88ca3a3;p=org.ibex.mail.git serialization support to work with Prevayler darcs-hash:20040803071803-5007d-ed308afdae989f3c372158d38fa44e20f907ecb9.gz --- diff --git a/src/org/ibex/mail/Address.java b/src/org/ibex/mail/Address.java index c6cf90f..57dbba8 100644 --- a/src/org/ibex/mail/Address.java +++ b/src/org/ibex/mail/Address.java @@ -8,7 +8,7 @@ import java.net.*; import java.io.*; // FIXME this should be more forgiving -public class Address extends JSReflection { +public class Address extends JSReflection implements Serializable { public final String user; public final String host; public final String description; diff --git a/src/org/ibex/mail/Main.java b/src/org/ibex/mail/Main.java index 583f432..6a44fc6 100644 --- a/src/org/ibex/mail/Main.java +++ b/src/org/ibex/mail/Main.java @@ -7,6 +7,7 @@ import org.ibex.io.*; import java.io.*; import java.net.*; import java.util.*; +import org.ibex.crypto.*; public class Main implements Listener { diff --git a/src/org/ibex/mail/protocol/IMAP.java b/src/org/ibex/mail/protocol/IMAP.java index 748847b..5b74005 100644 --- a/src/org/ibex/mail/protocol/IMAP.java +++ b/src/org/ibex/mail/protocol/IMAP.java @@ -1,5 +1,6 @@ package org.ibex.mail.protocol; import org.ibex.io.*; +import org.ibex.crypto.*; import org.ibex.jinetd.Listener; import org.ibex.jinetd.Worker; import org.ibex.mail.*; diff --git a/src/org/ibex/mail/target/FileBasedMailbox.java b/src/org/ibex/mail/target/FileBasedMailbox.java index 60e5246..54347cf 100644 --- a/src/org/ibex/mail/target/FileBasedMailbox.java +++ b/src/org/ibex/mail/target/FileBasedMailbox.java @@ -11,7 +11,7 @@ import java.text.*; // FIXME use directory date/time as UIDNEXT and file date/time as UID; need to 'correct' file date/time after changes /** An exceptionally crude implementation of Mailbox relying on POSIXy filesystem semantics */ -public class FileBasedMailbox extends Mailbox.Default { +public class FileBasedMailbox extends Mailbox.Default implements Serializable { public String toString() { return "[FileBasedMailbox " + path + "]"; } @@ -40,6 +40,11 @@ public class FileBasedMailbox extends Mailbox.Default { new File(this.path = path).mkdirs(); uidNext(false); } + private void writeObject(java.io.ObjectOutputStream out) throws IOException { out.writeObject(path); } + private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { + new File(this.path = (String)in.readObject()).mkdirs(); + uidNext(false); + } public Mailbox slash(String name, boolean create) { return FileBasedMailbox.getFileBasedMailbox(path + slash + name, create); }