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 rd...@apache.org on 2008/05/27 22:53:50 UTC
svn commit: r660700 - in /james/mime4j/trunk: ./
src/main/java/org/apache/james/mime4j/message/
src/main/java/org/apache/james/mime4j/util/
src/test/java/org/apache/james/mime4j/util/
Author: rdonkin
Date: Tue May 27 13:53:50 2008
New Revision: 660700
URL: http://svn.apache.org/viewvc?rev=660700&view=rev
Log:
Remove main source dependency on CommonsIO. Retained test dependency.
Added:
james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/CodecUtilTest.java
Modified:
james/mime4j/trunk/pom.xml
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CodecUtil.java
Modified: james/mime4j/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/pom.xml?rev=660700&r1=660699&r2=660700&view=diff
==============================================================================
--- james/mime4j/trunk/pom.xml (original)
+++ james/mime4j/trunk/pom.xml Tue May 27 13:53:50 2008
@@ -293,6 +293,8 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.2</version>
+ <scope>test</scope>
+ <optional>true</optional>
</dependency>
</dependencies>
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java?rev=660700&r1=660699&r2=660700&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java Tue May 27 13:53:50 2008
@@ -23,7 +23,6 @@
import java.io.InputStream;
import java.io.OutputStream;
-import org.apache.commons.io.IOUtils;
import org.apache.james.mime4j.decoder.Base64InputStream;
import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
import org.apache.james.mime4j.util.CodecUtil;
@@ -66,7 +65,7 @@
} else {
decodedStream = is;
}
- IOUtils.copy(decodedStream, out);
+ CodecUtil.copy(decodedStream, out);
out.close();
}
@@ -103,7 +102,7 @@
CodecUtil.encodeQuotedPrintableBinary(inputStream,out);
out.write(CodecUtil.CRLF_CRLF);
} else {
- IOUtils.copy(inputStream,out);
+ CodecUtil.copy(inputStream,out);
}
}
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java?rev=660700&r1=660699&r2=660700&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java Tue May 27 13:53:50 2008
@@ -26,10 +26,10 @@
import java.io.Reader;
import java.io.UnsupportedEncodingException;
-import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.james.mime4j.util.CharsetUtil;
+import org.apache.james.mime4j.util.CodecUtil;
import org.apache.james.mime4j.util.TempFile;
import org.apache.james.mime4j.util.TempPath;
import org.apache.james.mime4j.util.TempStorage;
@@ -60,7 +60,7 @@
tempFile = tempPath.createTempFile("attachment", ".txt");
OutputStream out = tempFile.getOutputStream();
- IOUtils.copy(is, out);
+ CodecUtil.copy(is, out);
out.close();
}
@@ -110,6 +110,6 @@
* @see org.apache.james.mime4j.message.Body#writeTo(java.io.OutputStream, int)
*/
public void writeTo(OutputStream out, int mode) throws IOException {
- IOUtils.copy(tempFile.getInputStream(), out);
+ CodecUtil.copy(tempFile.getInputStream(), out);
}
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CodecUtil.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CodecUtil.java?rev=660700&r1=660699&r2=660700&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CodecUtil.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/CodecUtil.java Tue May 27 13:53:50 2008
@@ -45,6 +45,20 @@
private static final byte[] HEX_DIGITS = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
/**
+ * Copies the contents of one stream to the other.
+ * @param in not null
+ * @param out not null
+ * @throws IOException
+ */
+ public static void copy(final InputStream in, final OutputStream out) throws IOException {
+ final byte[] buffer = new byte[DEFAULT_ENCODING_BUFFER_SIZE];
+ int inputLength;
+ while (-1 != (inputLength = in.read(buffer))) {
+ out.write(buffer, 0, inputLength);
+ }
+ }
+
+ /**
* Encodes the given stream using Quoted-Printable.
* This assumes that text is binary and therefore escapes
* all line endings.
Added: james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/CodecUtilTest.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/CodecUtilTest.java?rev=660700&view=auto
==============================================================================
--- james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/CodecUtilTest.java (added)
+++ james/mime4j/trunk/src/test/java/org/apache/james/mime4j/util/CodecUtilTest.java Tue May 27 13:53:50 2008
@@ -0,0 +1,55 @@
+/****************************************************************
+ * 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.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
+import org.apache.james.mime4j.ExampleMail;
+
+import junit.framework.TestCase;
+
+public class CodecUtilTest extends TestCase {
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testCopy() throws Exception {
+ byte[] content = ExampleMail.MULTIPART_WITH_BINARY_ATTACHMENTS_BYTES;
+ ByteArrayInputStream in = new ByteArrayInputStream(content);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ CodecUtil.copy(in, out);
+ assertEquals(content, out.toByteArray());
+ }
+
+ private void assertEquals(byte[] expected, byte[] actual) {
+ StringBuffer buffer = new StringBuffer(expected.length);
+ assertEquals(expected.length, actual.length);
+ for (int i = 0; i < actual.length; i++) {
+ buffer.append((char)actual[i]);
+ assertEquals("Mismatch@" + i, expected[i], actual[i]);
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org