You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2009/05/09 21:39:44 UTC
svn commit: r773265 - in /james/imap/trunk:
mailbox/src/main/java/org/apache/james/imap/mailbox/
processor/src/main/java/org/apache/james/imap/processor/
store/src/main/java/org/apache/james/imap/store/
torque/src/main/java/org/apache/james/mailboxmana...
Author: rdonkin
Date: Sat May 9 19:39:44 2009
New Revision: 773265
URL: http://svn.apache.org/viewvc?rev=773265&view=rev
Log:
Add isWritable so that Mailbox is not longer required, only MetaData. IMAP-79 https://issues.apache.org/jira/browse/IMAP-79
Modified:
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMetaData.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MailboxMetaData.java
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
Modified: james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java (original)
+++ james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java Sat May 9 19:39:44 2009
@@ -180,5 +180,13 @@
* @see FetchGroup#FIRST_UNSEEN
*/
Long getFirstUnseen();
+
+ /**
+ * Is this mailbox writable?
+ * @return true if read-write,
+ * false if read only
+ */
+ boolean isWriteable();
+
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java Sat May 9 19:39:44 2009
@@ -41,6 +41,7 @@
import org.apache.james.imap.mailbox.MailboxNotFoundException;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageResult;
+import org.apache.james.imap.mailbox.Mailbox.MetaData;
import org.apache.james.imap.mailbox.util.FetchGroupImpl;
import org.apache.james.imap.mailbox.util.MessageRangeImpl;
import org.apache.james.imap.message.request.AbstractMailboxSelectionRequest;
@@ -93,7 +94,6 @@
private void respond(String tag, ImapCommand command, ImapSession session,
final Mailbox.MetaData metaData, Responder responder) throws MailboxException {
- Mailbox mailbox = getSelectedMailbox(session);
final SelectedMailbox selected = session.getSelected();
flags(responder);
@@ -103,7 +103,7 @@
unseen(responder, metaData, selected);
permanentFlags(responder, metaData);
uidNext(responder, metaData);
- taggedOk(responder, tag, command, mailbox);
+ taggedOk(responder, tag, command, metaData);
}
private void uidNext(final Responder responder, final Mailbox.MetaData metaData)
@@ -115,8 +115,8 @@
}
private void taggedOk(final Responder responder, final String tag,
- final ImapCommand command, final Mailbox mailbox) {
- final boolean writeable = mailbox.isWriteable() && !openReadOnly;
+ final ImapCommand command, final MetaData metaData) {
+ final boolean writeable = metaData.isWriteable() && !openReadOnly;
final ResponseCode code;
if (writeable) {
code = ResponseCode.readWrite();
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMetaData.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMetaData.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMetaData.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMetaData.java Sat May 9 19:39:44 2009
@@ -37,9 +37,10 @@
private final int messageCount;
private final int unseenCount;
private final Long firstUnseen;
+ private final boolean writeable;
public MailboxMetaData(final long[] recent, final Flags premanentFlags, final long uidValidity, final long nextUid,
- final int messageCount, final int unseenCount, final Long firstUnseen) {
+ final int messageCount, final int unseenCount, final Long firstUnseen, final boolean writeable) {
super();
if (recent == null) {
recentCount = 0;
@@ -53,6 +54,7 @@
this.messageCount = messageCount;
this.unseenCount = unseenCount;
this.firstUnseen = firstUnseen;
+ this.writeable = writeable;
}
/**
@@ -107,4 +109,8 @@
public Long getFirstUnseen() {
return firstUnseen;
}
+
+ public boolean isWriteable() {
+ return writeable;
+ }
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java Sat May 9 19:39:44 2009
@@ -497,6 +497,6 @@
break;
}
- return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen);
+ return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable());
}
}
Modified: james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MailboxMetaData.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MailboxMetaData.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MailboxMetaData.java (original)
+++ james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MailboxMetaData.java Sat May 9 19:39:44 2009
@@ -36,9 +36,10 @@
private final int messageCount;
private final int unseenCount;
private final Long firstUnseen;
+ private final boolean writeable;
public MailboxMetaData(final long[] recent, final Flags premanentFlags, final long uidValidity, final long nextUid,
- final int messageCount, final int unseenCount, final Long firstUnseen) {
+ final int messageCount, final int unseenCount, final Long firstUnseen, final boolean writeable) {
super();
if (recent == null) {
recentCount = 0;
@@ -52,6 +53,7 @@
this.messageCount = messageCount;
this.unseenCount = unseenCount;
this.firstUnseen = firstUnseen;
+ this.writeable = writeable;
}
/**
@@ -106,4 +108,8 @@
public Long getFirstUnseen() {
return firstUnseen;
}
-}
+
+ public boolean isWriteable() {
+ return writeable;
+ }
+}
\ No newline at end of file
Modified: james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=773265&r1=773264&r2=773265&view=diff
==============================================================================
--- james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java (original)
+++ james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java Sat May 9 19:39:44 2009
@@ -834,6 +834,6 @@
break;
}
- return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen);
+ return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org