Author: rdonkin
Date: Fri Jan 23 02:09:26 2009
New Revision: 736981
URL: http://svn.apache.org/viewvc?rev=736981&view=rev
Log:
Simplify API
Modified:
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
Modified:
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
URL:
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java?rev=736981&r1=736980&r2=736981&view=diff
==============================================================================
---
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
(original)
+++
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java
Fri Jan 23 02:09:26 2009
@@ -71,8 +71,14 @@
int getUnseenCount(MailboxSession mailboxSession)
throws MailboxException;
- MessageResult getFirstUnseen(FetchGroup fetchGroup,
- MailboxSession mailboxSession) throws MailboxException;
+ /**
+ * Gets the UID of the first unseen message.
+ * @param mailboxSession not null
+ * @return uid of the first unseen message,
+ * or null when there are no unseen messages
+ * @throws MailboxException
+ */
+ Long getFirstUnseen(MailboxSession mailboxSession) throws MailboxException;
/**
*
Modified:
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java
URL:
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java?rev=736981&r1=736980&r2=736981&view=diff
==============================================================================
---
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java
(original)
+++
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java
Fri Jan 23 02:09:26 2009
@@ -138,10 +138,9 @@
private void unseen(Responder responder, Mailbox mailbox,
final MailboxSession mailboxSession,
final SelectedMailbox selected) throws MailboxException {
- final MessageResult firstUnseen = mailbox.getFirstUnseen(
- FetchGroupImpl.MINIMAL, mailboxSession);
+ final Long firstUnseen = mailbox.getFirstUnseen(mailboxSession);
if (firstUnseen != null) {
- final long unseenUid = firstUnseen.getUid();
+ final long unseenUid = firstUnseen;
int msn = selected.msn(unseenUid);
final StatusResponse untaggedOk = statusResponseFactory.untaggedOk(
HumanReadableTextKey.UNSEEN, ResponseCode.unseen(msn));
Modified:
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
URL:
http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=736981&r1=736980&r2=736981&view=diff
==============================================================================
---
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
(original)
+++
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
Fri Jan 23 02:09:26 2009
@@ -241,20 +241,25 @@
return results;
}
- public MessageResult getFirstUnseen(FetchGroup fetchGroup,
- MailboxSession mailboxSession) throws MailboxException {
+ public Long getFirstUnseen(MailboxSession mailboxSession) throws
MailboxException {
try {
final MessageMapper messageMapper = createMessageMapper();
final List<MailboxMembership> messageRows =
messageMapper.findUnseenMessagesInMailboxOrderByUid(mailboxId);
final Iterator<MailboxMembership> it = messageRows.iterator();
- final MessageResult result;
+ final MessageResult message;
if (it.hasNext()) {
- result = fillMessageResult(it.next(), fetchGroup);
- if (result != null) {
- getUidChangeTracker().found(result);
+ message = fillMessageResult(it.next(), FetchGroupImpl.MINIMAL);
+ if (message != null) {
+ getUidChangeTracker().found(message);
}
} else {
+ message = null;
+ }
+ final Long result;
+ if (message == null) {
result = null;
+ } else {
+ result = message.getUid();
}
return result;
} catch (MessagingException e) {
Modified:
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL:
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=736981&r1=736980&r2=736981&view=diff
==============================================================================
---
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
(original)
+++
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
Fri Jan 23 02:09:26 2009
@@ -393,8 +393,7 @@
return criterion;
}
- public MessageResult getFirstUnseen(FetchGroup fetchGroup,
- MailboxSession mailboxSession) throws MailboxException {
+ public Long getFirstUnseen(MailboxSession mailboxSession) throws
MailboxException {
try {
lock.readLock().acquire();
try {
@@ -415,12 +414,12 @@
List messageRows = getMailboxRow().getMessageRows(c);
if (messageRows.size() > 0) {
MessageResult messageResult = fillMessageResult(
- (MessageRow) messageRows.get(0), fetchGroup);
+ (MessageRow) messageRows.get(0),
FetchGroupImpl.MINIMAL);
if (messageResult != null) {
getUidChangeTracker().found(messageResult);
}
- return messageResult;
+ return messageResult.getUid();
} else {
return null;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]