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 2008/02/04 21:44:54 UTC
svn commit: r618429 [1/2] - in /james/server/trunk:
core-library/src/main/java/org/apache/james/mailboxmanager/
core-library/src/main/java/org/apache/james/mailboxmanager/impl/
core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/
core-li...
Author: rdonkin
Date: Mon Feb 4 12:44:48 2008
New Revision: 618429
URL: http://svn.apache.org/viewvc?rev=618429&view=rev
Log:
Switched to using fetch groups. To allow mime parts and headers to be efficiently fetched.
Added:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/FetchGroupImpl.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/OrFetchGroup.java
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResult.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/MessageResultImpl.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/AbstractImapMailbox.java
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultImplIncludedResultsTest.java
james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultUtilsIsIncludedTest.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java
james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/AbstractImapMailboxSelfTestCase.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResult.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResult.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResult.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResult.java Mon Feb 4 12:44:48 2008
@@ -61,39 +61,56 @@
public interface MessageResult extends Comparable {
/**
- * For example: could have best performance when doing store and then
- * forget. UIDs are always returned
+ * Indicates the results fetched.
*/
- public static final int MINIMAL = 0x00;
-
- /**
- *
- */
- public static final int MIME_MESSAGE = 0x01;
-
- /**
- * return a string baded key (used by James)
- */
- public static final int KEY = 0x10;
-
- public static final int SIZE = 0x20;
-
- public static final int INTERNAL_DATE = 0x40;
-
- public static final int FLAGS = 0x80;
+ public interface FetchGroup {
+
+ /**
+ * For example: could have best performance when doing store and then
+ * forget. UIDs are always returned
+ */
+ public static final int MINIMAL = 0x00;
+ /**
+ *
+ */
+ public static final int MIME_MESSAGE = 0x01;
+ /**
+ * return a string baded key (used by James)
+ */
+ public static final int KEY = 0x10;
+ public static final int SIZE = 0x20;
+ public static final int INTERNAL_DATE = 0x40;
+ public static final int FLAGS = 0x80;
+ public static final int HEADERS = 0x100;
+ public static final int FULL_CONTENT = 0x200;
+ public static final int BODY_CONTENT = 0x400;
- public static final int HEADERS = 0x100;
-
- public static final int FULL_CONTENT = 0x200;
-
- public static final int BODY_CONTENT = 0x400;
+ /**
+ * Contents to be retu
+ * @return
+ */
+ public int content();
+
+ /**
+ * Mime parts to be included in the results.
+ * @return array of mime parts numbered from one,
+ * or null
+ */
+ public int[] mimeParts();
+
+ /**
+ * Mime headers to be included in the results.
+ * @return array of mime headers numbered from one
+ */
+ public int[] mimeHeaders();
+ }
/**
* Gets the results set.
* @return bitwise indication of result set
* @see MessageResultUtils#isIncluded(MessageResult, int)
*/
- int getIncludedResults();
+ FetchGroup getIncludedResults();
MimeMessage getMimeMessage() throws MailboxManagerException;
@@ -132,7 +149,7 @@
/**
* Gets headers for the message.
* @return <code>Header</code> <code>Iterator</code>,
- * or null if {@link #HEADERS} was not fetched
+ * or null if {@link FetchGroup#HEADERS} was not fetched
*/
Iterator iterateHeaders() throws MailboxManagerException;
@@ -160,7 +177,7 @@
* Gets the full message including headers and body.
* The message data should have normalised line endings (CRLF).
* @return <code>Content</code>,
- * or or null if {@link #FULL_CONTENT} has not been included in the
+ * or or null if {@link FetchGroup#FULL_CONTENT} has not been included in the
* results
*/
Content getFullMessage() throws MailboxManagerException;
@@ -169,7 +186,7 @@
* Gets the body of the message excluding headers.
* The message data should have normalised line endings (CRLF).
* @return <code>Content</code>,
- * or or null if {@link #FULL_CONTENT} has not been included in the
+ * or or null if {@link FetchGroup#FULL_CONTENT} has not been included in the
* results
*/
Content getMessageBody() throws MailboxManagerException;
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java Mon Feb 4 12:44:48 2008
@@ -26,6 +26,7 @@
import javax.mail.MessagingException;
import org.apache.commons.collections.IteratorUtils;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
public class MessageResultUtils {
@@ -143,17 +144,17 @@
final boolean result;
if (message == null) {
result = false;
- } else if (datum == MessageResult.MINIMAL) {
+ } else if (datum == FetchGroup.MINIMAL) {
result = true;
} else {
- final int includes = message.getIncludedResults();
+ final int includes = message.getIncludedResults().content();
result = (includes & datum) == datum;
}
return result;
}
/**
- * Is {@link MessageResult#BODY_CONTENT} included in these results?
+ * Is {@link FetchGroup#BODY_CONTENT} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* BODY_CONTENT, false if <code>MessageResult</code> is null
@@ -161,11 +162,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isBodyContentIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.BODY_CONTENT);
+ return isIncluded(message, FetchGroup.BODY_CONTENT);
}
/**
- * Is {@link MessageResult#FLAGS} included in these results?
+ * Is {@link FetchGroup#FLAGS} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* FLAGS, false if <code>MessageResult</code> is null
@@ -173,11 +174,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isFlagsIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.FLAGS);
+ return isIncluded(message, FetchGroup.FLAGS);
}
/**
- * Is {@link MessageResult#FULL_CONTENT} included in these results?
+ * Is {@link FetchGroup#FULL_CONTENT} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* FULL_CONTENT, false if <code>MessageResult</code> is null
@@ -185,11 +186,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isFullContentIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.FULL_CONTENT);
+ return isIncluded(message, FetchGroup.FULL_CONTENT);
}
/**
- * Is {@link MessageResult#HEADERS} included in these results?
+ * Is {@link FetchGroup#HEADERS} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* HEADERS, false if <code>MessageResult</code> is null
@@ -197,11 +198,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isHeadersIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.HEADERS);
+ return isIncluded(message, FetchGroup.HEADERS);
}
/**
- * Is {@link MessageResult#KEY} included in these results?
+ * Is {@link FetchGroup#KEY} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* KEY, false if <code>MessageResult</code> is null
@@ -209,11 +210,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isKeyIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.KEY);
+ return isIncluded(message, FetchGroup.KEY);
}
/**
- * Is {@link MessageResult#INTERNAL_DATE} included in these results?
+ * Is {@link FetchGroup#INTERNAL_DATE} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* INTERNAL_DATE, false if <code>MessageResult</code> is null
@@ -221,11 +222,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isInternalDateIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.INTERNAL_DATE);
+ return isIncluded(message, FetchGroup.INTERNAL_DATE);
}
/**
- * Is {@link MessageResult#MIME_MESSAGE} included in these results?
+ * Is {@link FetchGroup#MIME_MESSAGE} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* MIME_MESSAGE, false if <code>MessageResult</code> is null
@@ -233,11 +234,11 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isMimeMessageIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.MIME_MESSAGE);
+ return isIncluded(message, FetchGroup.MIME_MESSAGE);
}
/**
- * Is {@link MessageResult#SIZE} included in these results?
+ * Is {@link FetchGroup#SIZE} included in these results?
* @param message <code>MessageResult</code>, possibly null
* @return true if <code>MessageResult</code> includes
* SIZE, false if <code>MessageResult</code> is null
@@ -245,6 +246,6 @@
* @see #isIncluded(MessageResult, int)
*/
public static boolean isSizeIncluded(final MessageResult message) {
- return isIncluded(message, MessageResult.SIZE);
+ return isIncluded(message, FetchGroup.SIZE);
}
}
Added: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/FetchGroupImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/FetchGroupImpl.java?rev=618429&view=auto
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/FetchGroupImpl.java (added)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/FetchGroupImpl.java Mon Feb 4 12:44:48 2008
@@ -0,0 +1,92 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mailboxmanager.impl;
+
+import org.apache.james.mailboxmanager.MessageResult;
+
+/**
+ * Specifies a fetch group.
+ */
+public class FetchGroupImpl implements MessageResult.FetchGroup {
+
+ public static final MessageResult.FetchGroup MINIMAL
+ = new FetchGroupImpl(MessageResult.FetchGroup.MINIMAL);
+ public static final MessageResult.FetchGroup MIME_MESSAGE
+ = new FetchGroupImpl(MessageResult.FetchGroup.MIME_MESSAGE);
+ public static final MessageResult.FetchGroup KEY
+ = new FetchGroupImpl(MessageResult.FetchGroup.KEY);
+ public static final MessageResult.FetchGroup SIZE
+ = new FetchGroupImpl(MessageResult.FetchGroup.SIZE);
+ public static final MessageResult.FetchGroup INTERNAL_DATE
+ = new FetchGroupImpl(MessageResult.FetchGroup.INTERNAL_DATE);
+ public static final MessageResult.FetchGroup FLAGS
+ = new FetchGroupImpl(MessageResult.FetchGroup.FLAGS);
+ public static final MessageResult.FetchGroup HEADERS
+ = new FetchGroupImpl(MessageResult.FetchGroup.HEADERS);
+ public static final MessageResult.FetchGroup FULL_CONTENT
+ = new FetchGroupImpl(MessageResult.FetchGroup.FULL_CONTENT);
+ public static final MessageResult.FetchGroup BODY_CONTENT
+ = new FetchGroupImpl(MessageResult.FetchGroup.BODY_CONTENT);
+
+
+ private int content = MessageResult.FetchGroup.MINIMAL;
+ private int[] mimeParts = null;
+ private int[] mimeHeaders = null;
+
+ public FetchGroupImpl() {
+ super();
+ }
+
+ public FetchGroupImpl(int content) {
+ super();
+ this.content = content;
+ }
+
+ public FetchGroupImpl(int content, int[] mimeParts, int[] mimeHeaders) {
+ super();
+ this.content = content;
+ this.mimeParts = mimeParts;
+ this.mimeHeaders = mimeHeaders;
+ }
+
+ public int content() {
+ return content;
+ }
+
+ public int[] mimeHeaders() {
+ return mimeHeaders;
+ }
+
+ public int[] mimeParts() {
+ return mimeParts;
+ }
+
+ public void setMimeParts(int[] mimeParts) {
+ this.mimeParts = mimeParts;
+ }
+
+ public void setMimeHeaders(int[] mimeHeaders) {
+ this.mimeHeaders = mimeHeaders;
+ }
+
+ public String toString() {
+ return "Fetch " + content;
+ }
+}
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/MessageResultImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/MessageResultImpl.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/MessageResultImpl.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/MessageResultImpl.java Mon Feb 4 12:44:48 2008
@@ -47,7 +47,7 @@
private List headers;
private Content messageBody;
private Content fullMessage;
- private int includedResults = MINIMAL;
+ private int includedResults = FetchGroup.MINIMAL;
public MessageResultImpl(long uid) {
setUid(uid);
@@ -89,8 +89,8 @@
}
}
- public int getIncludedResults() {
- return includedResults;
+ public MessageResult.FetchGroup getIncludedResults() {
+ return new FetchGroupImpl(includedResults);
}
public MimeMessage getMimeMessage() {
@@ -100,7 +100,7 @@
public void setMimeMessage(MimeMessage mimeMessage) {
this.mimeMessage=mimeMessage;
if (mimeMessage != null) {
- includedResults |= MIME_MESSAGE;
+ includedResults |= FetchGroup.MIME_MESSAGE;
}
}
@@ -136,7 +136,7 @@
public void setFlags(Flags flags) {
this.flags=flags;
if (flags != null) {
- includedResults |= FLAGS;
+ includedResults |= FetchGroup.FLAGS;
}
}
@@ -157,13 +157,13 @@
public void setSize(int size) {
this.size=size;
- includedResults |= SIZE;
+ includedResults |= FetchGroup.SIZE;
}
public void setInternalDate(Date internalDate) {
this.internalDate = internalDate;
if (internalDate != null) {
- includedResults |= INTERNAL_DATE;
+ includedResults |= FetchGroup.INTERNAL_DATE;
}
}
@@ -208,7 +208,7 @@
public void setKey(String key) {
this.key=key;
if (key != null) {
- includedResults |= KEY;
+ includedResults |= FetchGroup.KEY;
}
}
@@ -223,7 +223,7 @@
public void setHeaders(List headers) {
this.headers = headers;
if (headers != null) {
- includedResults |= HEADERS;
+ includedResults |= FetchGroup.HEADERS;
}
}
@@ -234,7 +234,7 @@
public final void setFullMessage(Content fullMessage) {
this.fullMessage = fullMessage;
if (fullMessage != null) {
- includedResults |= FULL_CONTENT;
+ includedResults |= FetchGroup.FULL_CONTENT;
}
}
@@ -245,7 +245,7 @@
public final void setMessageBody(Content messageBody) {
this.messageBody = messageBody;
if (messageBody != null) {
- includedResults |= BODY_CONTENT;
+ includedResults |= FetchGroup.BODY_CONTENT;
}
}
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/AbstractImapMailbox.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/AbstractImapMailbox.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/AbstractImapMailbox.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/AbstractImapMailbox.java Mon Feb 4 12:44:48 2008
@@ -29,13 +29,15 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.util.AbstractLogFactoryAware;
public abstract class AbstractImapMailbox extends AbstractLogFactoryAware implements ImapMailbox {
public Collection list(MailboxSession mailboxSession) throws MailboxManagerException {
- final Iterator it = getMessages(GeneralMessageSetImpl.all(), MessageResult.KEY, mailboxSession);
+ final Iterator it = getMessages(GeneralMessageSetImpl.all(), FetchGroupImpl.KEY, mailboxSession);
final Collection result = new ArrayList(100);
while (it.hasNext()) {
final MessageResult next = (MessageResult) it.next();
@@ -51,7 +53,7 @@
public MimeMessage retrieve(final String key, MailboxSession mailboxSession) throws MailboxManagerException {
final Iterator it = getMessages(GeneralMessageSetImpl.oneKey(key),
- MessageResult.MIME_MESSAGE, mailboxSession);
+ FetchGroupImpl.MIME_MESSAGE, mailboxSession);
final MimeMessage result;
if (it.hasNext()) {
final MessageResult message = (MessageResult) it.next();
@@ -63,7 +65,7 @@
}
public String store(MimeMessage message, MailboxSession mailboxSession) throws MailboxManagerException {
- MessageResult result=appendMessage(message, new Date(), MessageResult.KEY, mailboxSession);
+ MessageResult result=appendMessage(message, new Date(), FetchGroupImpl.KEY, mailboxSession);
return result.getKey();
}
}
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/mailbox/ImapMailbox.java Mon Feb 4 12:44:48 2008
@@ -30,6 +30,7 @@
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.SearchParameters;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
@@ -42,7 +43,7 @@
public static final long ANONYMOUS_SESSION = 0;
/**
- * @param result
+ * @param fetchGroup
* which fields to be returned in MessageResult
* @param mailboxSession TODO
* @return MessageResult with the fields defined by <b>result</b>
@@ -55,7 +56,7 @@
* @throws UnsupportedCriteriaException when any of the search parameters are
* not supported by this mailbox
*/
- Iterator search(GeneralMessageSet set,SearchParameters searchTerm, int result,
+ Iterator search(GeneralMessageSet set, SearchParameters searchTerm, FetchGroup fetchGroup,
MailboxSession mailboxSession) throws MailboxManagerException;
@@ -82,7 +83,7 @@
int getUnseenCount(MailboxSession mailboxSession) throws MailboxManagerException;
- MessageResult getFirstUnseen(int result, MailboxSession mailboxSession) throws MailboxManagerException;
+ MessageResult getFirstUnseen(FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxManagerException;
/**
*
@@ -91,7 +92,7 @@
* <li> IMAP, Javamail: not required, always expunge all</li>
* <li> UIDPLUS: requires the possibility of defining a uid range</li>
* </ul>
- * @param result
+ * @param fetchGroup
* which fields to be returned in MessageResult
* @param mailboxSession TODO
*
@@ -104,7 +105,7 @@
* @throws MailboxManagerException
* if anything went wrong
*/
- Iterator expunge(GeneralMessageSet set, int result, MailboxSession mailboxSession) throws MailboxManagerException;
+ Iterator expunge(GeneralMessageSet set, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxManagerException;
/**
@@ -120,14 +121,14 @@
* replace all Flags with this flags, value has to be true
* @param set
* the range of messages
- * @param result fetch group for results
+ * @param fetchGroup fetch group for results
* @param mailboxSession TODO
* @return {@link MessageResult} <code>Iterator</code> containing messages
* whose flags have been updated, not null
* @throws MailboxManagerException
*/
Iterator setFlags(Flags flags, boolean value, boolean replace,
- GeneralMessageSet set, int result, MailboxSession mailboxSession) throws MailboxManagerException;
+ GeneralMessageSet set, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxManagerException;
/**
* @param internalDate
@@ -135,7 +136,7 @@
* this server (by smtp). Clients are also allowed to set the
* internalDate on apppend.</p><p>Is this Mail.getLastUpdates() for
* James delivery? Should we use MimeMessage.getReceivedDate()?
- * @param result
+ * @param fetchGroup
* which fields to be returned in MessageResult
* @param mailboxSession TODO
* @return MessageResult with the fields defined by <b>result</b>
@@ -148,7 +149,7 @@
* if anything went wrong
*/
MessageResult appendMessage(MimeMessage message, Date internalDate,
- int result, MailboxSession mailboxSession) throws MailboxManagerException;
+ FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxManagerException;
/**
*
@@ -163,7 +164,7 @@
* @throws MailboxManagerException
*/
- Iterator getMessages(GeneralMessageSet set, int result, MailboxSession mailboxSession)
+ Iterator getMessages(GeneralMessageSet set, FetchGroup fetchGroup, MailboxSession mailboxSession)
throws MailboxManagerException;
void remove(GeneralMessageSet set, MailboxSession mailboxSession) throws MailboxManagerException;
Modified: james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultImplIncludedResultsTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultImplIncludedResultsTest.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultImplIncludedResultsTest.java (original)
+++ james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultImplIncludedResultsTest.java Mon Feb 4 12:44:48 2008
@@ -27,6 +27,7 @@
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
import org.apache.james.mailboxmanager.impl.MessageResultImpl;
import org.jmock.MockObjectTestCase;
@@ -48,118 +49,118 @@
public void testShouldIncludedResultsWhenMimeMessageSet() throws Exception {
MimeMessage message = new MimeMessage(Session.getDefaultInstance(new Properties()));
result.setMimeMessage(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
result.setMimeMessage(message);
- assertEquals(MessageResult.MIME_MESSAGE, result.getIncludedResults());
+ assertEquals(FetchGroup.MIME_MESSAGE, result.getIncludedResults().content());
MessageResultImpl result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.MIME_MESSAGE, result.getIncludedResults());
+ assertEquals(FetchGroup.MIME_MESSAGE, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenFlagsSet() throws Exception {
result.setFlags(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
Flags flags = new Flags();
result.setFlags(flags);
- assertEquals(MessageResult.FLAGS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
MessageResultImpl result = new MessageResultImpl(77, flags);
- assertEquals(MessageResult.FLAGS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.FLAGS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenSizeSet() throws Exception {
result.setSize(100);
- assertEquals(MessageResult.SIZE, result.getIncludedResults());
+ assertEquals(FetchGroup.SIZE, result.getIncludedResults().content());
MessageResultImpl result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.SIZE, result.getIncludedResults());
+ assertEquals(FetchGroup.SIZE, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenInternalDateSet() throws Exception {
result.setInternalDate(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
Date date = new Date();
result.setInternalDate(date);
- assertEquals(MessageResult.INTERNAL_DATE, result.getIncludedResults());
+ assertEquals(FetchGroup.INTERNAL_DATE, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.INTERNAL_DATE, result.getIncludedResults());
+ assertEquals(FetchGroup.INTERNAL_DATE, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenKeySet() throws Exception {
result.setKey(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
result.setKey("KEY");
- assertEquals(MessageResult.KEY, result.getIncludedResults());
+ assertEquals(FetchGroup.KEY, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.KEY, result.getIncludedResults());
+ assertEquals(FetchGroup.KEY, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenHeadersSet() throws Exception {
result.setHeaders(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
result.setHeaders(new ArrayList());
- assertEquals(MessageResult.HEADERS, result.getIncludedResults());
+ assertEquals(FetchGroup.HEADERS, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.HEADERS, result.getIncludedResults());
+ assertEquals(FetchGroup.HEADERS, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenFullMessageSet() throws Exception {
result.setFullMessage(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
result.setFullMessage(content);
- assertEquals(MessageResult.FULL_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.FULL_CONTENT, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.FULL_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.FULL_CONTENT, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenMessageBodySet() throws Exception {
result.setMessageBody(null);
- assertEquals(MessageResult.MINIMAL, result.getIncludedResults());
+ assertEquals(FetchGroup.MINIMAL, result.getIncludedResults().content());
result.setMessageBody(content);
- assertEquals(MessageResult.BODY_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.BODY_CONTENT, result.getIncludedResults().content());
result = new MessageResultImpl(this.result);
- assertEquals(MessageResult.BODY_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.BODY_CONTENT, result.getIncludedResults().content());
}
public void testShouldIncludedResultsWhenAllSet() {
Flags flags = new Flags();
result.setFlags(flags);
- assertEquals(MessageResult.FLAGS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
result.setUid(99);
- assertEquals(MessageResult.FLAGS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
result.setMessageBody(content);
- assertEquals(MessageResult.FLAGS | MessageResult.BODY_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
assertTrue(MessageResultUtils.isBodyContentIncluded(result));
result.setFullMessage(content);
- assertEquals(MessageResult.FLAGS |
- MessageResult.BODY_CONTENT | MessageResult.FULL_CONTENT, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS |
+ FetchGroup.BODY_CONTENT | FetchGroup.FULL_CONTENT, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
assertTrue(MessageResultUtils.isBodyContentIncluded(result));
assertTrue(MessageResultUtils.isFullContentIncluded(result));
result.setHeaders(new ArrayList());
- assertEquals(MessageResult.FLAGS |
- MessageResult.BODY_CONTENT | MessageResult.FULL_CONTENT
- | MessageResult.HEADERS, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS |
+ FetchGroup.BODY_CONTENT | FetchGroup.FULL_CONTENT
+ | FetchGroup.HEADERS, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
assertTrue(MessageResultUtils.isBodyContentIncluded(result));
assertTrue(MessageResultUtils.isFullContentIncluded(result));
assertTrue(MessageResultUtils.isHeadersIncluded(result));
result.setInternalDate(new Date());
- assertEquals(MessageResult.FLAGS |
- MessageResult.BODY_CONTENT | MessageResult.FULL_CONTENT
- | MessageResult.HEADERS | MessageResult.INTERNAL_DATE, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS |
+ FetchGroup.BODY_CONTENT | FetchGroup.FULL_CONTENT
+ | FetchGroup.HEADERS | FetchGroup.INTERNAL_DATE, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
assertTrue(MessageResultUtils.isBodyContentIncluded(result));
assertTrue(MessageResultUtils.isFullContentIncluded(result));
assertTrue(MessageResultUtils.isHeadersIncluded(result));
assertTrue(MessageResultUtils.isInternalDateIncluded(result));
result.setSize(100);
- assertEquals(MessageResult.FLAGS |
- MessageResult.BODY_CONTENT | MessageResult.FULL_CONTENT
- | MessageResult.HEADERS | MessageResult.INTERNAL_DATE
- | MessageResult.SIZE, result.getIncludedResults());
+ assertEquals(FetchGroup.FLAGS |
+ FetchGroup.BODY_CONTENT | FetchGroup.FULL_CONTENT
+ | FetchGroup.HEADERS | FetchGroup.INTERNAL_DATE
+ | FetchGroup.SIZE, result.getIncludedResults().content());
assertTrue(MessageResultUtils.isFlagsIncluded(result));
assertTrue(MessageResultUtils.isBodyContentIncluded(result));
assertTrue(MessageResultUtils.isFullContentIncluded(result));
Modified: james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultUtilsIsIncludedTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultUtilsIsIncludedTest.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultUtilsIsIncludedTest.java (original)
+++ james/server/trunk/core-library/src/test/java/org/apache/james/mailboxmanager/MessageResultUtilsIsIncludedTest.java Mon Feb 4 12:44:48 2008
@@ -19,6 +19,8 @@
package org.apache.james.mailboxmanager;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.jmock.Mock;
import org.jmock.MockObjectTestCase;
@@ -33,69 +35,69 @@
}
public void testShouldReturnFalseWhenNull() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(null, MessageResult.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(null, FetchGroup.FLAGS));
}
public void testBodyContentIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.BODY_CONTENT));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS), MessageResult.BODY_CONTENT));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.BODY_CONTENT));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.BODY_CONTENT));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.FLAGS), FetchGroup.BODY_CONTENT));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.BODY_CONTENT));
}
public void testFlagsIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.FLAGS));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.FLAGS));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS), MessageResult.FLAGS));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.BODY_CONTENT), MessageResult.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.FLAGS));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.FLAGS), FetchGroup.FLAGS));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT)), FetchGroup.FLAGS));
}
public void testFULL_CONTENTIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.FULL_CONTENT));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.FULL_CONTENT));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FULL_CONTENT), MessageResult.FULL_CONTENT));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.FULL_CONTENT), MessageResult.FULL_CONTENT));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.FULL_CONTENT));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.FULL_CONTENT));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.FULL_CONTENT), FetchGroup.FULL_CONTENT));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.FULL_CONTENT)), FetchGroup.FULL_CONTENT));
}
public void testHEADERSIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.HEADERS));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.HEADERS));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.HEADERS), MessageResult.HEADERS));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.HEADERS), MessageResult.HEADERS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.HEADERS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.HEADERS));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.HEADERS), FetchGroup.HEADERS));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.HEADERS)), FetchGroup.HEADERS));
}
public void testINTERNAL_DATEIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.INTERNAL_DATE));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.INTERNAL_DATE));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.INTERNAL_DATE), MessageResult.INTERNAL_DATE));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.INTERNAL_DATE), MessageResult.INTERNAL_DATE));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.INTERNAL_DATE));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.INTERNAL_DATE));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.INTERNAL_DATE), FetchGroup.INTERNAL_DATE));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.INTERNAL_DATE)), FetchGroup.INTERNAL_DATE));
}
public void testMIME_MESSAGEIncluded() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.MIME_MESSAGE));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.MIME_MESSAGE));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.MIME_MESSAGE), MessageResult.MIME_MESSAGE));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.MIME_MESSAGE), MessageResult.MIME_MESSAGE));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.MIME_MESSAGE));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.MIME_MESSAGE));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MIME_MESSAGE), FetchGroup.MIME_MESSAGE));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.MIME_MESSAGE)), FetchGroup.MIME_MESSAGE));
}
public void testShouldNOTHINGAlwaysBeIncluded() throws Exception {
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL, false), MessageResult.MINIMAL));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT, false), MessageResult.MINIMAL));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.INTERNAL_DATE, false), MessageResult.MINIMAL));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.MIME_MESSAGE, false), MessageResult.MINIMAL));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL, false), FetchGroup.MINIMAL));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT, false), FetchGroup.MINIMAL));
+ assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.INTERNAL_DATE, false), FetchGroup.MINIMAL));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.MIME_MESSAGE), false), FetchGroup.MINIMAL));
}
public void testMultipleData() throws Exception {
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MINIMAL), MessageResult.MIME_MESSAGE | MessageResult.FLAGS));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.BODY_CONTENT), MessageResult.MIME_MESSAGE | MessageResult.FLAGS));
- assertFalse(MessageResultUtils.isIncluded(mock(MessageResult.MIME_MESSAGE), MessageResult.MIME_MESSAGE | MessageResult.FLAGS));
- assertTrue(MessageResultUtils.isIncluded(mock(MessageResult.FLAGS | MessageResult.MIME_MESSAGE), MessageResult.MIME_MESSAGE | MessageResult.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL), FetchGroup.MIME_MESSAGE | FetchGroup.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.MIME_MESSAGE | FetchGroup.FLAGS));
+ assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MIME_MESSAGE), FetchGroup.MIME_MESSAGE | FetchGroup.FLAGS));
+ assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(FetchGroup.FLAGS | FetchGroup.MIME_MESSAGE)), FetchGroup.MIME_MESSAGE | FetchGroup.FLAGS));
}
- private MessageResult mock(int included) {
+ private MessageResult mock(FetchGroup included) {
return mock(included, true);
}
- private MessageResult mock(int included, boolean willBeCalled) {
+ private MessageResult mock(FetchGroup included, boolean willBeCalled) {
Mock result = mock(MessageResult.class);
if (willBeCalled) {
result.expects(once()).method("getIncludedResults").will(returnValue(included));
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/SelectedMailboxSessionImpl.java Mon Feb 4 12:44:48 2008
@@ -37,6 +37,7 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.tracking.UidToMsnConverter;
@@ -132,7 +133,7 @@
for (final Iterator it = events.flagUpdateUids(); it.hasNext();) {
Long uid = (Long) it.next();
GeneralMessageSet messageSet = GeneralMessageSetImpl.oneUid(uid.longValue());
- final Iterator messages = mailbox.getMessages(messageSet, MessageResult.FLAGS, mailboxSession);
+ final Iterator messages = mailbox.getMessages(messageSet, FetchGroupImpl.FLAGS, mailboxSession);
while (messages.hasNext()) {
MessageResult mr = (MessageResult) it.next();
int msn = msn(mr.getUid());
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java Mon Feb 4 12:44:48 2008
@@ -43,6 +43,8 @@
import org.apache.james.mailboxmanager.MailboxNotFoundException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.manager.MailboxManager;
@@ -90,7 +92,7 @@
final boolean resetRecent = !isExamine;
final int recentCount = mailbox.getRecentCount(resetRecent, mailboxSession);
final long uidValidity = mailbox.getUidValidity(mailboxSession);
- final MessageResult firstUnseen = mailbox.getFirstUnseen(MessageResult.MINIMAL, mailboxSession);
+ final MessageResult firstUnseen = mailbox.getFirstUnseen(FetchGroupImpl.MINIMAL, mailboxSession);
final int messageCount = mailbox.getMessageCount(mailboxSession);
final int msn;
if (firstUnseen == null) {
@@ -109,7 +111,7 @@
final ImapMailbox mailbox = mailboxManager.getImapMailbox(mailboxName, false);
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
final Iterator it = mailbox.getMessages(GeneralMessageSetImpl
- .all(), MessageResult.MINIMAL, mailboxSession);
+ .all(), FetchGroupImpl.MINIMAL, mailboxSession);
final List uids = new ArrayList();
while(it.hasNext()) {
final MessageResult result = (MessageResult) it.next();
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java Mon Feb 4 12:44:48 2008
@@ -42,6 +42,7 @@
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.manager.MailboxManager;
import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
@@ -111,7 +112,7 @@
try {
message.setFlag(Flag.RECENT, true);
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
- mailbox.appendMessage(message, datetime, 0, mailboxSession);
+ mailbox.appendMessage(message, datetime, FetchGroupImpl.MINIMAL, mailboxSession);
} catch (MailboxManagerException e) {
// TODO why not TRYCREATE?
throw new MailboxException(e);
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java Mon Feb 4 12:44:48 2008
@@ -33,7 +33,7 @@
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -55,7 +55,7 @@
try {
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
mailbox.expunge(GeneralMessageSetImpl.all(),
- MessageResult.MINIMAL, mailboxSession);
+ FetchGroupImpl.MINIMAL, mailboxSession);
} catch (MailboxManagerException e) {
throw new MailboxException(e);
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java Mon Feb 4 12:44:48 2008
@@ -24,18 +24,16 @@
import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
-import org.apache.james.api.imap.message.response.ImapResponseMessage;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
-import org.apache.james.api.imap.process.ImapProcessor.Responder;
import org.apache.james.imap.message.request.imap4rev1.ExpungeRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
@@ -61,7 +59,7 @@
} else {
try {
mailbox.expunge(GeneralMessageSetImpl.all(),
- MessageResult.MINIMAL, ImapSessionUtils.getMailboxSession(session));
+ FetchGroupImpl.MINIMAL, ImapSessionUtils.getMailboxSession(session));
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java Mon Feb 4 12:44:48 2008
@@ -59,6 +59,8 @@
import org.apache.james.mailboxmanager.MessageResultUtils;
import org.apache.james.mailboxmanager.UnsupportedCriteriaException;
import org.apache.james.mailboxmanager.MessageResult.Content;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mime4j.field.address.Address;
@@ -98,7 +100,7 @@
AuthorizationException, ProtocolException {
try
{
- int resultToFetch = getNeededMessageResult(fetch);
+ FetchGroup resultToFetch = getFetchGroup(fetch);
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
for (int i = 0; i < idSet.length; i++) {
final FetchResponseBuilder builder = new FetchResponseBuilder(getLogger());
@@ -129,28 +131,28 @@
}
}
- private int getNeededMessageResult(FetchData fetch) {
- int result = MessageResult.MINIMAL;
+ private FetchGroup getFetchGroup(FetchData fetch) {
+ int result = FetchGroup.MINIMAL;
if (fetch.isFlags() || fetch.isSetSeen()) {
- result |= MessageResult.FLAGS;
+ result |= FetchGroup.FLAGS;
}
if (fetch.isInternalDate()) {
- result |= MessageResult.INTERNAL_DATE;
+ result |= FetchGroup.INTERNAL_DATE;
}
if (fetch.isSize()) {
- result |= MessageResult.SIZE;
+ result |= FetchGroup.SIZE;
}
if (fetch.isEnvelope()) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
}
if (fetch.isBody() || fetch.isBodyStructure()) {
// TODO: structure
- result |= MessageResult.MIME_MESSAGE;
+ result |= FetchGroup.MIME_MESSAGE;
}
result |= fetchForBodyElements(fetch.getBodyElements());
- return result;
+ return new FetchGroupImpl(result);
}
private int fetchForBodyElements(final Collection bodyElements) {
@@ -160,16 +162,16 @@
final BodyFetchElement element = (BodyFetchElement) it.next();
final String section = element.getParameters();
if ("HEADER".equalsIgnoreCase(section)) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
} else if (section.startsWith("HEADER.FIELDS.NOT ")) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
} else if (section.startsWith("HEADER.FIELDS ")) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
} else if (section.equalsIgnoreCase("TEXT")) {
;
- result |= MessageResult.BODY_CONTENT;
+ result |= FetchGroup.BODY_CONTENT;
} else if (section.length() == 0) {
- result |= MessageResult.FULL_CONTENT;
+ result |= FetchGroup.FULL_CONTENT;
}
}
}
@@ -232,7 +234,7 @@
if (fetch.isSetSeen()
&& !result.getFlags().contains(Flags.Flag.SEEN)) {
mailbox.setFlags(new Flags(Flags.Flag.SEEN), true, false,
- GeneralMessageSetImpl.oneUid(result.getUid()), MessageResult.MINIMAL, mailboxSession);
+ GeneralMessageSetImpl.oneUid(result.getUid()), FetchGroupImpl.MINIMAL, mailboxSession);
result.getFlags().add(Flags.Flag.SEEN);
ensureFlagsResponse = true;
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java Mon Feb 4 12:44:48 2008
@@ -41,6 +41,8 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.SearchParameters;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -68,7 +70,7 @@
final ImapCommand command, final Responder responder) throws MailboxException,
AuthorizationException, ProtocolException {
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
- final int resultCode = MessageResult.MINIMAL;
+ final FetchGroup resultCode = FetchGroupImpl.MINIMAL;
final Iterator it;
try {
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java Mon Feb 4 12:44:48 2008
@@ -39,12 +39,14 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
public class StoreProcessor extends AbstractImapRequestProcessor {
- private static final int STORE_FETCH_GROUP = MessageResult.FLAGS;
+ private static final FetchGroup STORE_FETCH_GROUP = FetchGroupImpl.FLAGS;
public StoreProcessor(final ImapProcessor next, final StatusResponseFactory factory) {
super(next, factory);
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java Mon Feb 4 12:44:48 2008
@@ -29,7 +29,7 @@
import org.apache.james.mailboxmanager.GeneralMessageSet;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.tracking.UidToMsnConverter;
@@ -72,7 +72,7 @@
for (final Iterator it = events.flagUpdateUids(); it.hasNext();) {
Long uid = (Long) it.next();
GeneralMessageSet messageSet = GeneralMessageSetImpl.oneUid(uid.longValue());
- final Iterator messages = mailbox.getMessages(messageSet, MessageResult.FLAGS, mailboxSession);
+ final Iterator messages = mailbox.getMessages(messageSet, FetchGroupImpl.FLAGS, mailboxSession);
results.addAll(IteratorUtils.toList(messages));
}
return results.iterator();
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java Mon Feb 4 12:44:48 2008
@@ -35,6 +35,7 @@
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
/**
@@ -80,7 +81,7 @@
try {
final MailboxSession mailboxSession = session.getMailboxSession();
- mailbox.appendMessage( message, datetime ,0, mailboxSession);
+ mailbox.appendMessage( message, datetime, FetchGroupImpl.MINIMAL, mailboxSession);
} catch (MailboxManagerException e) {
// TODO why not TRYCREATE?
throw new MailboxException(e);
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java Mon Feb 4 12:44:48 2008
@@ -25,7 +25,8 @@
import org.apache.james.imapserver.ProtocolException;
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -49,7 +50,7 @@
ImapMailbox mailbox = session.getSelected().getMailbox();
if ( session.getSelected().getMailbox().isWriteable() ) {
try {
- mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL, session.getMailboxSession());
+ mailbox.expunge(GeneralMessageSetImpl.all(),FetchGroupImpl.MINIMAL, session.getMailboxSession());
} catch (MailboxManagerException e) {
throw new MailboxException(e);
}
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java Mon Feb 4 12:44:48 2008
@@ -25,7 +25,8 @@
import org.apache.james.imapserver.ProtocolException;
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -53,7 +54,7 @@
}
try {
- mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL, session.getMailboxSession());
+ mailbox.expunge(GeneralMessageSetImpl.all(),FetchGroupImpl.MINIMAL, session.getMailboxSession());
} catch (MailboxManagerException e) {
throw new MailboxException(e);
}
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java Mon Feb 4 12:44:48 2008
@@ -45,6 +45,8 @@
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.MessageResultUtils;
import org.apache.james.mailboxmanager.MessageResult.Content;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mime4j.field.address.Address;
@@ -93,7 +95,7 @@
fetch.uid = true;
}
- final int resultToFetch = fetch.getNeededMessageResult();
+ final FetchGroup resultToFetch = fetch.getFetchGroup();
final SelectedMailboxSession selected = session.getSelected();
final ImapMailbox mailbox = selected.getMailbox();
for (int i = 0; i < idSet.length; i++) {
@@ -141,7 +143,7 @@
if (fetch.isSetSeen()
&& !result.getFlags().contains(Flags.Flag.SEEN)) {
mailbox.setFlags(new Flags(Flags.Flag.SEEN), true, false,
- GeneralMessageSetImpl.oneUid(result.getUid()), MessageResult.MINIMAL, session);
+ GeneralMessageSetImpl.oneUid(result.getUid()), FetchGroupImpl.MINIMAL, session);
result.getFlags().add(Flags.Flag.SEEN);
ensureFlagsResponse = true;
}
@@ -660,37 +662,37 @@
bodyElements.add(element);
}
- public int getNeededMessageResult() {
- int result = MessageResult.MINIMAL;
+ public FetchGroup getFetchGroup() {
+ int result = FetchGroup.MINIMAL;
if (flags || setSeen) {
- result |= MessageResult.FLAGS;
+ result |= FetchGroup.FLAGS;
}
if (internalDate) {
- result |= MessageResult.INTERNAL_DATE;
+ result |= FetchGroup.INTERNAL_DATE;
}
if (size) {
- result |= MessageResult.SIZE;
+ result |= FetchGroup.SIZE;
}
if (mailFetchElement) {
- result |= MessageResult.MIME_MESSAGE;
+ result |= FetchGroup.MIME_MESSAGE;
}
if (envelope) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
}
if (body || bodyStructure) {
// TODO: structure
- result |= MessageResult.MIME_MESSAGE;
+ result |= FetchGroup.MIME_MESSAGE;
}
if (headerFetchElement || mailFetchElement) {
- result |= MessageResult.HEADERS;
+ result |= FetchGroup.HEADERS;
}
if (bodyFetch) {
- result |= MessageResult.BODY_CONTENT;
+ result |= FetchGroup.BODY_CONTENT;
}
if (fullContentFetch) {
- result |= MessageResult.FULL_CONTENT;
+ result |= FetchGroup.FULL_CONTENT;
}
- return result;
+ return new FetchGroupImpl(result);
}
}
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java Mon Feb 4 12:44:48 2008
@@ -30,8 +30,10 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.SearchParameters;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
import org.apache.james.mailboxmanager.SearchParameters.NumericRange;
import org.apache.james.mailboxmanager.SearchParameters.SearchCriteria;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -68,7 +70,7 @@
final SelectedMailboxSession selected = session.getSelected();
ImapMailbox mailbox = selected.getMailbox();
- final int result = MessageResult.MINIMAL;
+ final FetchGroup result = FetchGroupImpl.MINIMAL;
final Iterator it;
try {
it = mailbox.search(GeneralMessageSetImpl.all(),searchTerm, result, session.getMailboxSession());
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java Mon Feb 4 12:44:48 2008
@@ -31,6 +31,8 @@
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -68,7 +70,7 @@
response
.okResponse("UIDVALIDITY " + mailbox.getUidValidity(session.getMailboxSession()), null);
- MessageResult firstUnseen = mailbox.getFirstUnseen(MessageResult.MINIMAL, session.getMailboxSession());
+ MessageResult firstUnseen = mailbox.getFirstUnseen(FetchGroupImpl.MINIMAL, session.getMailboxSession());
response.existsResponse(mailbox.getMessageCount(session.getMailboxSession()));
@@ -94,7 +96,7 @@
private boolean selectMailbox(String mailboxName, ImapSession session, boolean readOnly) throws MailboxException, MailboxManagerException {
ImapMailbox mailbox = session.getMailboxManager().getImapMailbox(mailboxName, false);
final Iterator it = mailbox.getMessages(GeneralMessageSetImpl
- .all(), MessageResult.MINIMAL, session.getMailboxSession());
+ .all(), FetchGroupImpl.MINIMAL, session.getMailboxSession());
final List uids = new ArrayList();
while(it.hasNext()) {
final MessageResult result = (MessageResult) it.next();
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java (original)
+++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java Mon Feb 4 12:44:48 2008
@@ -30,7 +30,8 @@
import org.apache.james.mailboxmanager.GeneralMessageSet;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -102,7 +103,7 @@
final GeneralMessageSet messageSet = GeneralMessageSetImpl
.uidRange(lowVal, highVal);
- mailbox.setFlags(flags, value, replace, messageSet, MessageResult.MINIMAL, mailboxSession);
+ mailbox.setFlags(flags, value, replace, messageSet, FetchGroupImpl.MINIMAL, mailboxSession);
}
} catch (MailboxManagerException e) {
throw new MailboxException(e);
Modified: james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java (original)
+++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java Mon Feb 4 12:44:48 2008
@@ -53,6 +53,8 @@
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
import org.apache.james.mailboxmanager.manager.MailboxExpression;
@@ -98,7 +100,7 @@
ImapMailbox mailbox=getImapMailbox(folder);
for (int i = 0; i < msgs.length; i++) {
msgs[i].setFlags(new Flags(Flags.Flag.RECENT), true);
- mailbox.appendMessage(msgs[i],new Date(),MessageResult.MINIMAL, mailboxSession);
+ mailbox.appendMessage(msgs[i],new Date(),FetchGroupImpl.MINIMAL, mailboxSession);
}
}
@@ -108,7 +110,7 @@
long[] uids=new long[msgs.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i].setFlags(new Flags(Flags.Flag.RECENT), false);
- uids[i]=mailbox.appendMessage(msgs[i],new Date(),MessageResult.MINIMAL, mailboxSession).getUid();
+ uids[i]=mailbox.appendMessage(msgs[i],new Date(),FetchGroupImpl.MINIMAL, mailboxSession).getUid();
}
return uids;
}
@@ -127,7 +129,7 @@
public MimeMessage[] getMessages(String folder) throws MailboxManagerException {
ImapMailbox mailbox=getImapMailbox(folder);
- Iterator iterator =mailbox.getMessages(GeneralMessageSetImpl.all(),MessageResult.MIME_MESSAGE, mailboxSession);
+ Iterator iterator =mailbox.getMessages(GeneralMessageSetImpl.all(),FetchGroupImpl.MIME_MESSAGE, mailboxSession);
List messages = IteratorUtils.toList(iterator);
MimeMessage[] mms=new MimeMessage[messages.size()];
for (int i = 0; i < messages.size(); i++) {
@@ -138,7 +140,7 @@
public long[] getUids(String folder) throws MailboxManagerException {
ImapMailbox mailbox=getImapMailbox(folder);
- Iterator iterator = mailbox.getMessages(GeneralMessageSetImpl.all(),MessageResult.MINIMAL, mailboxSession);
+ Iterator iterator = mailbox.getMessages(GeneralMessageSetImpl.all(),FetchGroupImpl.MINIMAL, mailboxSession);
List messages = IteratorUtils.toList(iterator);
long[] uids=new long[messages.size()];
for (int i = 0; i < messages.size(); i++) {
@@ -184,8 +186,8 @@
public void deleteAll(String folder) throws MailboxManagerException {
ImapMailbox mailbox=getImapMailbox(folder);
- mailbox.setFlags(new Flags(Flag.DELETED),true,false,GeneralMessageSetImpl.all(), MessageResult.MINIMAL, mailboxSession);
- mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL, mailboxSession);
+ mailbox.setFlags(new Flags(Flag.DELETED),true,false,GeneralMessageSetImpl.all(), FetchGroupImpl.MINIMAL, mailboxSession);
+ mailbox.expunge(GeneralMessageSetImpl.all(),FetchGroupImpl.MINIMAL, mailboxSession);
}
public BufferedReader handleRequestReader(String s) throws ProtocolException
{
@@ -269,11 +271,11 @@
public void setFlags(String mailboxName,long fromUid,long toUid,Flags flags, boolean value, boolean replace) throws MailboxManagerException {
ImapMailbox mailbox=getImapMailbox(mailboxName);
- mailbox.setFlags(flags, value, replace, GeneralMessageSetImpl.uidRange(fromUid, toUid), MessageResult.MINIMAL, mailboxSession);
+ mailbox.setFlags(flags, value, replace, GeneralMessageSetImpl.uidRange(fromUid, toUid), FetchGroupImpl.MINIMAL, mailboxSession);
}
private ImapMailbox getImapMailbox(String mailboxName) throws MailboxManagerException {
int[] neededSets = new int[] {GeneralMessageSet.TYPE_UID};
- int neededResults= MessageResult.MIME_MESSAGE + MessageResult.FLAGS;
+ int neededResults= FetchGroup.MIME_MESSAGE + FetchGroup.FLAGS;
ImapMailbox mailboxSession= mailboxManager.getImapMailbox(mailboxName, false);
return mailboxSession;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org