Modified: james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SearchUtilsTest.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SearchUtilsTest.java?rev=732846&r1=732845&r2=732846&view=diff ============================================================================== --- james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SearchUtilsTest.java (original) +++ james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SearchUtilsTest.java Thu Jan 8 14:08:49 2009 @@ -29,8 +29,7 @@ import org.apache.james.api.imap.ImapConstants; import org.apache.james.imap.mailbox.SearchQuery; -import org.apache.james.imap.store.MessageSearches; -import org.apache.james.imap.store.mail.model.Message; +import org.apache.james.imap.store.mail.model.MailboxMembership; public class SearchUtilsTest extends TestCase { @@ -70,7 +69,7 @@ public void testMatchSizeLessThan() throws Exception { builder.size = SIZE; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.sizeLessThan(SIZE - 1), row, recent)); assertFalse(searches.isMatch(SearchQuery.sizeLessThan(SIZE), row, @@ -83,7 +82,7 @@ public void testMatchSizeMoreThan() throws Exception { builder.size = SIZE; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.sizeGreaterThan(SIZE - 1), row, recent)); assertFalse(searches.isMatch(SearchQuery.sizeGreaterThan(SIZE), row, @@ -96,7 +95,7 @@ public void testMatchSizeEquals() throws Exception { builder.size = SIZE; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.sizeEquals(SIZE - 1), row, recent)); assertTrue(searches.isMatch(SearchQuery.sizeEquals(SIZE), row, recent)); @@ -108,7 +107,7 @@ public void testMatchInternalDateEquals() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.internalDateOn(9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.internalDateOn(8, 9, 2001), @@ -123,7 +122,7 @@ public void testMatchInternalDateBefore() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch( SearchQuery.internalDateBefore(9, 9, 2000), row, recent)); assertFalse(searches.isMatch( @@ -138,7 +137,7 @@ public void testMatchInternalDateAfter() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.internalDateAfter(9, 9, 2000), row, recent)); assertTrue(searches.isMatch(SearchQuery.internalDateAfter(8, 9, 2001), @@ -153,7 +152,7 @@ public void testMatchHeaderDateAfter() throws Exception { builder.header(DATE_FIELD, RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 9, 9, 2000), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 8, @@ -170,7 +169,7 @@ public void testShouldMatchCapsHeaderDateAfter() throws Exception { builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 9, 9, 2000), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 8, @@ -187,7 +186,7 @@ public void testShouldMatchLowersHeaderDateAfter() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 9, 9, 2000), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, 8, @@ -204,7 +203,7 @@ public void testMatchHeaderDateOn() throws Exception { builder.header(DATE_FIELD, RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 8, 9, @@ -221,7 +220,7 @@ public void testShouldMatchCapsHeaderDateOn() throws Exception { builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 8, 9, @@ -238,7 +237,7 @@ public void testShouldMatchLowersHeaderDateOn() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, 8, 9, @@ -255,7 +254,7 @@ public void testMatchHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -272,7 +271,7 @@ public void testShouldMatchCapsHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -289,7 +288,7 @@ public void testShouldMatchLowersHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, 9, 9, 2000), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -306,7 +305,7 @@ public void testMatchHeaderContainsCaps() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -321,7 +320,7 @@ public void testMatchHeaderContainsLowers() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -336,7 +335,7 @@ public void testMatchHeaderContains() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -351,7 +350,7 @@ public void testShouldMatchLowerHeaderContains() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -366,7 +365,7 @@ public void testShouldMatchCapsHeaderContains() throws Exception { builder.header(SUBJECT_FIELD.toUpperCase(), TEXT); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -381,7 +380,7 @@ public void testMatchHeaderExists() throws Exception { builder.header(SUBJECT_FIELD, TEXT); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -390,7 +389,7 @@ public void testShouldMatchLowersHeaderExists() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -399,7 +398,7 @@ public void testShouldMatchUppersHeaderExists() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -408,7 +407,7 @@ public void testShouldMatchUidRange() throws Exception { builder.setKey(1, 1729); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.uid(range(1, 1)), row, recent)); assertFalse(searches.isMatch(SearchQuery.uid(range(1728, 1728)), row, recent)); @@ -438,7 +437,7 @@ public void testShouldMatchSeenFlagSet() throws Exception { builder.setFlags(true, false, false, false, false, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -455,7 +454,7 @@ public void testShouldMatchAnsweredFlagSet() throws Exception { builder.setFlags(false, false, true, false, false, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -472,7 +471,7 @@ public void testShouldMatchFlaggedFlagSet() throws Exception { builder.setFlags(false, true, false, false, false, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertTrue(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -489,7 +488,7 @@ public void testShouldMatchDraftFlagSet() throws Exception { builder.setFlags(false, false, false, true, false, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -506,7 +505,7 @@ public void testShouldMatchDeletedFlagSet() throws Exception { builder.setFlags(false, false, false, false, true, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -523,7 +522,7 @@ public void testShouldMatchSeenRecentSet() throws Exception { builder.setFlags(false, false, false, false, false, false); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); @@ -541,7 +540,7 @@ public void testShouldMatchSeenFlagUnSet() throws Exception { builder.setFlags(false, true, true, true, true, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertTrue(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -559,7 +558,7 @@ public void testShouldMatchAnsweredFlagUnSet() throws Exception { builder.setFlags(true, true, false, true, true, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -577,7 +576,7 @@ public void testShouldMatchFlaggedFlagUnSet() throws Exception { builder.setFlags(true, false, true, true, true, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -595,7 +594,7 @@ public void testShouldMatchDraftFlagUnSet() throws Exception { builder.setFlags(true, true, true, false, true, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -613,7 +612,7 @@ public void testShouldMatchDeletedFlagUnSet() throws Exception { builder.setFlags(true, true, true, true, false, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -631,7 +630,7 @@ public void testShouldMatchSeenRecentUnSet() throws Exception { builder.setFlags(true, true, true, true, true, true); - Message row = builder.build(); + MailboxMembership row = builder.build(); recent.add(new Long(row.getUid() + 1)); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -648,12 +647,12 @@ } public void testShouldMatchAll() throws Exception { - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.all(), row, recent)); } public void testShouldMatchNot() throws Exception { - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.not(SearchQuery.all()), row, recent)); assertTrue(searches.isMatch(SearchQuery.not(SearchQuery @@ -661,7 +660,7 @@ } public void testShouldMatchOr() throws Exception { - Message row = builder.build(); + MailboxMembership row = builder.build(); assertTrue(searches.isMatch(SearchQuery.or(SearchQuery.all(), SearchQuery.headerExists(DATE_FIELD)), row, recent)); assertTrue(searches.isMatch(SearchQuery.or(SearchQuery @@ -674,7 +673,7 @@ } public void testShouldMatchAnd() throws Exception { - Message row = builder.build(); + MailboxMembership row = builder.build(); assertFalse(searches.isMatch(SearchQuery.and(SearchQuery.all(), SearchQuery.headerExists(DATE_FIELD)), row, recent)); assertFalse(searches.isMatch(SearchQuery.and(SearchQuery
Added: james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java?rev=732846&view=auto ============================================================================== --- james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java (added) +++ james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java Thu Jan 8 14:08:49 2009 @@ -0,0 +1,243 @@ +/**************************************************************** + * 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.imap.store; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.mail.Flags; + +import org.apache.james.imap.store.mail.model.MailboxMembership; +import org.apache.james.imap.store.mail.model.Message; + +public class SimpleMailboxMembership implements MailboxMembership { + + private static final String TOSTRING_SEPARATOR = " "; + + public long mailboxId; + public long uid; + public Date internalDate; + public int size = 0; + public boolean recent = false; + public boolean answered = false; + public boolean deleted = false; + public boolean draft = false; + public boolean flagged = false; + public boolean seen = false; + public SimpleMessage message; + + public SimpleMailboxMembership(long mailboxId, long uid, Date internalDate, int size, + Flags flags, byte[] body, final List<SimpleHeader> headers) { + super(); + this.mailboxId = mailboxId; + this.uid = uid; + this.internalDate = internalDate; + this.size = size; + this.message = new SimpleMessage(body, new ArrayList<SimpleHeader>(headers)); + setFlags(flags); + } + + /** + * Constructs a copy of the given message. + * All properties are cloned except mailbox and UID. + * @param mailboxId new mailbox ID + * @param uid new UID + * @param original message to be copied, not null + */ + public SimpleMailboxMembership(long mailboxId, long uid, SimpleMailboxMembership original) { + super(); + this.mailboxId = mailboxId; + this.uid = uid; + this.internalDate = original.getInternalDate(); + this.size = original.getSize(); + this.answered = original.isAnswered(); + this.deleted = original.isDeleted(); + this.draft = original.isDraft(); + this.flagged = original.isFlagged(); + this.recent = original.isRecent(); + this.seen = original.isSeen(); + this.message = new SimpleMessage(original.message); + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#getInternalDate() + */ + public Date getInternalDate() { + return internalDate; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#getMailboxId() + */ + public long getMailboxId() { + return mailboxId; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#getSize() + */ + public int getSize() { + return size; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#getUid() + */ + public long getUid() { + return uid; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isAnswered() + */ + public boolean isAnswered() { + return answered; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isDeleted() + */ + public boolean isDeleted() { + return deleted; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isDraft() + */ + public boolean isDraft() { + return draft; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isFlagged() + */ + public boolean isFlagged() { + return flagged; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isRecent() + */ + public boolean isRecent() { + return recent; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#isSeen() + */ + public boolean isSeen() { + return seen; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#unsetRecent() + */ + public void unsetRecent() { + recent = false; + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#setFlags(javax.mail.Flags) + */ + public void setFlags(Flags flags) { + answered = flags.contains(Flags.Flag.ANSWERED); + deleted = flags.contains(Flags.Flag.DELETED); + draft = flags.contains(Flags.Flag.DRAFT); + flagged = flags.contains(Flags.Flag.FLAGGED); + recent = flags.contains(Flags.Flag.RECENT); + seen = flags.contains(Flags.Flag.SEEN); + } + + /** + * @see org.apache.james.imap.jpa.mail.model.Message#createFlags() + */ + public Flags createFlags() { + final Flags flags = new Flags(); + + if (isAnswered()) { + flags.add(Flags.Flag.ANSWERED); + } + if (isDeleted()) { + flags.add(Flags.Flag.DELETED); + } + if (isDraft()) { + flags.add(Flags.Flag.DRAFT); + } + if (isFlagged()) { + flags.add(Flags.Flag.FLAGGED); + } + if (isRecent()) { + flags.add(Flags.Flag.RECENT); + } + if (isSeen()) { + flags.add(Flags.Flag.SEEN); + } + return flags; + } + + @Override + public int hashCode() { + final int PRIME = 31; + int result = 1; + result = PRIME * result + (int) (mailboxId ^ (mailboxId >>> 32)); + result = PRIME * result + (int) (uid ^ (uid >>> 32)); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final MailboxMembership other = (MailboxMembership) obj; + if (mailboxId != other.getMailboxId()) + return false; + if (uid != other.getUid()) + return false; + return true; + } + + public String toString() + { + final String retValue = + "mailbox(" + + "mailboxId = " + this.mailboxId + TOSTRING_SEPARATOR + + "uid = " + this.uid + TOSTRING_SEPARATOR + + "internalDate = " + this.internalDate + TOSTRING_SEPARATOR + + "size = " + this.size + TOSTRING_SEPARATOR + + "answered = " + this.answered + TOSTRING_SEPARATOR + + "deleted = " + this.deleted + TOSTRING_SEPARATOR + + "draft = " + this.draft + TOSTRING_SEPARATOR + + "flagged = " + this.flagged + TOSTRING_SEPARATOR + + "recent = " + this.recent + TOSTRING_SEPARATOR + + "seen = " + this.seen + TOSTRING_SEPARATOR + + " )"; + + return retValue; + } + + public Message getMessage() { + return message; + } + +} Modified: james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMessage.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMessage.java?rev=732846&r1=732845&r2=732846&view=diff ============================================================================== --- james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMessage.java (original) +++ james/protocols/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMessage.java Thu Jan 8 14:08:49 2009 @@ -19,40 +19,19 @@ package org.apache.james.imap.store; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import javax.mail.Flags; - import org.apache.james.imap.store.mail.model.Header; import org.apache.james.imap.store.mail.model.Message; public class SimpleMessage implements Message { - private static final String TOSTRING_SEPARATOR = " "; - - public long mailboxId; - public long uid; - public Date internalDate; - public int size = 0; - public boolean recent = false; - public boolean answered = false; - public boolean deleted = false; - public boolean draft = false; - public boolean flagged = false; - public boolean seen = false; public byte[] body; public List<SimpleHeader> headers; - public SimpleMessage(long mailboxId, long uid, Date internalDate, int size, - Flags flags, byte[] body, final List<SimpleHeader> headers) { + public SimpleMessage(byte[] body, final List<SimpleHeader> headers) { super(); - this.mailboxId = mailboxId; - this.uid = uid; - this.internalDate = internalDate; - this.size = size; this.body = body; - setFlags(flags); this.headers = new ArrayList<SimpleHeader>(headers); } @@ -63,18 +42,8 @@ * @param uid new UID * @param original message to be copied, not null */ - public SimpleMessage(long mailboxId, long uid, SimpleMessage original) { + public SimpleMessage(SimpleMessage original) { super(); - this.mailboxId = mailboxId; - this.uid = uid; - this.internalDate = original.getInternalDate(); - this.size = original.getSize(); - this.answered = original.isAnswered(); - this.deleted = original.isDeleted(); - this.draft = original.isDraft(); - this.flagged = original.isFlagged(); - this.recent = original.isRecent(); - this.seen = original.isSeen(); this.body = original.getBody(); final List<SimpleHeader> originalHeaders = original.headers; if (originalHeaders == null) { @@ -88,34 +57,6 @@ } /** - * @see org.apache.james.imap.jpa.mail.model.Message#getInternalDate() - */ - public Date getInternalDate() { - return internalDate; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#getMailboxId() - */ - public long getMailboxId() { - return mailboxId; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#getSize() - */ - public int getSize() { - return size; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#getUid() - */ - public long getUid() { - return uid; - } - - /** * @see org.apache.james.imap.jpa.mail.model.Message#getBody() */ public byte[] getBody() { @@ -123,142 +64,9 @@ } /** - * @see org.apache.james.imap.jpa.mail.model.Message#isAnswered() - */ - public boolean isAnswered() { - return answered; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#isDeleted() - */ - public boolean isDeleted() { - return deleted; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#isDraft() - */ - public boolean isDraft() { - return draft; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#isFlagged() - */ - public boolean isFlagged() { - return flagged; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#isRecent() - */ - public boolean isRecent() { - return recent; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#isSeen() - */ - public boolean isSeen() { - return seen; - } - - /** * @see org.apache.james.imap.jpa.mail.model.Message#getHeaders() */ public List<Header> getHeaders() { return new ArrayList<Header>(headers); } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#unsetRecent() - */ - public void unsetRecent() { - recent = false; - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#setFlags(javax.mail.Flags) - */ - public void setFlags(Flags flags) { - answered = flags.contains(Flags.Flag.ANSWERED); - deleted = flags.contains(Flags.Flag.DELETED); - draft = flags.contains(Flags.Flag.DRAFT); - flagged = flags.contains(Flags.Flag.FLAGGED); - recent = flags.contains(Flags.Flag.RECENT); - seen = flags.contains(Flags.Flag.SEEN); - } - - /** - * @see org.apache.james.imap.jpa.mail.model.Message#createFlags() - */ - public Flags createFlags() { - final Flags flags = new Flags(); - - if (isAnswered()) { - flags.add(Flags.Flag.ANSWERED); - } - if (isDeleted()) { - flags.add(Flags.Flag.DELETED); - } - if (isDraft()) { - flags.add(Flags.Flag.DRAFT); - } - if (isFlagged()) { - flags.add(Flags.Flag.FLAGGED); - } - if (isRecent()) { - flags.add(Flags.Flag.RECENT); - } - if (isSeen()) { - flags.add(Flags.Flag.SEEN); - } - return flags; - } - - @Override - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME * result + (int) (mailboxId ^ (mailboxId >>> 32)); - result = PRIME * result + (int) (uid ^ (uid >>> 32)); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final Message other = (Message) obj; - if (mailboxId != other.getMailboxId()) - return false; - if (uid != other.getUid()) - return false; - return true; - } - - public String toString() - { - final String retValue = - "mailbox(" - + "mailboxId = " + this.mailboxId + TOSTRING_SEPARATOR - + "uid = " + this.uid + TOSTRING_SEPARATOR - + "internalDate = " + this.internalDate + TOSTRING_SEPARATOR - + "size = " + this.size + TOSTRING_SEPARATOR - + "answered = " + this.answered + TOSTRING_SEPARATOR - + "deleted = " + this.deleted + TOSTRING_SEPARATOR - + "draft = " + this.draft + TOSTRING_SEPARATOR - + "flagged = " + this.flagged + TOSTRING_SEPARATOR - + "recent = " + this.recent + TOSTRING_SEPARATOR - + "seen = " + this.seen + TOSTRING_SEPARATOR - + " )"; - - return retValue; - } - } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
