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/04/20 11:06:39 UTC

svn commit: r1095329 - /james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java

Author: norman
Date: Wed Apr 20 09:06:38 2011
New Revision: 1095329

URL: http://svn.apache.org/viewvc?rev=1095329&view=rev
Log:
Use FileUtils.moveFile(...) as replacement for File.renameTo(..) and make sure all inputstreams get closed after copy a message

Modified:
    james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java

Modified: james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java?rev=1095329&r1=1095328&r2=1095329&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java (original)
+++ james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java Wed Apr 20 09:06:38 2011
@@ -311,10 +311,11 @@ public class MaildirMessageMapper extend
                     message.getMessage().getFullContentOctets());
             File messageFile = new File(tmpFolder, messageName.getFullName());
             FileOutputStream fos = null;
+            InputStream input = null;
             try {
                 messageFile.createNewFile();
                 fos = new FileOutputStream(messageFile);
-                InputStream input = message.getMessage().getFullContent();
+                input = message.getMessage().getFullContent();
                 byte[] b = new byte[BUF_SIZE];
                 int len = 0;
                 while ((len = input.read(b)) != -1)
@@ -328,7 +329,11 @@ public class MaildirMessageMapper extend
                     if (fos != null)
                         fos.close();
                 } catch (IOException e) {
-                    e.printStackTrace();
+                }
+                try {
+                    if (input != null)
+                        input.close();
+                } catch (IOException e) {
                 }
             }
             File newMessageFile = null;
@@ -412,7 +417,7 @@ public class MaildirMessageMapper extend
                         // this automatically moves messages from new to cur if
                         // needed
                         String newMessageName = messageName.getFullName();
-                        messageFile.renameTo(new File(folder.getCurFolder(), newMessageName));
+                        FileUtils.moveFile(messageFile, new File(folder.getCurFolder(), newMessageName));
                         long uid = maildirMessage.getUid();
                         folder.update(uid, newMessageName);
                     } catch (IOException e) {



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org