Return-Path: Delivered-To: apmail-james-mime4j-dev-archive@minotaur.apache.org Received: (qmail 55068 invoked from network); 13 Jan 2010 17:12:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 Jan 2010 17:12:59 -0000 Received: (qmail 32052 invoked by uid 500); 13 Jan 2010 17:12:59 -0000 Delivered-To: apmail-james-mime4j-dev-archive@james.apache.org Received: (qmail 32018 invoked by uid 500); 13 Jan 2010 17:12:59 -0000 Mailing-List: contact mime4j-dev-help@james.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mime4j-dev@james.apache.org Delivered-To: mailing list mime4j-dev@james.apache.org Received: (qmail 32008 invoked by uid 99); 13 Jan 2010 17:12:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Jan 2010 17:12:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Jan 2010 17:12:57 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C484B23889B1; Wed, 13 Jan 2010 17:12:37 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r898843 - in /james/mime4j/branches/cycleclean/core/src: main/java/org/apache/james/mime4j/parser/ main/java/org/apache/james/mime4j/stream/ test/java/org/apache/james/mime4j/parser/ test/java/org/apache/james/mime4j/stream/ Date: Wed, 13 Jan 2010 17:12:37 -0000 To: mime4j-dev@james.apache.org From: bago@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100113171237.C484B23889B1@eris.apache.org> Author: bago Date: Wed Jan 13 17:12:36 2010 New Revision: 898843 URL: http://svn.apache.org/viewvc?rev=898843&view=rev Log: Moved DefaultBodyDescriptor to the stream package as requested by Oleg (MIME4J-157) This reintroduce "commons-logging" dependency to the stream package, so this will need a bit more care later, however this is not a big issue, as MIME4J-158 was an ongoing effort, still. Added: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/DefaultBodyDescriptor.java - copied, changed from r897190, james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/DefaultBodyDescriptor.java Removed: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/DefaultBodyDescriptor.java Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MaximalBodyDescriptor.java james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MimeTokenStream.java james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/BasicMimeTokenStream.java james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/MimeEntityConfig.java james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/parser/DefaultBodyDescriptorTest.java james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/stream/MimeEntityTest.java Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MaximalBodyDescriptor.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MaximalBodyDescriptor.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MaximalBodyDescriptor.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MaximalBodyDescriptor.java Wed Jan 13 17:12:36 2010 @@ -32,6 +32,7 @@ import org.apache.james.mime4j.field.mimeversion.parser.MimeVersionParser; import org.apache.james.mime4j.field.structured.parser.StructuredFieldParser; import org.apache.james.mime4j.stream.BodyDescriptor; +import org.apache.james.mime4j.stream.DefaultBodyDescriptor; import org.apache.james.mime4j.stream.MutableBodyDescriptor; import org.apache.james.mime4j.stream.RawField; import org.apache.james.mime4j.util.MimeUtil; Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MimeTokenStream.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MimeTokenStream.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MimeTokenStream.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/MimeTokenStream.java Wed Jan 13 17:12:36 2010 @@ -24,9 +24,9 @@ import org.apache.james.mime4j.codec.DecodeMonitor; import org.apache.james.mime4j.stream.BasicMimeTokenStream; import org.apache.james.mime4j.stream.BodyDescriptor; +import org.apache.james.mime4j.stream.DefaultBodyDescriptor; import org.apache.james.mime4j.stream.MimeEntityConfig; import org.apache.james.mime4j.stream.MutableBodyDescriptor; -import org.apache.james.mime4j.stream.RawField; /** *

@@ -108,40 +108,6 @@ super(config, monitor); } - /** Instructs the {@code MimeTokenStream} to parse the given streams contents. - * If the {@code MimeTokenStream} has already been in use, resets the streams - * internal state. - */ - public void parse(InputStream stream) { - doParse(stream, null); - } - - /** Instructs the {@code MimeTokenStream} to parse the given content with - * the content type. The message stream is assumed to have no message header - * and is expected to begin with a message body. This can be the case when - * the message content is transmitted using a different transport protocol - * such as HTTP. - *

- * If the {@code MimeTokenStream} has already been in use, resets the streams - * internal state. - */ - public void parseHeadless(InputStream stream, String contentType) { - if (contentType == null) { - throw new IllegalArgumentException("Content type may not be null"); - } - doParse(stream, contentType); - } - - private void doParse(InputStream stream, String contentType) { - MutableBodyDescriptor newBodyDescriptor = newBodyDescriptor(); - int start = T_START_MESSAGE; - if (contentType != null) { - start = T_END_HEADER; - newBodyDescriptor.addField(new RawField("Content-Type", contentType)); - } - doParse(stream, newBodyDescriptor, start); - } - /** * Creates a new instance of {@link BodyDescriptor}. Subclasses may override * this in order to create body descriptors, that provide more specific Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/BasicMimeTokenStream.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/BasicMimeTokenStream.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/BasicMimeTokenStream.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/BasicMimeTokenStream.java Wed Jan 13 17:12:36 2010 @@ -103,7 +103,46 @@ this.monitor = monitor != null ? monitor : (config.isStrictParsing() ? DecodeMonitor.STRICT : DecodeMonitor.SILENT); } - public void doParse(InputStream stream, + + /** Instructs the {@code MimeTokenStream} to parse the given streams contents. + * If the {@code MimeTokenStream} has already been in use, resets the streams + * internal state. + */ + public void parse(InputStream stream) { + doParse(stream, null); + } + + /** Instructs the {@code MimeTokenStream} to parse the given content with + * the content type. The message stream is assumed to have no message header + * and is expected to begin with a message body. This can be the case when + * the message content is transmitted using a different transport protocol + * such as HTTP. + *

+ * If the {@code MimeTokenStream} has already been in use, resets the streams + * internal state. + */ + public void parseHeadless(InputStream stream, String contentType) { + if (contentType == null) { + throw new IllegalArgumentException("Content type may not be null"); + } + doParse(stream, contentType); + } + + protected void doParse(InputStream stream, String contentType) { + MutableBodyDescriptor newBodyDescriptor = newBodyDescriptor(); + int start = T_START_MESSAGE; + if (contentType != null) { + start = T_END_HEADER; + newBodyDescriptor.addField(new RawField("Content-Type", contentType)); + } + doParse(stream, newBodyDescriptor, start); + } + + protected MutableBodyDescriptor newBodyDescriptor() { + return new DefaultBodyDescriptor(null); + } + + public void doParse(InputStream stream, MutableBodyDescriptor newBodyDescriptor, int start) { LineNumberSource lineSource = null; if (config.isCountLineNumbers()) { Copied: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/DefaultBodyDescriptor.java (from r897190, james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/DefaultBodyDescriptor.java) URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/DefaultBodyDescriptor.java?p2=james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/DefaultBodyDescriptor.java&p1=james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/DefaultBodyDescriptor.java&r1=897190&r2=898843&rev=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/parser/DefaultBodyDescriptor.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/DefaultBodyDescriptor.java Wed Jan 13 17:12:36 2010 @@ -17,16 +17,13 @@ * under the License. * ****************************************************************/ -package org.apache.james.mime4j.parser; +package org.apache.james.mime4j.stream; import java.util.HashMap; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.james.mime4j.stream.BodyDescriptor; -import org.apache.james.mime4j.stream.MutableBodyDescriptor; -import org.apache.james.mime4j.stream.RawField; import org.apache.james.mime4j.util.MimeUtil; /** Modified: james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/MimeEntityConfig.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/MimeEntityConfig.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/MimeEntityConfig.java (original) +++ james/mime4j/branches/cycleclean/core/src/main/java/org/apache/james/mime4j/stream/MimeEntityConfig.java Wed Jan 13 17:12:36 2010 @@ -20,7 +20,6 @@ package org.apache.james.mime4j.stream; import org.apache.james.mime4j.MimeException; -import org.apache.james.mime4j.parser.DefaultBodyDescriptor; import org.apache.james.mime4j.parser.MaximalBodyDescriptor; import org.apache.james.mime4j.parser.MimeStreamParser; import org.apache.james.mime4j.parser.MimeTokenStream; Modified: james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/parser/DefaultBodyDescriptorTest.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/parser/DefaultBodyDescriptorTest.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/parser/DefaultBodyDescriptorTest.java (original) +++ james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/parser/DefaultBodyDescriptorTest.java Wed Jan 13 17:12:36 2010 @@ -19,9 +19,9 @@ package org.apache.james.mime4j.parser; -import org.apache.james.mime4j.parser.DefaultBodyDescriptor; import org.apache.james.mime4j.stream.BaseTestForBodyDescriptors; import org.apache.james.mime4j.stream.BodyDescriptor; +import org.apache.james.mime4j.stream.DefaultBodyDescriptor; import org.apache.james.mime4j.stream.MutableBodyDescriptor; public class DefaultBodyDescriptorTest extends BaseTestForBodyDescriptors { Modified: james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/stream/MimeEntityTest.java URL: http://svn.apache.org/viewvc/james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/stream/MimeEntityTest.java?rev=898843&r1=898842&r2=898843&view=diff ============================================================================== --- james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/stream/MimeEntityTest.java (original) +++ james/mime4j/branches/cycleclean/core/src/test/java/org/apache/james/mime4j/stream/MimeEntityTest.java Wed Jan 13 17:12:36 2010 @@ -29,7 +29,6 @@ import org.apache.james.mime4j.io.MaxHeaderLimitException; import org.apache.james.mime4j.io.MaxLineLimitException; import org.apache.james.mime4j.io.LineNumberInputStream; -import org.apache.james.mime4j.parser.DefaultBodyDescriptor; import org.apache.james.mime4j.stream.EntityStateMachine; import org.apache.james.mime4j.stream.EntityStates; import org.apache.james.mime4j.stream.MimeEntity;