From bbceec5af4b7e228380ca1b574077f5dc88ca3a3 Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 3 Aug 2004 07:18:03 +0000 Subject: [PATCH] serialization support to work with Prevayler darcs-hash:20040803071803-5007d-ed308afdae989f3c372158d38fa44e20f907ecb9.gz --- src/org/ibex/mail/Address.java | 2 +- src/org/ibex/mail/Main.java | 1 + src/org/ibex/mail/protocol/IMAP.java | 1 + src/org/ibex/mail/target/FileBasedMailbox.java | 7 ++++++- 4 files changed, 9 insertions(+), 2 deletions(-) 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); } -- 1.7.10.4