You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2011/06/18 11:51:19 UTC

svn commit: r1137152 - in /james/mailbox/trunk: maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java

Author: norman
Date: Sat Jun 18 09:51:18 2011
New Revision: 1137152

URL: http://svn.apache.org/viewvc?rev=1137152&view=rev
Log:
Fix a regression which was introduced while removed the Header model class. See MAILBOX-90

Modified:
    james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/ResultUtils.java

Modified: james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java?rev=1137152&r1=1137151&r2=1137152&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java (original)
+++ james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java Sat Jun 18 09:51:18 2011
@@ -28,19 +28,15 @@ import java.util.List;
 import javax.mail.Flags;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.input.BoundedInputStream;
 import org.apache.james.mailbox.MailboxException;
-import org.apache.james.mailbox.store.ResultUtils;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.Property;
 import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
-import org.apache.james.mailbox.store.streaming.LazySkippingInputStream;
 
 public class MaildirMessage extends AbstractMaildirMessage {
 
     // Document
     private int bodyStartOctet;
-    private InputStream rawFullContent;
     private String mediaType;
     private List<MaildirProperty> properties;
     private String subType;
@@ -51,6 +47,8 @@ public class MaildirMessage extends Abst
     private long size;
     
     private boolean modified = false;
+    private InputStream header;
+    private InputStream body;
     
     /**
      * This constructor is called when appending a new message.
@@ -67,7 +65,8 @@ public class MaildirMessage extends Abst
             int size, Flags flags, InputStream header, InputStream body, int bodyStartOctet, PropertyBuilder propertyBuilder) {
         super(mailbox);
         // Document
-        this.rawFullContent = ResultUtils.toInput(header, body);
+        this.body = body;
+        this.header = header;
         this.bodyStartOctet = bodyStartOctet;
         this.textualLineCount = propertyBuilder.getTextualLineCount();
         this.mediaType = propertyBuilder.getMediaType();
@@ -107,7 +106,9 @@ public class MaildirMessage extends Abst
         this.seen = message.isSeen();
         
         try {
-            this.rawFullContent = new ByteArrayInputStream(IOUtils.toByteArray(ResultUtils.toInput(message)));
+            this.body = new ByteArrayInputStream(IOUtils.toByteArray(message.getBodyContent()));
+            this.header = new ByteArrayInputStream(IOUtils.toByteArray(message.getHeaderContent()));
+
         } catch (IOException e) {
             throw new MailboxException("Parsing of message failed",e);
         }
@@ -147,7 +148,7 @@ public class MaildirMessage extends Abst
      * @see org.apache.james.mailbox.store.mail.model.Message#getHeaderContent()
      */
     public InputStream  getHeaderContent() {
-        return new BoundedInputStream(rawFullContent, bodyStartOctet - 2);
+        return header;
     }
 
     /* 
@@ -241,7 +242,7 @@ public class MaildirMessage extends Abst
      * @see org.apache.james.mailbox.store.mail.model.Message#getBodyContent()
      */
     public InputStream getBodyContent() throws IOException {
-        return new LazySkippingInputStream(rawFullContent, bodyStartOctet);
+        return body;
     }
 
     /*

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=1137152&r1=1137151&r2=1137152&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 Sat Jun 18 09:51:18 2011
@@ -60,7 +60,15 @@ public class ResultUtils {
         final List<MessageResult.Header> results = new ArrayList<MessageResult.Header>();
         List<Field> fields = header.getFields();
         for (Field field: fields) {
-            final ResultHeader resultHeader = new ResultHeader(field.getName(), field.getBody());
+            String fieldValue = field.getBody();
+            if (fieldValue.endsWith("\r\f")) {
+                fieldValue = fieldValue.substring(0,fieldValue.length() - 2);
+            }
+            if (fieldValue.startsWith(" ")) {
+                fieldValue = fieldValue.substring(1);
+            }
+            
+            final ResultHeader resultHeader = new ResultHeader(field.getName(), fieldValue);
             results.add(resultHeader);
         }
         return results;



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org