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]