Author: norman
Date: Thu Apr 28 10:45:55 2011
New Revision: 1097408
URL: http://svn.apache.org/viewvc?rev=1097408&view=rev
Log:
Let Message interface extend Comparable
Added:
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageTest.java
- copied, changed from r1097402,
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/MessageRowUtilsTest.java
Removed:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/MessageComparator.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/MessageRowUtilsTest.java
Modified:
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/AbstractMessage.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/Message.java
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
Modified:
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
(original)
+++
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
Thu Apr 28 10:45:55 2011
@@ -35,7 +35,6 @@ import org.apache.james.mailbox.inmemory
import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
-import org.apache.james.mailbox.store.mail.model.MessageComparator;
import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
public class InMemoryMessageMapper extends NonTransactionalMapper implements
MessageMapper<Long> {
@@ -127,7 +126,7 @@ public class InMemoryMessageMapper exten
results = new ArrayList<Message<Long>>();
break;
}
- Collections.sort(results, MessageComparator.INSTANCE);
+ Collections.sort(results);
if(batchSize > 0) {
int i = 0;
@@ -175,7 +174,7 @@ public class InMemoryMessageMapper exten
results.add(member);
}
}
- Collections.sort(results, MessageComparator.INSTANCE);
+ Collections.sort(results);
return results;
}
@@ -186,7 +185,7 @@ public class InMemoryMessageMapper exten
*/
public Long findFirstUnseenMessageUid(Mailbox<Long> mailbox) throws
MailboxException {
List<Message<Long>> memberships = new
ArrayList<Message<Long>>(getMembershipByUidForMailbox(mailbox).values());
- Collections.sort(memberships, MessageComparator.INSTANCE);
+ Collections.sort(memberships);
for (int i = 0; i < memberships.size(); i++) {
Message<Long> m = memberships.get(i);
if (m.isSeen() == false) {
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/MimeDescriptorImpl.java
Thu Apr 28 10:45:55 2011
@@ -43,7 +43,7 @@ import org.apache.james.mime4j.parser.Re
public class MimeDescriptorImpl implements MimeDescriptor {
- public static MimeDescriptorImpl build(final Message document) throws
IOException, MimeException {
+ public static MimeDescriptorImpl build(final Message<?> document) throws
IOException, MimeException {
final MimeDescriptorImpl result;
final String mediaType = document.getMediaType();
if (isComposite(mediaType)) {
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java
Thu Apr 28 10:45:55 2011
@@ -26,11 +26,8 @@ import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
-import javax.swing.text.Document;
-
import org.apache.james.mailbox.Content;
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.MessageResult;
@@ -375,24 +372,4 @@ public class ResultUtils {
messageResult.setFullContent(mimePath, content);
}
}
-
- /**
- * Gets a comparator that evaluates {@link Document}'s on the basis of
- * their UIDs.
- *
- * @return {@link Comparator}, not null
- */
- public static Comparator<Message<?>> getUidComparator() {
- return UidComparator.INSTANCE;
- }
-
- private static final class UidComparator implements Comparator<Message<?>>
{
- private static final UidComparator INSTANCE = new UidComparator();
-
- public int compare(Message<?> one, Message<?> two) {
- final int result = (int) (one.getUid() - two.getUid());
- return result;
- }
-
- }
}
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
Thu Apr 28 10:45:55 2011
@@ -55,7 +55,6 @@ import org.apache.james.mailbox.store.ma
import org.apache.james.mailbox.store.mail.model.Header;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
-import org.apache.james.mailbox.store.mail.model.MessageComparator;
import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
import org.apache.james.mailbox.store.streaming.ConfigurableMimeTokenStream;
import org.apache.james.mailbox.store.streaming.CountingInputStream;
@@ -618,7 +617,7 @@ public abstract class StoreMessageManage
}
}
});
- Collections.sort(hits, MessageComparator.INSTANCE);
+ Collections.sort(hits);
return new SearchQueryIterator(new Iterator<Message<?>>() {
final Iterator<Message<Id>> it = hits.iterator();
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/AbstractMessage.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/AbstractMessage.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/AbstractMessage.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/AbstractMessage.java
Thu Apr 28 10:45:55 2011
@@ -26,7 +26,7 @@ import javax.mail.Flags;
* Abstract base class for {@link Message}
*
*/
-public abstract class AbstractMessage<Id> implements Message<Id>,
Comparable<Message<Id>> {
+public abstract class AbstractMessage<Id> implements Message<Id> {
/*
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/Message.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/Message.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/Message.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/Message.java
Thu Apr 28 10:45:55 2011
@@ -30,7 +30,7 @@ import javax.mail.Flags;
* plus body content. In the case of multipart documents, this body content
* has internal structure described by the meta-data.
*/
-public interface Message<Id> {
+public interface Message<Id> extends Comparable<Message<Id>>{
public abstract Date getInternalDate();
Modified:
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java?rev=1097408&r1=1097407&r2=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
(original)
+++
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
Thu Apr 28 10:45:55 2011
@@ -329,4 +329,14 @@ public class SimpleMailboxMembership imp
return size;
}
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Comparable#compareTo(java.lang.Object)
+ */
+ public int compareTo(Message<Long> other) {
+ return (int) (getUid() - other.getUid());
+ }
+
+
+
}
Copied:
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageTest.java
(from r1097402,
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/MessageRowUtilsTest.java)
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageTest.java?p2=james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageTest.java&p1=james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/MessageRowUtilsTest.java&r1=1097402&r2=1097408&rev=1097408&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/MessageRowUtilsTest.java
(original)
+++
james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/AbstractMessageTest.java
Thu Apr 28 10:45:55 2011
@@ -17,22 +17,22 @@
* under the License. *
****************************************************************/
-package org.apache.james.mailbox.store;
+package org.apache.james.mailbox.store.mail.model;
import static org.junit.Assert.*;
-import org.apache.james.mailbox.store.ResultUtils;
+import org.apache.james.mailbox.store.MessageBuilder;
import org.apache.james.mailbox.store.mail.model.Message;
import org.junit.Test;
-public class MessageRowUtilsTest {
+public class AbstractMessageTest {
@Test
public void testShouldReturnPositiveWhenFirstGreaterThanSecond()
throws Exception {
Message<Long> one = buildMessage(100);
Message<Long> two = buildMessage(99);
- assertTrue(ResultUtils.getUidComparator().compare(one, two) > 0);
+ assertTrue( one.compareTo(two) > 0);
}
private Message<Long> buildMessage(int uid) throws Exception {
@@ -46,13 +46,13 @@ public class MessageRowUtilsTest {
throws Exception {
Message<Long> one = buildMessage(98);
Message<Long> two = buildMessage(99);
- assertTrue(ResultUtils.getUidComparator().compare(one, two) < 0);
+ assertTrue( one.compareTo(two) < 0);
}
@Test
public void testShouldReturnZeroWhenFirstEqualsSecond() throws Exception {
Message<Long> one = buildMessage(90);
Message<Long> two = buildMessage(90);
- assertEquals(0, ResultUtils.getUidComparator().compare(one, two));
+ assertEquals(0, one.compareTo(two));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]