Author: rdonkin
Date: Wed Feb 20 14:52:26 2008
New Revision: 629646

URL: http://svn.apache.org/viewvc?rev=629646&view=rev
Log:
Fetch body sections from deep messages.

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/impl/MessageResultImpl.java
    
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestFetchBodySection.java
    
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipartMixedComplex.test
    
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.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/PartContentBuilder.java
    
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
    
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderComplexMultipartTest.java
    
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderMultipartAlternativeTest.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=629646&r1=629645&r2=629646&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
 Wed Feb 20 14:52:26 2008
@@ -85,7 +85,9 @@
         public static final int HEADERS = 0x100;
         public static final int FULL_CONTENT = 0x200;
         public static final int BODY_CONTENT = 0x400;
-
+        public static final int MIME_HEADERS = 0x800;
+        public static final int MIME_CONTENT = 0x1000;
+        
         /**
          * Contents to be fetched.
          * Composed bitwise.
@@ -100,6 +102,7 @@
          * @see #HEADERS
          * @see #FULL_CONTENT
          * @see #BODY_CONTENT
+         * @see #MIME_CONTENT
          */
         public int content();
         
@@ -193,7 +196,7 @@
     Iterator iterateHeaders() throws MailboxManagerException;
     
     /**
-     * Iterates the MIME headers for the given
+     * Iterates the message headers for the given
      * part in a multipart message.
      * @param path describing the part's position within
      * a multipart message
@@ -205,6 +208,18 @@
     Iterator iterateHeaders(MimePath path) throws MailboxManagerException;
     
     /**
+     * Iterates the MIME headers for the given
+     * part in a multipart message.
+     * @param path describing the part's position within
+     * a multipart message
+     * @return  <code>Header</code> <code>Iterator</code>, 
+     * or null when [EMAIL PROTECTED] FetchGroup#mimeHeaders()} does not
+     * include the index and when the mime part cannot be found
+     * @throws MailboxManagerException
+     */
+    Iterator iterateMimeHeaders(MimePath path) throws MailboxManagerException;
+    
+    /**
      * A header.
      */
     public interface Header extends Content {
@@ -262,6 +277,17 @@
      * @throws MailboxManagerException
      */
     Content getBody(MimePath path) throws MailboxManagerException;
+    
+
+    /**
+     * Gets the body of the given mime part.
+     * @param path describes the part
+     * @return <code>Content</code>,
+     * or null when [EMAIL PROTECTED] FetchGroup#mimeBodies()} did not been 
include 
+     * the given index and when the mime part cannot be found
+     * @throws MailboxManagerException
+     */
+    Content getMimeBody(MimePath path) throws MailboxManagerException;
 
     /**
      * IMAP needs to know the size of the content before it starts to write it 
out.

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=629646&r1=629645&r2=629646&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
 Wed Feb 20 14:52:26 2008
@@ -246,6 +246,18 @@
         } 
         return result;  
     }
+    
+
+    public Content getMimeBody(MimePath path) throws MailboxManagerException {
+        final Content result;
+        final PartContent partContent = getPartContent(path);
+        if (partContent == null) {
+            result = null;
+        } else {
+            result = partContent.getMimeBody();
+        } 
+        return result;  
+    }
 
     public Content getFullContent(MimePath path) throws 
MailboxManagerException {
         final Content result;
@@ -269,11 +281,27 @@
         return result;  
     }
     
+    public Iterator iterateMimeHeaders(MimePath path) throws 
MailboxManagerException {
+        final Iterator result;
+        final PartContent partContent = getPartContent(path);
+        if (partContent == null) {
+            result = null;
+        } else {
+            result = partContent.getMimeHeaders();
+        } 
+        return result;  
+    }
+    
     public void setBodyContent(MimePath path, Content content) {
         final PartContent partContent = getPartContent(path);
         partContent.setBody(content);
     }
     
+    public void setMimeBodyContent(MimePath path, Content content) {
+        final PartContent partContent = getPartContent(path);
+        partContent.setMimeBody(content);
+    }
+    
     public void setFullContent(MimePath path, Content content) {
         final PartContent partContent = getPartContent(path);
         partContent.setFull(content);  
@@ -284,6 +312,11 @@
         partContent.setHeaders(headers);    
     }
     
+    public void setMimeHeaders(MimePath path, Iterator headers) {
+        final PartContent partContent = getPartContent(path);
+        partContent.setMimeHeaders(headers);    
+    }
+    
     private PartContent getPartContent(MimePath path) {
         PartContent result = (PartContent) partsByPath.get(path);
         if (result == null) {
@@ -295,8 +328,10 @@
     
     private static final class PartContent {
         private Content body;
+        private Content mimeBody;
         private Content full;
         private Iterator headers;
+        private Iterator mimeHeaders;
         private int content;
         
         public final int getContent() {
@@ -311,6 +346,15 @@
             content = content | FetchGroup.BODY_CONTENT;
             this.body = body;
         }
+
+        public final Content getMimeBody() {
+            return mimeBody;
+        }
+        
+        public final void setMimeBody(Content mimeBody) {
+            content = content | FetchGroup.MIME_CONTENT;
+            this.mimeBody = mimeBody;
+        }
         
         public final Content getFull() {
             return full;
@@ -328,6 +372,15 @@
         public final void setHeaders(Iterator headers) { 
             content = content | FetchGroup.HEADERS;
             this.headers = headers;
+        }
+        
+        public final Iterator getMimeHeaders() {
+            return mimeHeaders;
+        }
+        
+        public final void setMimeHeaders(Iterator mimeHeaders) { 
+            content = content | FetchGroup.MIME_HEADERS;
+            this.mimeHeaders = mimeHeaders;
         }
     }
 }

Modified: 
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestFetchBodySection.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestFetchBodySection.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestFetchBodySection.java
 (original)
+++ 
james/server/trunk/experimental-seda-imap-function/src/test/java/org/apache/james/test/functional/imap/AbstractTestFetchBodySection.java
 Wed Feb 20 14:52:26 2008
@@ -51,7 +51,15 @@
         scriptTest("FetchMultipartMixed", Locale.KOREA);
     }
     
-//    public void testFetchMultipartMixedComplexUS() throws Exception {
-//        scriptTest("FetchMultipartMixedComplex", Locale.US);
-//    }
+    public void testFetchMultipartMixedComplexUS() throws Exception {
+        scriptTest("FetchMultipartMixedComplex", Locale.US);
+    }
+    
+    public void testFetchMultipartMixedComplexITALY() throws Exception {
+        scriptTest("FetchMultipartMixedComplex", Locale.ITALY);
+    }
+    
+    public void testFetchMultipartMixedComplexKOREA() throws Exception {
+        scriptTest("FetchMultipartMixedComplex", Locale.KOREA);
+    }
 }

Modified: 
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipartMixedComplex.test
URL: 
http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipartMixedComplex.test?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipartMixedComplex.test
 (original)
+++ 
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/FetchMultipartMixedComplex.test
 Wed Feb 20 14:52:26 2008
@@ -562,13 +562,12 @@
 S: \)
 S: A25 OK FETCH completed\.
 C: A26 SELECT testmailbox
-S: \* FLAGS \(\\Answered \\Draft \\Deleted \\Flagged \\Seen\)
+S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
 S: \* 1 EXISTS
 S: \* 0 RECENT
 S: \* OK \[UIDVALIDITY (.)*
 S: \* OK No messages unseen
-S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen 
\)\](.)*
-S: \* OK \[UIDNEXT 2\] Predicted next UID
+S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged 
\\Seen\)\](.)*
 S: A26 OK \[READ-WRITE\] SELECT completed\.
 C: A27 DELETE testmailbox
 S: A27 OK DELETE completed\.

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=629646&r1=629645&r2=629646&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
 Wed Feb 20 14:52:26 2008
@@ -164,15 +164,17 @@
                         if (isBase) {
                             addContent(result, path, isBase, 
MessageResult.FetchGroup.FULL_CONTENT);
                         } else {
-                            addContent(result, path, isBase, 
MessageResult.FetchGroup.BODY_CONTENT);
+                            addContent(result, path, isBase, 
MessageResult.FetchGroup.MIME_CONTENT);
                         }
                         break;
                     case BodyFetchElement.HEADER:
                     case BodyFetchElement.HEADER_NOT_FIELDS:
                     case BodyFetchElement.HEADER_FIELDS:
-                    case BodyFetchElement.MIME:
                         addContent(result, path, isBase, 
MessageResult.FetchGroup.HEADERS);
                         break;
+                    case BodyFetchElement.MIME:
+                        addContent(result, path, isBase, 
MessageResult.FetchGroup.MIME_HEADERS);
+                        break;
                     case BodyFetchElement.TEXT:
                         addContent(result, path, isBase, 
MessageResult.FetchGroup.BODY_CONTENT);
                         break;
@@ -494,6 +496,8 @@
                     break;
                     
                 case BodyFetchElement.MIME:
+                    result = mimeHeaders(messageResult, name, path, isBase);
+                    break;
                 case BodyFetchElement.HEADER:
                     result = headers(messageResult, name, path, isBase);
                     break;
@@ -524,6 +528,14 @@
             return result;
         }
 
+        private FetchResponse.BodyElement mimeHeaders(final MessageResult 
messageResult, String name, final int[] path, final boolean isBase) throws 
MailboxManagerException, MessagingException {
+            final FetchResponse.BodyElement result;
+            final Iterator headers = getMimeHeaders(messageResult, path, 
isBase);
+            List lines = MessageResultUtils.getAll(headers);
+            result = new HeaderBodyElement(name, lines);
+            return result;
+        }
+        
         private FetchResponse.BodyElement headers(final MessageResult 
messageResult, String name, final int[] path, final boolean isBase) throws 
MailboxManagerException, MessagingException {
             final FetchResponse.BodyElement result;
             final Iterator headers = getHeaders(messageResult, path, isBase);
@@ -562,6 +574,12 @@
             }
             return headers;
         }
+        
+        private Iterator getMimeHeaders(final MessageResult messageResult, 
final int[] path, final boolean isBase) throws MailboxManagerException {
+            MessageResult.MimePath mimePath = new MimePathImpl(path);
+            final Iterator headers = 
messageResult.iterateMimeHeaders(mimePath);
+            return headers;
+        }
 
         private FetchResponse.BodyElement content(final MessageResult 
messageResult, String name, final int[] path, final boolean isBase) throws 
MailboxManagerException {
             final FetchResponse.BodyElement result;
@@ -570,7 +588,7 @@
                 full = messageResult.getFullContent();
             } else {
                 MessageResult.MimePath mimePath = new MimePathImpl(path);
-                full = messageResult.getBody(mimePath);
+                full = messageResult.getMimeBody(mimePath);
             }
             result = new ContentBodyElement(name, full);
             return result;

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 Wed Feb 20 14:52:26 2008
@@ -205,9 +205,15 @@
         if ((content & MessageResult.FetchGroup.BODY_CONTENT) > 0) {
             addBodyContent(row, messageResult, mimePath);
         }
+        if ((content & MessageResult.FetchGroup.MIME_CONTENT) > 0) {
+            addMimeBodyContent(row, messageResult, mimePath);
+        }
         if ((content & MessageResult.FetchGroup.HEADERS) > 0) {
             addHeaders(row, messageResult, mimePath);
         }
+        if ((content & MessageResult.FetchGroup.MIME_HEADERS) > 0) {
+            addMimeHeaders(row, messageResult, mimePath);
+        }
     }
     
     private static PartContentBuilder build(int[] path, final MessageRow row) 
throws IOException, MimeException, TorqueException {
@@ -237,7 +243,6 @@
         private final StringBuffer headers;
         private final ByteBuffer bodyContent;
         
-        private String header;
         private int headerPosition = 0;
         
         public MessageInputStream(final StringBuffer headers, final byte[] 
bodyContent) {
@@ -276,10 +281,21 @@
             addHeaders(row, messageResult);
         } else {
             final PartContentBuilder builder = build(path, row);
-            final List headers = builder.getHeaders();
+            final List headers = builder.getMessageHeaders();
             messageResult.setHeaders(mimePath, headers.iterator());
         }
     }
+    
+    private static void addMimeHeaders(MessageRow row, MessageResultImpl 
messageResult, MimePath mimePath) throws TorqueException, IOException, 
MimeException {
+        final int[] path = path(mimePath);
+        if (path == null) {
+            addHeaders(row, messageResult);
+        } else {
+            final PartContentBuilder builder = build(path, row);
+            final List headers = builder.getMimeHeaders();
+            messageResult.setMimeHeaders(mimePath, headers.iterator());
+        }
+    }
 
     private static void addBodyContent(MessageRow row, MessageResultImpl 
messageResult, MimePath mimePath) throws TorqueException, IOException, 
MimeException {
         final int[] path = path(mimePath);
@@ -287,9 +303,16 @@
             addBody(row, messageResult);
         } else {
             final PartContentBuilder builder = build(path, row);
-            final Content content = builder.getBodyContent();
+            final Content content = builder.getMessageBodyContent();
             messageResult.setBodyContent(mimePath, content);
         }
+    }
+    
+    private static void addMimeBodyContent(MessageRow row, MessageResultImpl 
messageResult, MimePath mimePath) throws TorqueException, IOException, 
MimeException {
+        final int[] path = path(mimePath);
+        final PartContentBuilder builder = build(path, row);
+        final Content content = builder.getMimeBodyContent();
+        messageResult.setMimeBodyContent(mimePath, content);
     }
 
     private static void addFullContent(MessageRow row, MessageResultImpl 
messageResult, MimePath mimePath) 

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/PartContentBuilder.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/PartContentBuilder.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/PartContentBuilder.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/PartContentBuilder.java
 Wed Feb 20 14:52:26 2008
@@ -78,17 +78,18 @@
     }
     
     public Content getFullContent() throws IOException, MimeException {
-        final List headers = getHeaders();
-        final byte[] content = bodyContent();
+        final List headers = getMimeHeaders();
+        final byte[] content = mimeBodyContent();
         return new FullContent(content, headers);
     }
     
-    public Content getBodyContent() throws IOException, MimeException {
-        final byte[] content = bodyContent();
+    public Content getMessageBodyContent() throws IOException, MimeException {
+        final byte[] content = messageBodyContent();
         return new ByteContent(content);
     }
 
-    private byte[] bodyContent() throws IOException, MimeException {
+    private byte[] messageBodyContent() throws IOException, MimeException {
+        advancedToMessage();
         parser.setRecursionMode(MimeTokenStream.M_NO_RECURSE);
         for ( int state = parser.getState(); 
                 state != MimeTokenStream.T_BODY && state != 
MimeTokenStream.T_START_MULTIPART; 
@@ -101,7 +102,45 @@
         return content;
     }
     
-    public List getHeaders() throws IOException, MimeException {
+    public Content getMimeBodyContent() throws IOException, MimeException {
+        final byte[] content = mimeBodyContent();
+        return new ByteContent(content);
+    }
+
+    private byte[] mimeBodyContent() throws IOException, MimeException {
+        parser.setRecursionMode(MimeTokenStream.M_NO_RECURSE);
+        for ( int state = parser.getState(); 
+                state != MimeTokenStream.T_BODY && state != 
MimeTokenStream.T_START_MULTIPART; 
+                state = parser.next()) {
+            if (state == MimeTokenStream.T_END_OF_STREAM) {
+                throw new IOException("Unexpected EOF");
+            }
+        }
+        final byte[] content = 
MessageUtils.toByteArray(parser.getInputStream());
+        return content;
+    }
+    
+    public List getMimeHeaders() throws IOException, MimeException {
+        final List results = new ArrayList();
+        for (int state = parser.getState(); state != 
MimeTokenStream.T_END_HEADER; state = parser.next()) {
+            switch (state) {
+                case MimeTokenStream.T_END_OF_STREAM:
+                    throw new IOException("Unexpected EOF");
+                    
+                case MimeTokenStream.T_FIELD:
+                    final String fieldValue = parser.getFieldValue().trim();
+                    final String fieldName = parser.getFieldName();
+                    Header header = new Header(fieldName, fieldValue);
+                    results.add(header);
+                    break;
+            }
+        }
+        return results;
+    }
+    
+    public List getMessageHeaders() throws IOException, MimeException {
+        advancedToMessage();
+            
         final List results = new ArrayList();
         for (int state = parser.getState(); state != 
MimeTokenStream.T_END_HEADER; state = parser.next()) {
             switch (state) {
@@ -117,6 +156,14 @@
             }
         }
         return results;
+    }
+
+    private void advancedToMessage() throws IOException, MimeException {
+        for (int state = parser.getState(); state != 
MimeTokenStream.T_START_MESSAGE; state = parser.next()) {
+            if (state == MimeTokenStream.T_END_OF_STREAM) {
+                throw new IOException("Unexpected EOF");
+            }
+        }
     }
     
     public static final class PartNotFoundException extends MimeException {

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 Wed Feb 20 14:52:26 2008
@@ -167,7 +167,7 @@
             return (int) diff == 0 ? 0 : diff > 0 ? 1 : -1;
         }
 
-        public Content getBody(MimePath path) throws MailboxManagerException {
+        public Content getMessageBody(MimePath path) throws 
MailboxManagerException {
             throw exception;
         }
 
@@ -176,6 +176,18 @@
         }
 
         public Iterator iterateHeaders(MimePath path) throws 
MailboxManagerException {
+            throw exception;
+        }
+
+        public Iterator iterateMimeHeaders(MimePath path) throws 
MailboxManagerException {
+            throw exception;
+        }
+
+        public Content getBody(MimePath path) throws MailboxManagerException {
+            throw exception;
+        }
+
+        public Content getMimeBody(MimePath path) throws 
MailboxManagerException {
             throw exception;
         }
         

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderComplexMultipartTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderComplexMultipartTest.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderComplexMultipartTest.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderComplexMultipartTest.java
 Wed Feb 20 14:52:26 2008
@@ -143,7 +143,7 @@
     private String bodyContent(int[] position) throws Exception {
         to(position);
         StringBuffer buffer = new StringBuffer();
-        builder.getBodyContent().writeTo(buffer);
+        builder.getMimeBodyContent().writeTo(buffer);
         return buffer.toString();
     }
     
@@ -157,7 +157,7 @@
     
     private List headers(int[] position) throws Exception {
         to(position);
-        return builder.getHeaders();
+        return builder.getMimeHeaders();
     }
     
     private void to(int[] path) throws Exception {

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderMultipartAlternativeTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderMultipartAlternativeTest.java?rev=629646&r1=629645&r2=629646&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderMultipartAlternativeTest.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/test/java/org/apache/james/mailboxmanager/torque/PartContentBuilderMultipartAlternativeTest.java
 Wed Feb 20 14:52:26 2008
@@ -114,7 +114,7 @@
         builder.parse(in);
         builder.to(position);
         StringBuffer buffer = new StringBuffer();
-        builder.getBodyContent().writeTo(buffer);
+        builder.getMimeBodyContent().writeTo(buffer);
         return buffer.toString();
     }
     
@@ -130,6 +130,6 @@
         InputStream in = new 
ByteArrayInputStream(Charset.forName("us-ascii").encode(mail).array());
         builder.parse(in);
         builder.to(position);
-        return builder.getHeaders();
+        return builder.getMimeHeaders();
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to