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 no...@apache.org on 2010/07/29 10:20:02 UTC
svn commit: r980356 - 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: norman
Date: Thu Jul 29 08:20:01 2010
New Revision: 980356
URL: http://svn.apache.org/viewvc?rev=980356&view=rev
Log:
use MailboxSession as parameter for Mailbox.isWritable(...). This will be helpful later on shared mailboxes where the acl can be different per user
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/CloseProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMessageManager.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=980356&r1=980355&r2=980356&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 Thu Jul 29 08:20:01 2010
@@ -51,9 +51,10 @@ public interface Mailbox {
/**
* Return if the Mailbox is writable
*
+ * @param session
* @return writable
*/
- boolean isWriteable();
+ boolean isWriteable(MailboxSession session);
/**
* Searches for messages matching the given query.
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java?rev=980356&r1=980355&r2=980356&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java Thu Jul 29 08:20:01 2010
@@ -48,10 +48,10 @@ public class CloseProcessor extends Abst
String tag, ImapCommand command, Responder responder) {
try {
Mailbox mailbox = getSelectedMailbox(session);
- if (mailbox.isWriteable()) {
+ final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
+ if (mailbox.isWriteable(mailboxSession)) {
- final MailboxSession mailboxSession = ImapSessionUtils
- .getMailboxSession(session);
+
mailbox.expunge(MessageRange.all(), mailboxSession);
session.deselect();
// TODO: the following comment was present in the code before
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java?rev=980356&r1=980355&r2=980356&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java Thu Jul 29 08:20:01 2010
@@ -32,6 +32,7 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.mailbox.Mailbox;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.message.request.ExpungeRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -52,19 +53,18 @@ public class ExpungeProcessor extends Ab
String tag, ImapCommand command, Responder responder) {
try {
final Mailbox mailbox = getSelectedMailbox(session);
- if (!mailbox.isWriteable()) {
+ final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
+
+ if (!mailbox.isWriteable(mailboxSession)) {
no(command, tag, responder,
HumanReadableText.MAILBOX_IS_READ_ONLY);
} else {
- final Iterator<Long> it = mailbox.expunge(MessageRange.all(),
- ImapSessionUtils
- .getMailboxSession(session));
- final SelectedMailbox mailboxSession = session
- .getSelected();
+ final Iterator<Long> it = mailbox.expunge(MessageRange.all(), mailboxSession);
+ final SelectedMailbox selected = session.getSelected();
if (mailboxSession != null) {
while (it.hasNext()) {
final long uid = it.next();
- mailboxSession.removeRecent(uid);
+ selected.removeRecent(uid);
}
}
unsolicitedResponses(session, responder, false);
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMessageManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMessageManager.java?rev=980356&r1=980355&r2=980356&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMessageManager.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMessageManager.java Thu Jul 29 08:20:01 2010
@@ -575,7 +575,7 @@ public abstract class StoreMessageManage
/**
* This mailbox is writable
*/
- public boolean isWriteable() {
+ public boolean isWriteable(MailboxSession session) {
return true;
}
@@ -648,6 +648,6 @@ public abstract class StoreMessageManage
unseenCount = 0;
break;
}
- return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable());
+ return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable(mailboxSession));
}
}
\ 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=980356&r1=980355&r2=980356&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 Thu Jul 29 08:20:01 2010
@@ -713,7 +713,11 @@ public class TorqueMailbox implements Ma
}
}
- public boolean isWriteable() {
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.mailbox.Mailbox#isWriteable(org.apache.james.imap.mailbox.MailboxSession)
+ */
+ public boolean isWriteable(MailboxSession session) {
return true;
}
@@ -850,6 +854,6 @@ public class TorqueMailbox implements Ma
break;
}
- return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable());
+ return new MailboxMetaData(recent, permanentFlags, uidValidity, uidNext, messageCount, unseenCount, firstUnseen, isWriteable(mailboxSession));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org