Author: felixk
Date: Wed Sep 28 09:24:39 2011
New Revision: 1176795

URL: http://svn.apache.org/viewvc?rev=1176795&view=rev
Log:
Finally close the streams (MAILBOX-137)

Modified:
    
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
    
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java

Modified: 
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java?rev=1176795&r1=1176794&r2=1176795&view=diff
==============================================================================
--- 
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
 (original)
+++ 
james/mailbox/trunk/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
 Wed Sep 28 09:24:39 2011
@@ -51,7 +51,6 @@ import org.apache.james.mailbox.hbase.io
 import org.apache.james.mailbox.store.SimpleMessageMetaData;
 import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
 import org.apache.james.mailbox.store.mail.MessageMapper;
-import org.apache.james.mailbox.store.mail.MessageMapper.FetchType;
 import org.apache.james.mailbox.store.mail.ModSeqProvider;
 import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
@@ -583,6 +582,8 @@ public class HBaseMessageMapper extends 
     protected MessageMetaData save(Mailbox<UUID> mailbox, Message<UUID> 
message) throws MailboxException {
         HTable messages = null;
         HTable mailboxes = null;
+        BufferedInputStream in = null;
+        ChunkOutputStream out = null;
         try {
             //TODO: update the mailbox information about messages
             messages = new HTable(conf, MESSAGES_TABLE);
@@ -593,13 +594,14 @@ public class HBaseMessageMapper extends 
             //save the message content
             //TODO: current implementation is crude.
 
-            ChunkOutputStream out = new ChunkOutputStream(conf,
-                    MESSAGES_TABLE, MESSAGE_DATA_BODY, messageRowKey(message), 
MAX_COLUMN_SIZE);
             int b;
-            BufferedInputStream in = new 
BufferedInputStream(message.getBodyContent());
+            out = new ChunkOutputStream(conf,
+                    MESSAGES_TABLE, MESSAGE_DATA_BODY, messageRowKey(message), 
MAX_COLUMN_SIZE);
+            in = new BufferedInputStream(message.getBodyContent());
             while ((b = in.read()) != -1) {
                 out.write(b);
             }
+            in.close();
             out.close();
             out = new ChunkOutputStream(conf,
                     MESSAGES_TABLE, MESSAGE_DATA_HEADERS, 
messageRowKey(message), MAX_COLUMN_SIZE);
@@ -607,6 +609,7 @@ public class HBaseMessageMapper extends 
             while ((b = in.read()) != -1) {
                 out.write(b);
             }
+            in.close();
             out.close();
             // increase the message count for the current mailbox
             
mailboxes.incrementColumnValue(mailboxRowKey(mailbox.getMailboxId()), 
MAILBOX_CF, MAILBOX_MESSAGE_COUNT, 1);
@@ -628,6 +631,20 @@ public class HBaseMessageMapper extends 
                     throw new MailboxException("Error closing table " + 
mailboxes, ex);
                 }
             }
+            if (in != null) {
+                try {
+                    in.close();
+                } catch (IOException ex) {
+                    throw new MailboxException("Error closing Inputtream", ex);
+                }
+            }
+            if (out != null) {
+                try {
+                    out.close();
+                } catch (IOException ex) {
+                    throw new MailboxException("Error closing OutputStream", 
ex);
+                }
+            }
         }
     }
 

Modified: 
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java?rev=1176795&r1=1176794&r2=1176795&view=diff
==============================================================================
--- 
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
 (original)
+++ 
james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
 Wed Sep 28 09:24:39 2011
@@ -580,7 +580,7 @@ public class MaildirFolder {
         } finally {
             IOUtils.closeQuietly(pw);
             IOUtils.closeQuietly(fileReader);
-            IOUtils.closeQuietly(fileReader);
+            IOUtils.closeQuietly(reader);
         }               
         return uidMap;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to