You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by ol...@apache.org on 2011/01/27 15:34:55 UTC
svn commit: r1064133 - in /james/mime4j/trunk:
dom/src/main/java/org/apache/james/mime4j/message/
dom/src/main/java/org/apache/james/mime4j/storage/
dom/src/test/java/org/apache/james/mime4j/dom/
dom/src/test/java/org/apache/james/mime4j/message/ dom/s...
Author: olegk
Date: Thu Jan 27 14:34:53 2011
New Revision: 1064133
URL: http://svn.apache.org/viewvc?rev=1064133&view=rev
Log:
Decoupled storage and message code: the message package contains only a very basic BodyFactory interface and its default implementation whereas the storage package provides a feature complete version of BodyFactory with different storage backends
Added:
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java (with props)
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java (with props)
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java (with props)
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBinaryBody.java
- copied, changed from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageBinaryBody.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBodyFactory.java
- copied, changed from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageTextBody.java
- copied, changed from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageTextBody.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StringTextBody.java
- copied, changed from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StringTextBody.java
james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/storage/SingleBodyCopyTest.java
- copied, changed from r1064123, james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/message/SingleBodyCopyTest.java
Removed:
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageBinaryBody.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageTextBody.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StringTextBody.java
james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/message/SingleBodyCopyTest.java
Modified:
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageServiceFactoryImpl.java
james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/EntityTest.java
james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java
james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MultipartFormTest.java
james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/MultipartMessage.java
james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/TextPlainMessage.java
james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java
Added: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java?rev=1064133&view=auto
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java (added)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java Thu Jan 27 14:34:53 2011
@@ -0,0 +1,47 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mime4j.message;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.james.mime4j.dom.BinaryBody;
+
+class BasicBinaryBody extends BinaryBody {
+
+ private final byte[] content;
+
+ BasicBinaryBody(final byte[] content) {
+ super();
+ this.content = content;
+ }
+
+ @Override
+ public InputStream getInputStream() throws IOException {
+ return new ByteArrayInputStream(this.content);
+ }
+
+ @Override
+ public BasicBinaryBody copy() {
+ return new BasicBinaryBody(this.content);
+ }
+
+}
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBinaryBody.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java?rev=1064133&view=auto
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java (added)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java Thu Jan 27 14:34:53 2011
@@ -0,0 +1,74 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mime4j.message;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+import org.apache.james.mime4j.dom.BinaryBody;
+import org.apache.james.mime4j.dom.TextBody;
+import org.apache.james.mime4j.util.CharsetUtil;
+
+/**
+ * Factory for creating message bodies.
+ */
+public class BasicBodyFactory implements BodyFactory {
+
+ private static String DEFAULT_CHARSET = CharsetUtil.DEFAULT_CHARSET.name();
+
+ public BinaryBody binaryBody(final InputStream is) throws IOException {
+ return new BasicBinaryBody(bufferContent(is));
+ }
+
+ public TextBody textBody(final InputStream is, final String mimeCharset) throws IOException {
+ return new BasicTextBody(bufferContent(is), mimeCharset);
+ }
+
+ private static byte[] bufferContent(final InputStream is) throws IOException {
+ if (is == null) {
+ throw new IllegalArgumentException("Input stream may not be null");
+ }
+ ByteArrayOutputStream buf = new ByteArrayOutputStream();
+ byte[] tmp = new byte[2048];
+ int l;
+ while ((l = is.read(tmp)) != -1) {
+ buf.write(tmp, 0, l);
+ }
+ return buf.toByteArray();
+ }
+
+ public TextBody textBody(final String text, final String mimeCharset) throws UnsupportedEncodingException {
+ if (text == null) {
+ throw new IllegalArgumentException("Text may not be null");
+ }
+ return new BasicTextBody(text.getBytes(mimeCharset), mimeCharset);
+ }
+
+ public TextBody textBody(final String text) throws UnsupportedEncodingException {
+ return textBody(text, DEFAULT_CHARSET);
+ }
+
+ public BinaryBody binaryBody(final byte[] buf) {
+ return new BasicBinaryBody(buf);
+ }
+
+}
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicBodyFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java?rev=1064133&view=auto
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java (added)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java Thu Jan 27 14:34:53 2011
@@ -0,0 +1,62 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mime4j.message;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+
+import org.apache.james.mime4j.dom.SingleBody;
+import org.apache.james.mime4j.dom.TextBody;
+
+class BasicTextBody extends TextBody {
+
+ private final byte[] content;
+ private final String charset;
+
+ BasicTextBody(final byte[] content, final String charset) {
+ super();
+ this.content = content;
+ this.charset = charset;
+ }
+
+ @Override
+ public String getMimeCharset() {
+ return this.charset;
+ }
+
+ @Override
+ public Reader getReader() throws IOException {
+ return new InputStreamReader(getInputStream(), this.charset);
+ }
+
+ @Override
+ public InputStream getInputStream() throws IOException {
+ return new ByteArrayInputStream(this.content);
+ }
+
+ @Override
+ public SingleBody copy() {
+ return new BasicTextBody(this.content, this.charset);
+ }
+
+}
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BasicTextBody.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java Thu Jan 27 14:34:53 2011
@@ -21,63 +21,14 @@ package org.apache.james.mime4j.message;
import java.io.IOException;
import java.io.InputStream;
-import java.nio.charset.Charset;
-import org.apache.james.mime4j.codec.DecodeMonitor;
import org.apache.james.mime4j.dom.BinaryBody;
-import org.apache.james.mime4j.dom.Disposable;
-import org.apache.james.mime4j.dom.SingleBody;
import org.apache.james.mime4j.dom.TextBody;
-import org.apache.james.mime4j.storage.DefaultStorageProvider;
-import org.apache.james.mime4j.storage.MultiReferenceStorage;
-import org.apache.james.mime4j.storage.Storage;
-import org.apache.james.mime4j.storage.StorageProvider;
-import org.apache.james.mime4j.util.CharsetUtil;
/**
* Factory for creating message bodies.
*/
-public class BodyFactory {
-
- private static final Charset FALLBACK_CHARSET = CharsetUtil.DEFAULT_CHARSET;
-
- private final StorageProvider storageProvider;
- private final DecodeMonitor monitor;
-
- /**
- * Creates a new <code>BodyFactory</code> instance that uses the default
- * storage provider for creating message bodies from input streams.
- */
- public BodyFactory() {
- this(null, null);
- }
-
- /**
- * Creates a new <code>BodyFactory</code> instance that uses the given
- * storage provider for creating message bodies from input streams.
- *
- * @param storageProvider
- * a storage provider or <code>null</code> to use the default
- * one.
- */
- public BodyFactory(
- final StorageProvider storageProvider,
- final DecodeMonitor monitor) {
- this.storageProvider =
- storageProvider != null ? storageProvider : DefaultStorageProvider.getInstance();
- this.monitor =
- monitor != null ? monitor : DecodeMonitor.SILENT;
- }
-
- /**
- * Returns the <code>StorageProvider</code> this <code>BodyFactory</code>
- * uses to create message bodies from input streams.
- *
- * @return a <code>StorageProvider</code>.
- */
- public StorageProvider getStorageProvider() {
- return storageProvider;
- }
+public interface BodyFactory {
/**
* Creates a {@link BinaryBody} that holds the content of the given input
@@ -89,59 +40,7 @@ public class BodyFactory {
* @throws IOException
* if an I/O error occurs.
*/
- public BinaryBody binaryBody(InputStream is) throws IOException {
- if (is == null)
- throw new IllegalArgumentException();
-
- Storage storage = storageProvider.store(is);
- return new StorageBinaryBody(new MultiReferenceStorage(storage));
- }
-
- /**
- * Creates a {@link BinaryBody} that holds the content of the given
- * {@link Storage}.
- * <p>
- * Note that the caller must not invoke {@link Storage#delete() delete()} on
- * the given <code>Storage</code> object after it has been passed to this
- * method. Instead the message body created by this method takes care of
- * deleting the storage when it gets disposed of (see
- * {@link Disposable#dispose()}).
- *
- * @param storage
- * storage to create a message body from.
- * @return a binary body.
- * @throws IOException
- * if an I/O error occurs.
- */
- public BinaryBody binaryBody(Storage storage) throws IOException {
- if (storage == null)
- throw new IllegalArgumentException();
-
- return new StorageBinaryBody(new MultiReferenceStorage(storage));
- }
-
- /**
- * Creates a {@link TextBody} that holds the content of the given input
- * stream.
- * <p>
- * "us-ascii" is used to decode the byte content of the
- * <code>Storage</code> into a character stream when calling
- * {@link TextBody#getReader() getReader()} on the returned object.
- *
- * @param is
- * input stream to create a message body from.
- * @return a text body.
- * @throws IOException
- * if an I/O error occurs.
- */
- public TextBody textBody(InputStream is) throws IOException {
- if (is == null)
- throw new IllegalArgumentException();
-
- Storage storage = storageProvider.store(is);
- return new StorageTextBody(new MultiReferenceStorage(storage),
- CharsetUtil.DEFAULT_CHARSET);
- }
+ BinaryBody binaryBody(InputStream is) throws IOException;
/**
* Creates a {@link TextBody} that holds the content of the given input
@@ -161,163 +60,6 @@ public class BodyFactory {
* @throws IOException
* if an I/O error occurs.
*/
- public TextBody textBody(InputStream is, String mimeCharset)
- throws IOException {
- if (is == null)
- throw new IllegalArgumentException();
- if (mimeCharset == null)
- throw new IllegalArgumentException();
-
- Storage storage = storageProvider.store(is);
- Charset charset = toJavaCharset(mimeCharset, false, monitor);
- return new StorageTextBody(new MultiReferenceStorage(storage), charset);
- }
-
- /**
- * Creates a {@link TextBody} that holds the content of the given
- * {@link Storage}.
- * <p>
- * "us-ascii" is used to decode the byte content of the
- * <code>Storage</code> into a character stream when calling
- * {@link TextBody#getReader() getReader()} on the returned object.
- * <p>
- * Note that the caller must not invoke {@link Storage#delete() delete()} on
- * the given <code>Storage</code> object after it has been passed to this
- * method. Instead the message body created by this method takes care of
- * deleting the storage when it gets disposed of (see
- * {@link Disposable#dispose()}).
- *
- * @param storage
- * storage to create a message body from.
- * @return a text body.
- * @throws IOException
- * if an I/O error occurs.
- */
- public TextBody textBody(Storage storage) throws IOException {
- if (storage == null)
- throw new IllegalArgumentException();
-
- return new StorageTextBody(new MultiReferenceStorage(storage),
- CharsetUtil.DEFAULT_CHARSET);
- }
-
- /**
- * Creates a {@link TextBody} that holds the content of the given
- * {@link Storage}.
- * <p>
- * The charset corresponding to the given MIME charset name is used to
- * decode the byte content of the <code>Storage</code> into a character
- * stream when calling {@link TextBody#getReader() getReader()} on the
- * returned object. If the MIME charset has no corresponding Java charset or
- * the Java charset cannot be used for decoding then "us-ascii" is
- * used instead.
- * <p>
- * Note that the caller must not invoke {@link Storage#delete() delete()} on
- * the given <code>Storage</code> object after it has been passed to this
- * method. Instead the message body created by this method takes care of
- * deleting the storage when it gets disposed of (see
- * {@link Disposable#dispose()}).
- *
- * @param storage
- * storage to create a message body from.
- * @param mimeCharset
- * name of a MIME charset.
- * @return a text body.
- * @throws IOException
- * if an I/O error occurs.
- */
- public TextBody textBody(Storage storage, String mimeCharset)
- throws IOException {
- if (storage == null)
- throw new IllegalArgumentException();
- if (mimeCharset == null)
- throw new IllegalArgumentException();
-
- Charset charset = toJavaCharset(mimeCharset, false, monitor);
- return new StorageTextBody(new MultiReferenceStorage(storage), charset);
- }
-
- /**
- * Creates a {@link TextBody} that holds the content of the given string.
- * <p>
- * "us-ascii" is used to encode the characters of the string into
- * a byte stream when calling
- * {@link SingleBody#writeTo(java.io.OutputStream) writeTo(OutputStream)} on
- * the returned object.
- *
- * @param text
- * text to create a message body from.
- * @return a text body.
- */
- public TextBody textBody(String text) {
- if (text == null)
- throw new IllegalArgumentException();
-
- return new StringTextBody(text, CharsetUtil.DEFAULT_CHARSET);
- }
-
- /**
- * Creates a {@link TextBody} that holds the content of the given string.
- * <p>
- * The charset corresponding to the given MIME charset name is used to
- * encode the characters of the string into a byte stream when calling
- * {@link SingleBody#writeTo(java.io.OutputStream) writeTo(OutputStream)} on
- * the returned object. If the MIME charset has no corresponding Java
- * charset or the Java charset cannot be used for encoding then
- * "us-ascii" is used instead.
- *
- * @param text
- * text to create a message body from.
- * @param mimeCharset
- * name of a MIME charset.
- * @return a text body.
- */
- public TextBody textBody(String text, String mimeCharset) {
- if (text == null)
- throw new IllegalArgumentException();
- if (mimeCharset == null)
- throw new IllegalArgumentException();
-
- Charset charset = toJavaCharset(mimeCharset, true, monitor);
- return new StringTextBody(text, charset);
- }
-
- private static Charset toJavaCharset(
- final String mimeCharset,
- boolean forEncoding,
- final DecodeMonitor monitor) {
- String charset = CharsetUtil.toJavaCharset(mimeCharset);
- if (charset == null) {
- if (monitor.isListening()) {
- monitor.warn(
- "MIME charset '" + mimeCharset + "' has no "
- + "corresponding Java charset", "Using "
- + FALLBACK_CHARSET + " instead.");
- }
- return FALLBACK_CHARSET;
- }
-
- if (forEncoding && !CharsetUtil.isEncodingSupported(charset)) {
- if (monitor.isListening()) {
- monitor.warn(
- "MIME charset '" + mimeCharset
- + "' does not support encoding", "Using "
- + FALLBACK_CHARSET + " instead.");
- }
- return FALLBACK_CHARSET;
- }
-
- if (!forEncoding && !CharsetUtil.isDecodingSupported(charset)) {
- if (monitor.isListening()) {
- monitor.warn(
- "MIME charset '" + mimeCharset
- + "' does not support decoding", "Using "
- + FALLBACK_CHARSET + " instead.");
- }
- return FALLBACK_CHARSET;
- }
-
- return Charset.forName(charset);
- }
+ TextBody textBody(InputStream is, String mimeCharset) throws IOException;
}
Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/EntityBuilder.java Thu Jan 27 14:34:53 2011
@@ -33,7 +33,6 @@ import org.apache.james.mime4j.dom.Multi
import org.apache.james.mime4j.dom.field.Field;
import org.apache.james.mime4j.field.DefaultFieldParser;
import org.apache.james.mime4j.parser.ContentHandler;
-import org.apache.james.mime4j.storage.StorageProvider;
import org.apache.james.mime4j.stream.BodyDescriptor;
import org.apache.james.mime4j.stream.RawField;
import org.apache.james.mime4j.util.ByteArrayBuffer;
@@ -56,12 +55,12 @@ class EntityBuilder implements ContentHa
public EntityBuilder(
final Entity entity,
- final StorageProvider storageProvider,
+ final BodyFactory bodyFactory,
final DecodeMonitor monitor) {
this.entity = entity;
this.stack = new Stack<Object>();
this.monitor = monitor != null ? monitor : DecodeMonitor.SILENT;
- this.bodyFactory = new BodyFactory(storageProvider, this.monitor);
+ this.bodyFactory = bodyFactory != null ? bodyFactory : new BasicBodyFactory();
}
private void expect(Class<?> c) {
Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java Thu Jan 27 14:34:53 2011
@@ -27,7 +27,6 @@ import org.apache.james.mime4j.codec.Dec
import org.apache.james.mime4j.dom.Message;
import org.apache.james.mime4j.dom.MessageBuilder;
import org.apache.james.mime4j.dom.ParseParams;
-import org.apache.james.mime4j.storage.StorageProvider;
import org.apache.james.mime4j.stream.MimeEntityConfig;
import org.apache.james.mime4j.stream.MutableBodyDescriptorFactory;
@@ -38,7 +37,7 @@ import org.apache.james.mime4j.stream.Mu
public class MessageBuilderImpl implements MessageBuilder {
private MimeBuilder mimeBuilder = null;
- private StorageProvider storageProvider = null;
+ private BodyFactory bodyFactory = null;
private MimeEntityConfig mimeEntityConfig = null;
private MutableBodyDescriptorFactory mutableBodyDescriptorFactory = null;
@@ -65,7 +64,7 @@ public class MessageBuilderImpl implemen
public Message parse(InputStream source) throws MimeException, IOException {
return getMimeBuilder().parse(source,
mimeEntityConfig,
- storageProvider,
+ bodyFactory,
mutableBodyDescriptorFactory,
null,
null);
@@ -76,14 +75,14 @@ public class MessageBuilderImpl implemen
ParseParams params, DecodeMonitor decodeMonitor) throws MimeException, IOException {
return getMimeBuilder().parse(source,
mimeEntityConfig,
- storageProvider,
+ bodyFactory,
mutableBodyDescriptorFactory,
params,
decodeMonitor);
}
- public void setStorageProvider(StorageProvider storageProvider) {
- this.storageProvider = storageProvider;
+ public void setBodyFactory(BodyFactory bodyFactory) {
+ this.bodyFactory = bodyFactory;
}
public void setMimeEntityConfig(MimeEntityConfig mimeEntityConfig) {
Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageServiceFactoryImpl.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageServiceFactoryImpl.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageServiceFactoryImpl.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MessageServiceFactoryImpl.java Thu Jan 27 14:34:53 2011
@@ -21,7 +21,6 @@ package org.apache.james.mime4j.message;
import org.apache.james.mime4j.dom.MessageBuilder;
import org.apache.james.mime4j.dom.MessageServiceFactory;
import org.apache.james.mime4j.dom.MessageFormatter;
-import org.apache.james.mime4j.storage.StorageProvider;
import org.apache.james.mime4j.stream.MimeEntityConfig;
import org.apache.james.mime4j.stream.MutableBodyDescriptorFactory;
@@ -33,14 +32,14 @@ import org.apache.james.mime4j.stream.Mu
*/
public class MessageServiceFactoryImpl extends MessageServiceFactory {
- private StorageProvider storageProvider = null;
+ private BodyFactory bodyFactory = null;
private MimeEntityConfig mimeEntityConfig = null;
private MutableBodyDescriptorFactory mutableBodyDescriptorFactory = null;
@Override
public MessageBuilder newMessageBuilder() {
MessageBuilderImpl m = new MessageBuilderImpl();
- if (storageProvider != null) m.setStorageProvider(storageProvider);
+ if (bodyFactory != null) m.setBodyFactory(bodyFactory);
if (mimeEntityConfig != null) m.setMimeEntityConfig(mimeEntityConfig);
if (mutableBodyDescriptorFactory != null) m.setMutableBodyDescriptorFactory(mutableBodyDescriptorFactory);
return m;
@@ -55,11 +54,11 @@ public class MessageServiceFactoryImpl e
@Override
public void setAttribute(String name, Object value)
throws IllegalArgumentException {
- if ("StorageProvider".equals(name)) {
- if (value instanceof StorageProvider) {
- this.storageProvider = (StorageProvider) value;
+ if ("BodyFactory".equals(name)) {
+ if (value instanceof BodyFactory) {
+ this.bodyFactory = (BodyFactory) value;
return;
- } else throw new IllegalArgumentException("Unsupported attribute value type for "+name+", expected a StorageProvider");
+ } else throw new IllegalArgumentException("Unsupported attribute value type for "+name+", expected a BodyFactory");
} else if ("MimeEntityConfig".equals(name)) {
if (value instanceof MimeEntityConfig) {
this.mimeEntityConfig = (MimeEntityConfig) value;
Modified: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java Thu Jan 27 14:34:53 2011
@@ -37,8 +37,6 @@ import org.apache.james.mime4j.dom.field
import org.apache.james.mime4j.field.DefaultFieldParser;
import org.apache.james.mime4j.parser.AbstractContentHandler;
import org.apache.james.mime4j.parser.MimeStreamParser;
-import org.apache.james.mime4j.storage.DefaultStorageProvider;
-import org.apache.james.mime4j.storage.StorageProvider;
import org.apache.james.mime4j.stream.MimeEntityConfig;
import org.apache.james.mime4j.stream.MutableBodyDescriptorFactory;
import org.apache.james.mime4j.stream.RawField;
@@ -236,8 +234,8 @@ public class MimeBuilder {
* the stream to parse.
* @param config
* {@link MimeEntityConfig} to use.
- * @param storageProvider
- * {@link StorageProvider} to use for storing text and binary
+ * @param bodyFactory
+ * {@link BodyFactory} to use for storing text and binary
* message bodies.
* @param bodyDescFactory
* {@link MutableBodyDescriptorFactory} to use for creating body descriptors.
@@ -249,7 +247,7 @@ public class MimeBuilder {
public Message parse(
final InputStream is,
final MimeEntityConfig config,
- final StorageProvider storageProvider,
+ final BodyFactory bodyFactory,
final MutableBodyDescriptorFactory bodyDescFactory,
final ParseParams params,
final DecodeMonitor monitor) throws IOException, MimeIOException {
@@ -257,7 +255,7 @@ public class MimeBuilder {
MessageImpl message = new MessageImpl();
DecodeMonitor mon = monitor != null ? monitor : DecodeMonitor.SILENT;
MimeStreamParser parser = new MimeStreamParser(config, bodyDescFactory, mon);
- parser.setContentHandler(new EntityBuilder(message, storageProvider, mon));
+ parser.setContentHandler(new EntityBuilder(message, bodyFactory, mon));
if (params != null) {
parser.setContentDecoding(params.isContentDecoding());
if (params.isFlatMode()) {
@@ -297,25 +295,25 @@ public class MimeBuilder {
public Message parse(
final InputStream is,
final MimeEntityConfig config,
- final StorageProvider storageProvider,
+ final BodyFactory bodyFactory,
final MutableBodyDescriptorFactory bodyDescFactory,
final DecodeMonitor monitor) throws IOException, MimeIOException {
- return parse(is, config, storageProvider, bodyDescFactory, null, monitor);
+ return parse(is, config, bodyFactory, bodyDescFactory, null, monitor);
}
public Message parse(
final InputStream is,
final MimeEntityConfig config,
- final StorageProvider storageProvider,
+ final BodyFactory bodyFactory,
final MutableBodyDescriptorFactory bodyDescFactory) throws IOException, MimeIOException {
- return parse(is, config, storageProvider, bodyDescFactory, null);
+ return parse(is, config, bodyFactory, bodyDescFactory, null);
}
public Message parse(
final InputStream is,
final MimeEntityConfig config,
- final StorageProvider storageProvider) throws IOException, MimeIOException {
- return parse(is, config, storageProvider, null, null);
+ final BodyFactory bodyFactory) throws IOException, MimeIOException {
+ return parse(is, config, bodyFactory, null, null);
}
/**
@@ -330,7 +328,7 @@ public class MimeBuilder {
* on MIME protocol violations.
*/
public Message parse(InputStream is) throws IOException, MimeIOException {
- return parse(is, null, DefaultStorageProvider.getInstance());
+ return parse(is, null, null);
}
/**
@@ -346,7 +344,7 @@ public class MimeBuilder {
*/
public Message parse(InputStream is, MimeEntityConfig config) throws IOException,
MimeIOException {
- return parse(is, config, DefaultStorageProvider.getInstance());
+ return parse(is, config, null);
}
}
Copied: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBinaryBody.java (from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageBinaryBody.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBinaryBody.java?p2=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBinaryBody.java&p1=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageBinaryBody.java&r1=1064123&r2=1064133&rev=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageBinaryBody.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBinaryBody.java Thu Jan 27 14:34:53 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mime4j.message;
+package org.apache.james.mime4j.storage;
import java.io.IOException;
import java.io.InputStream;
Copied: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBodyFactory.java (from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBodyFactory.java?p2=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBodyFactory.java&p1=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java&r1=1064123&r2=1064133&rev=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/BodyFactory.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageBodyFactory.java Thu Jan 27 14:34:53 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mime4j.message;
+package org.apache.james.mime4j.storage;
import java.io.IOException;
import java.io.InputStream;
@@ -28,6 +28,7 @@ import org.apache.james.mime4j.dom.Binar
import org.apache.james.mime4j.dom.Disposable;
import org.apache.james.mime4j.dom.SingleBody;
import org.apache.james.mime4j.dom.TextBody;
+import org.apache.james.mime4j.message.BodyFactory;
import org.apache.james.mime4j.storage.DefaultStorageProvider;
import org.apache.james.mime4j.storage.MultiReferenceStorage;
import org.apache.james.mime4j.storage.Storage;
@@ -37,7 +38,7 @@ import org.apache.james.mime4j.util.Char
/**
* Factory for creating message bodies.
*/
-public class BodyFactory {
+public class StorageBodyFactory implements BodyFactory {
private static final Charset FALLBACK_CHARSET = CharsetUtil.DEFAULT_CHARSET;
@@ -48,7 +49,7 @@ public class BodyFactory {
* Creates a new <code>BodyFactory</code> instance that uses the default
* storage provider for creating message bodies from input streams.
*/
- public BodyFactory() {
+ public StorageBodyFactory() {
this(null, null);
}
@@ -60,7 +61,7 @@ public class BodyFactory {
* a storage provider or <code>null</code> to use the default
* one.
*/
- public BodyFactory(
+ public StorageBodyFactory(
final StorageProvider storageProvider,
final DecodeMonitor monitor) {
this.storageProvider =
Copied: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageTextBody.java (from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageTextBody.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageTextBody.java?p2=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageTextBody.java&p1=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageTextBody.java&r1=1064123&r2=1064133&rev=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StorageTextBody.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StorageTextBody.java Thu Jan 27 14:34:53 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mime4j.message;
+package org.apache.james.mime4j.storage;
import java.io.IOException;
import java.io.InputStream;
Copied: james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StringTextBody.java (from r1064123, james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StringTextBody.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StringTextBody.java?p2=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StringTextBody.java&p1=james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StringTextBody.java&r1=1064123&r2=1064133&rev=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/message/StringTextBody.java (original)
+++ james/mime4j/trunk/dom/src/main/java/org/apache/james/mime4j/storage/StringTextBody.java Thu Jan 27 14:34:53 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mime4j.message;
+package org.apache.james.mime4j.storage;
import java.io.ByteArrayInputStream;
import java.io.IOException;
Modified: james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/EntityTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/EntityTest.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/EntityTest.java (original)
+++ james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/EntityTest.java Thu Jan 27 14:34:53 2011
@@ -23,7 +23,7 @@ import org.apache.james.mime4j.dom.Body;
import org.apache.james.mime4j.dom.Entity;
import org.apache.james.mime4j.dom.Header;
import org.apache.james.mime4j.field.DefaultFieldParser;
-import org.apache.james.mime4j.message.BodyFactory;
+import org.apache.james.mime4j.message.BasicBodyFactory;
import org.apache.james.mime4j.message.BodyPart;
import org.apache.james.mime4j.message.HeaderImpl;
@@ -35,7 +35,7 @@ public class EntityTest extends TestCase
Entity entity = new BodyPart();
assertNull(entity.getBody());
- Body body = new BodyFactory().textBody("test");
+ Body body = new BasicBodyFactory().textBody("test");
assertNull(body.getParent());
entity.setBody(body);
@@ -46,8 +46,8 @@ public class EntityTest extends TestCase
public void testSetBodyTwice() throws Exception {
Entity entity = new BodyPart();
- Body b1 = new BodyFactory().textBody("foo");
- Body b2 = new BodyFactory().textBody("bar");
+ Body b1 = new BasicBodyFactory().textBody("foo");
+ Body b2 = new BasicBodyFactory().textBody("bar");
entity.setBody(b1);
try {
@@ -59,7 +59,7 @@ public class EntityTest extends TestCase
public void testRemoveBody() throws Exception {
Entity entity = new BodyPart();
- Body body = new BodyFactory().textBody("test");
+ Body body = new BasicBodyFactory().textBody("test");
entity.setBody(body);
Body removed = entity.removeBody();
Modified: james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java (original)
+++ james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java Thu Jan 27 14:34:53 2011
@@ -28,7 +28,7 @@ import org.apache.james.mime4j.dom.Heade
import org.apache.james.mime4j.dom.Multipart;
import org.apache.james.mime4j.dom.field.Field;
import org.apache.james.mime4j.field.DefaultFieldParser;
-import org.apache.james.mime4j.message.BodyFactory;
+import org.apache.james.mime4j.message.BasicBodyFactory;
import org.apache.james.mime4j.message.BodyPart;
import org.apache.james.mime4j.message.HeaderImpl;
import org.apache.james.mime4j.message.MessageImpl;
@@ -52,7 +52,7 @@ public class MimeBuilderCopyTest extends
public void testCopyMessage() throws Exception {
MessageImpl parent = new MessageImpl();
Header header = new HeaderImpl();
- Body body = new BodyFactory().textBody("test");
+ Body body = new BasicBodyFactory().textBody("test");
MessageImpl original = new MessageImpl();
original.setHeader(header);
@@ -85,7 +85,7 @@ public class MimeBuilderCopyTest extends
public void testCopyBodyPart() throws Exception {
MessageImpl parent = new MessageImpl();
Header header = new HeaderImpl();
- Body body = new BodyFactory().textBody("test");
+ Body body = new BasicBodyFactory().textBody("test");
BodyPart original = new BodyPart();
original.setHeader(header);
Modified: james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MultipartFormTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MultipartFormTest.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MultipartFormTest.java (original)
+++ james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/dom/MultipartFormTest.java Thu Jan 27 14:34:53 2011
@@ -26,7 +26,7 @@ import junit.framework.TestCase;
import org.apache.james.mime4j.dom.Header;
import org.apache.james.mime4j.dom.Multipart;
import org.apache.james.mime4j.field.DefaultFieldParser;
-import org.apache.james.mime4j.message.BodyFactory;
+import org.apache.james.mime4j.message.BasicBodyFactory;
import org.apache.james.mime4j.message.BodyPart;
import org.apache.james.mime4j.message.HeaderImpl;
import org.apache.james.mime4j.message.MessageImpl;
@@ -36,7 +36,7 @@ import org.apache.james.mime4j.message.M
public class MultipartFormTest extends TestCase {
public void testMultipartFormContent() throws Exception {
- BodyFactory bodyFactory = new BodyFactory();
+ BasicBodyFactory bodyFactory = new BasicBodyFactory();
MessageImpl message = new MessageImpl();
Header header = new HeaderImpl();
Copied: james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/storage/SingleBodyCopyTest.java (from r1064123, james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/message/SingleBodyCopyTest.java)
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/storage/SingleBodyCopyTest.java?p2=james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/storage/SingleBodyCopyTest.java&p1=james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/message/SingleBodyCopyTest.java&r1=1064123&r2=1064133&rev=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/message/SingleBodyCopyTest.java (original)
+++ james/mime4j/trunk/dom/src/test/java/org/apache/james/mime4j/storage/SingleBodyCopyTest.java Thu Jan 27 14:34:53 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mime4j.message;
+package org.apache.james.mime4j.storage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -26,12 +26,6 @@ import junit.framework.TestCase;
import org.apache.james.mime4j.dom.SingleBody;
import org.apache.james.mime4j.message.MessageImpl;
-import org.apache.james.mime4j.message.StorageBinaryBody;
-import org.apache.james.mime4j.message.StorageTextBody;
-import org.apache.james.mime4j.message.StringTextBody;
-import org.apache.james.mime4j.storage.MemoryStorageProvider;
-import org.apache.james.mime4j.storage.MultiReferenceStorage;
-import org.apache.james.mime4j.storage.Storage;
import org.apache.james.mime4j.util.CharsetUtil;
public class SingleBodyCopyTest extends TestCase {
Modified: james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/MultipartMessage.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/MultipartMessage.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/MultipartMessage.java (original)
+++ james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/MultipartMessage.java Thu Jan 27 14:34:53 2011
@@ -33,12 +33,12 @@ import org.apache.james.mime4j.dom.Binar
import org.apache.james.mime4j.dom.Multipart;
import org.apache.james.mime4j.dom.TextBody;
import org.apache.james.mime4j.field.address.AddressBuilder;
-import org.apache.james.mime4j.message.BodyFactory;
import org.apache.james.mime4j.message.BodyPart;
import org.apache.james.mime4j.message.MessageImpl;
import org.apache.james.mime4j.message.MimeWriter;
import org.apache.james.mime4j.message.MultipartImpl;
import org.apache.james.mime4j.storage.Storage;
+import org.apache.james.mime4j.storage.StorageBodyFactory;
import org.apache.james.mime4j.storage.StorageOutputStream;
import org.apache.james.mime4j.storage.StorageProvider;
@@ -75,7 +75,7 @@ public class MultipartMessage {
multipart.setPreamble("This is a multi-part message in MIME format.");
// first part is text/plain
- BodyFactory bodyFactory = new BodyFactory();
+ StorageBodyFactory bodyFactory = new StorageBodyFactory();
BodyPart textPart = createTextPart(bodyFactory, "Why so serious?");
multipart.addBodyPart(textPart);
@@ -99,7 +99,7 @@ public class MultipartMessage {
/**
* Creates a text part from the specified string.
*/
- private static BodyPart createTextPart(BodyFactory bodyFactory, String text) {
+ private static BodyPart createTextPart(StorageBodyFactory bodyFactory, String text) {
// Use UTF-8 to encode the specified text
TextBody body = bodyFactory.textBody(text, "UTF-8");
@@ -114,7 +114,7 @@ public class MultipartMessage {
/**
* Creates a binary part from the specified image.
*/
- private static BodyPart createImagePart(BodyFactory bodyFactory,
+ private static BodyPart createImagePart(StorageBodyFactory bodyFactory,
BufferedImage image) throws IOException {
// Create a binary message body from the image
StorageProvider storageProvider = bodyFactory.getStorageProvider();
Modified: james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/TextPlainMessage.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/TextPlainMessage.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/TextPlainMessage.java (original)
+++ james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/dom/TextPlainMessage.java Thu Jan 27 14:34:53 2011
@@ -25,9 +25,9 @@ import java.util.Date;
import org.apache.james.mime4j.dom.TextBody;
import org.apache.james.mime4j.field.address.AddressBuilder;
import org.apache.james.mime4j.field.address.ParseException;
-import org.apache.james.mime4j.message.BodyFactory;
import org.apache.james.mime4j.message.MessageImpl;
import org.apache.james.mime4j.message.MimeWriter;
+import org.apache.james.mime4j.storage.StorageBodyFactory;
/**
* This example generates a message very similar to the one from RFC 5322
@@ -54,7 +54,7 @@ public class TextPlainMessage {
// 3) set a text body
- BodyFactory bodyFactory = new BodyFactory();
+ StorageBodyFactory bodyFactory = new StorageBodyFactory();
TextBody body = bodyFactory.textBody("This is a message just to "
+ "say hello.\r\nSo, \"Hello\".");
Modified: james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java?rev=1064133&r1=1064132&r2=1064133&view=diff
==============================================================================
--- james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java (original)
+++ james/mime4j/trunk/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java Thu Jan 27 14:34:53 2011
@@ -31,13 +31,13 @@ import org.apache.james.mime4j.dom.Multi
import org.apache.james.mime4j.dom.TextBody;
import org.apache.james.mime4j.dom.field.ParseException;
import org.apache.james.mime4j.field.address.AddressBuilder;
-import org.apache.james.mime4j.message.BodyFactory;
import org.apache.james.mime4j.message.BodyPart;
import org.apache.james.mime4j.message.MessageImpl;
import org.apache.james.mime4j.message.MimeBuilder;
import org.apache.james.mime4j.message.MimeWriter;
import org.apache.james.mime4j.message.MultipartImpl;
import org.apache.james.mime4j.storage.DefaultStorageProvider;
+import org.apache.james.mime4j.storage.StorageBodyFactory;
import org.apache.james.mime4j.storage.StorageProvider;
import org.apache.james.mime4j.storage.TempFileStorageProvider;
@@ -152,7 +152,7 @@ public class TransformMessage {
* Creates a text part from the specified string.
*/
private static BodyPart createTextPart(String text) {
- TextBody body = new BodyFactory().textBody(text, "UTF-8");
+ TextBody body = new StorageBodyFactory().textBody(text, "UTF-8");
BodyPart bodyPart = new BodyPart();
bodyPart.setText(body);
@@ -169,7 +169,7 @@ public class TransformMessage {
byte[] data = new byte[numberOfBytes];
new Random().nextBytes(data);
- Body body = new BodyFactory()
+ Body body = new StorageBodyFactory()
.binaryBody(new ByteArrayInputStream(data));
BodyPart bodyPart = new BodyPart();