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