Modified: james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java?rev=1097402&r1=1097401&r2=1097402&view=diff ============================================================================== --- james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java (original) +++ james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/SearchUtilsTest.java Thu Apr 28 10:29:38 2011 @@ -33,7 +33,7 @@ import javax.mail.Flags; import org.apache.james.mailbox.SearchQuery; import org.apache.james.mailbox.SearchQuery.DateResolution; import org.apache.james.mailbox.store.MessageSearches; -import org.apache.james.mailbox.store.mail.model.MailboxMembership; +import org.apache.james.mailbox.store.mail.model.Message; import org.junit.Before; import org.junit.Test; @@ -81,7 +81,7 @@ public class SearchUtilsTest { @Test public void testMatchSizeLessThan() throws Exception { builder.size = SIZE; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.sizeLessThan(SIZE - 1), row, recent)); assertFalse(searches.isMatch(SearchQuery.sizeLessThan(SIZE), row, @@ -95,7 +95,7 @@ public class SearchUtilsTest { @Test public void testMatchSizeMoreThan() throws Exception { builder.size = SIZE; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.sizeGreaterThan(SIZE - 1), row, recent)); assertFalse(searches.isMatch(SearchQuery.sizeGreaterThan(SIZE), row, @@ -109,7 +109,7 @@ public class SearchUtilsTest { @Test public void testMatchSizeEquals() throws Exception { builder.size = SIZE; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.sizeEquals(SIZE - 1), row, recent)); assertTrue(searches.isMatch(SearchQuery.sizeEquals(SIZE), row, recent)); @@ -122,7 +122,7 @@ public class SearchUtilsTest { @Test public void testMatchInternalDateEquals() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.internalDateOn(getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertFalse(searches.isMatch(SearchQuery.internalDateOn(getDate(8, 9, 2001), DateResolution.Day), @@ -139,7 +139,7 @@ public class SearchUtilsTest { @Test public void testMatchInternalDateBefore() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch( SearchQuery.internalDateBefore(getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertFalse(searches.isMatch( @@ -155,7 +155,7 @@ public class SearchUtilsTest { @Test public void testMatchInternalDateAfter() throws Exception { builder.internalDate = SUN_SEP_9TH_2001; - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.internalDateAfter(getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertTrue(searches.isMatch(SearchQuery.internalDateAfter(getDate(8, 9, 2001), DateResolution.Day), @@ -171,7 +171,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderDateAfter() throws Exception { builder.header(DATE_FIELD, RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(8, @@ -189,7 +189,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateAfter() throws Exception { builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(8, @@ -207,7 +207,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateAfter() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(8, @@ -225,7 +225,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderDateOn() throws Exception { builder.header(DATE_FIELD, RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(8, 9, @@ -243,7 +243,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateOn() throws Exception { builder.header(DATE_FIELD.toUpperCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(8, 9, @@ -261,7 +261,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateOn() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(8, 9, @@ -279,7 +279,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -297,7 +297,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -315,7 +315,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderDateBefore() throws Exception { builder.header(DATE_FIELD.toLowerCase(), RFC822_SUN_SEP_9TH_2001); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(9, 9, 2000), DateResolution.Day),row, recent)); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, @@ -333,7 +333,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContainsCaps() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -349,7 +349,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContainsLowers() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -365,7 +365,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderContains() throws Exception { builder.header(SUBJECT_FIELD, TEXT.toUpperCase()); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -381,7 +381,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowerHeaderContains() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -397,7 +397,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchCapsHeaderContains() throws Exception { builder.header(SUBJECT_FIELD.toUpperCase(), TEXT); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, CUSTARD), row, recent)); assertFalse(searches.isMatch(SearchQuery.headerContains(DATE_FIELD, @@ -413,7 +413,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderExists() throws Exception { builder.header(SUBJECT_FIELD, TEXT); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -423,7 +423,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchLowersHeaderExists() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -433,7 +433,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchUppersHeaderExists() throws Exception { builder.header(SUBJECT_FIELD.toLowerCase(), TEXT); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerExists(DATE_FIELD), row, recent)); assertTrue(searches.isMatch(SearchQuery.headerExists(SUBJECT_FIELD), @@ -443,7 +443,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchUidRange() throws Exception { builder.setKey(1, 1729); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.uid(range(1, 1)), row, recent)); assertFalse(searches.isMatch(SearchQuery.uid(range(1728, 1728)), row, recent)); @@ -474,7 +474,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchSeenFlagSet() throws Exception { builder.setFlags(true, false, false, false, false, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -492,7 +492,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchAnsweredFlagSet() throws Exception { builder.setFlags(false, false, true, false, false, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -510,7 +510,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchFlaggedFlagSet() throws Exception { builder.setFlags(false, true, false, false, false, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertTrue(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -528,7 +528,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchDraftFlagSet() throws Exception { builder.setFlags(false, false, false, true, false, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -547,7 +547,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchDeletedFlagSet() throws Exception { builder.setFlags(false, false, false, false, true, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.FLAGGED), @@ -565,7 +565,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchSeenRecentSet() throws Exception { builder.setFlags(false, false, false, false, false, false); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsSet(Flags.Flag.SEEN), row, recent)); @@ -584,7 +584,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchSeenFlagUnSet() throws Exception { builder.setFlags(false, true, true, true, true, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertTrue(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -603,7 +603,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchAnsweredFlagUnSet() throws Exception { builder.setFlags(true, true, false, true, true, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -622,7 +622,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchFlaggedFlagUnSet() throws Exception { builder.setFlags(true, false, true, true, true, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -641,7 +641,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchDraftFlagUnSet() throws Exception { builder.setFlags(true, true, true, false, true, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -660,7 +660,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchDeletedFlagUnSet() throws Exception { builder.setFlags(true, true, true, true, false, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid())); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -679,7 +679,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchSeenRecentUnSet() throws Exception { builder.setFlags(true, true, true, true, true, true); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); recent.add(new Long(row.getUid() + 1)); assertFalse(searches.isMatch(SearchQuery.flagIsUnSet(Flags.Flag.SEEN), row, recent)); @@ -697,13 +697,13 @@ public class SearchUtilsTest { @Test public void testShouldMatchAll() throws Exception { - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.all(), row, recent)); } @Test public void testShouldMatchNot() throws Exception { - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.not(SearchQuery.all()), row, recent)); assertTrue(searches.isMatch(SearchQuery.not(SearchQuery @@ -712,7 +712,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchOr() throws Exception { - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.or(SearchQuery.all(), SearchQuery.headerExists(DATE_FIELD)), row, recent)); assertTrue(searches.isMatch(SearchQuery.or(SearchQuery @@ -726,7 +726,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchAnd() throws Exception { - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.and(SearchQuery.all(), SearchQuery.headerExists(DATE_FIELD)), row, recent)); assertFalse(searches.isMatch(SearchQuery.and(SearchQuery @@ -756,7 +756,7 @@ public class SearchUtilsTest { @Test public void testMatchHeaderDateOnWithOffset() throws Exception { builder.header(DATE_FIELD, "Mon, 26 Mar 2007 00:00:00 +0300"); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertTrue(searches.isMatch(SearchQuery.headerDateOn(DATE_FIELD, getDate(26, 3, 2007), DateResolution.Day),row, recent)); @@ -770,7 +770,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchHeaderDateBeforeWithOffset() throws Exception { builder.header(DATE_FIELD, "Mon, 26 Mar 2007 00:00:00 +0300"); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateBefore(DATE_FIELD, getDate(26, 3, 2007), DateResolution.Day),row, recent)); @@ -783,7 +783,7 @@ public class SearchUtilsTest { @Test public void testShouldMatchHeaderDateAfterWithOffset() throws Exception { builder.header(DATE_FIELD, "Mon, 26 Mar 2007 00:00:00 +0300"); - MailboxMembership<Long> row = builder.build(); + Message<Long> row = builder.build(); assertFalse(searches.isMatch(SearchQuery.headerDateAfter(DATE_FIELD, getDate(26, 3, 2007), DateResolution.Day),row, recent));
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=1097402&r1=1097401&r2=1097402&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:29:38 2011 @@ -18,30 +18,35 @@ ****************************************************************/ package org.apache.james.mailbox.store; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.mail.Flags; -import org.apache.james.mailbox.store.mail.model.MailboxMembership; +import org.apache.james.mailbox.store.mail.model.Header; import org.apache.james.mailbox.store.mail.model.Message; +import org.apache.james.mailbox.store.mail.model.Property; -public class SimpleMailboxMembership implements MailboxMembership<Long> { +public class SimpleMailboxMembership implements Message<Long> { 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) throws Exception { @@ -50,7 +55,30 @@ public class SimpleMailboxMembership imp this.uid = uid; this.internalDate = internalDate; this.size = size; - this.message = new SimpleMessage(body, size, new ArrayList<SimpleHeader>(headers)); + this.body = body; + final List<SimpleHeader> originalHeaders = headers; + if (originalHeaders == null) { + this.headers = new ArrayList<SimpleHeader>(); + } else { + this.headers = new ArrayList<SimpleHeader>(originalHeaders.size()); + for (SimpleHeader header:originalHeaders) { + this.headers.add(new SimpleHeader(header)); + } + } + + final ByteArrayOutputStream baos = new ByteArrayOutputStream(); + final Writer writer = new OutputStreamWriter(baos, "us-ascii"); + for (SimpleHeader header:headers) { + writer.write(header.getFieldName()); + writer.write(": "); + writer.write(header.getValue()); + writer.write(NEW_LINE); + } + writer.write(NEW_LINE); + writer.flush(); + baos.write(body); + baos.flush(); + fullContent = baos.toByteArray(); setFlags(flags); } @@ -72,7 +100,17 @@ public class SimpleMailboxMembership imp this.flagged = original.isFlagged(); this.recent = original.isRecent(); this.seen = original.isSeen(); - this.message = new SimpleMessage(original.message); + this.body = original.body; + this.fullContent = original.fullContent; + final List<SimpleHeader> originalHeaders = original.headers; + if (originalHeaders == null) { + this.headers = new ArrayList<SimpleHeader>(); + } else { + this.headers = new ArrayList<SimpleHeader>(originalHeaders.size()); + for (SimpleHeader header:originalHeaders) { + this.headers.add(new SimpleHeader(header)); + } + } } /** @@ -202,7 +240,7 @@ public class SimpleMailboxMembership imp return false; if (getClass() != obj.getClass()) return false; - final MailboxMembership<Long> other = (MailboxMembership<Long>) obj; + final Message<Long> other = (Message<Long>) obj; if (mailboxId != other.getMailboxId()) return false; if (uid != other.getUid()) @@ -229,8 +267,66 @@ public class SimpleMailboxMembership imp return retValue; } - public Message getMessage() { - return message; + + public static final char[] NEW_LINE = { 0x0D, 0x0A }; + + public byte[] body; + public byte[] fullContent; + public List<SimpleHeader> headers; + public List<SimpleProperty> properties; + public String subType = null; + public String mediaType = null; + public Long textualLineCount = null; + + private int size; + + + /** + * @throws IOException + * @see org.apache.james.imap.Message.mail.model.Document#getBodyContent() + */ + public InputStream getBodyContent() throws IOException { + return new ByteArrayInputStream(body); + } + + /** + * Gets the full content (including headers) of the document. + * @return read only buffer, not null + * @throws IOException + */ + public InputStream getFullContent() throws IOException { + return new ByteArrayInputStream(fullContent); + } + + /** + * @see org.apache.james.imap.Message.mail.model.Document#getHeaders() + */ + public List<Header> getHeaders() { + return new ArrayList<Header>(headers); + } + + public long getBodyOctets() { + return body.length; + } + + public String getSubType() { + return subType; + } + + public String getMediaType() { + return mediaType; + } + + public List<Property> getProperties() { + return new ArrayList<Property>(properties); + } + + public Long getTextualLineCount() { + return textualLineCount; + } + + public long getFullContentOctets() { + return size; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
