Author: norman
Date: Fri Sep 25 18:33:09 2009
New Revision: 818941

URL: http://svn.apache.org/viewvc?rev=818941&view=rev
Log:
ignore exception on closing folder

Modified:
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/SetFlagsHandler.java
    
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/TagMessagesHandler.java

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=818941&r1=818940&r2=818941&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
 Fri Sep 25 18:33:09 2009
@@ -195,7 +195,12 @@
                        }
                        message.setFlag(Flag.SEEN, true);
                        folder.appendMessages(new Message[] {message});
-                       folder.close(false);
+                       
+                       try {
+                               folder.close(false);
+                       } catch (MessagingException e) {
+                               // we don't care on close
+                       }
 
                }
                

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java?rev=818941&r1=818940&r2=818941&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
 Fri Sep 25 18:33:09 2009
@@ -84,10 +84,11 @@
        protected MessageDetails exposeMessage(User user, IMAPFolder folder,
                        long uid) throws ActionException {
                IMAPStore store = null;
+               com.sun.mail.imap.IMAPFolder f = null;
                try {
                        store = cache.get(user);
 
-                       com.sun.mail.imap.IMAPFolder f = 
(com.sun.mail.imap.IMAPFolder) store
+                       f = (com.sun.mail.imap.IMAPFolder) store
                                        .getFolder(folder.getFullName());
 
                        if (f.isOpen() == false) {
@@ -113,7 +114,6 @@
                        
mDetails.setRawHeader(message.getAllHeaders().toString());
 
                        f.setFlags(new Message[] { message }, new 
Flags(Flag.SEEN), true);
-                       f.close(false);
 
                        return mDetails;
                } catch (Exception e) {
@@ -122,6 +122,14 @@
                        throw new ActionException("Unable to expose msg for 
user " + user
                                        + " in folder " + folder + " with uid " 
+ uid);
 
+               } finally {
+                       if (f != null && f.isOpen()) {
+                               try {
+                                       f.close(false);
+                               } catch (MessagingException e) {
+                                       // ignore on close
+                               }
+                       }
                }
        }
 

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/SetFlagsHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/SetFlagsHandler.java?rev=818941&r1=818940&r2=818941&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/SetFlagsHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/SetFlagsHandler.java
 Fri Sep 25 18:33:09 2009
@@ -56,10 +56,11 @@
                User user = getUser(action.getSessionId());
                IMAPFolder folder = action.getFolder();
                ArrayList<Long> uids = action.getUids();
+               com.sun.mail.imap.IMAPFolder f = null;
                try {
                        IMAPStore store = cache.get(user);
 
-                       com.sun.mail.imap.IMAPFolder f = 
(com.sun.mail.imap.IMAPFolder) store.getFolder(folder.getFullName());
+                       f = (com.sun.mail.imap.IMAPFolder) 
store.getFolder(folder.getFullName());
                        if (f.isOpen() == false) {
                                f.open(Folder.READ_WRITE);
                        }
@@ -69,12 +70,19 @@
                        flags.add(flag);
                        
                        f.setFlags(msgs, flags, action.getValue());
-                       f.close(false);
                        return new EmptyResult();
                } catch (MessagingException e) {
                        String errorMsg = "Error while setting flags of 
messages with uids " + uids + " for user " + user;
                        logger.error(errorMsg,e);
                        throw new ActionException(errorMsg,e);
+               } finally {
+                       if (f != null && f.isOpen()) {
+                               try {
+                                       f.close(false);
+                               } catch (MessagingException e) {
+                                       // ignore on close
+                               }
+                       }
                }
        }
 

Modified: 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/TagMessagesHandler.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/TagMessagesHandler.java?rev=818941&r1=818940&r2=818941&view=diff
==============================================================================
--- 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/TagMessagesHandler.java
 (original)
+++ 
james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/TagMessagesHandler.java
 Fri Sep 25 18:33:09 2009
@@ -62,9 +62,10 @@
                User user = getUser(action.getSessionId());
                ArrayList<Long> uids = action.getMessageUids();
                Tag tag = action.getTag();
+               IMAPFolder folder = null;
                try {
                        IMAPStore store = cache.get(user);
-                       IMAPFolder folder = (IMAPFolder) 
store.getFolder(action.getFolder().getFullName());
+                       folder = (IMAPFolder) 
store.getFolder(action.getFolder().getFullName());
                        if (folder.isOpen() == false) {
                                folder.open(Folder.READ_WRITE);
                        }
@@ -73,11 +74,16 @@
                                Message m = messages[i];
                                m.getFlags().add(tag.toString());
                        }
-                       folder.close(false);
                        return new EmptyResult();
                } catch (MessagingException e) {
                        logger.error("Error while tag messages " + 
uids.toString() + " for user " + user + " of folder" + action.getFolder(), e);
                        throw new ActionException(e);
+               } finally {
+                       try {
+                               folder.close(false);
+                       } catch (MessagingException e) {
+                               // ignore on close
+                       }
                }
        }
 



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

Reply via email to