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