You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/09/01 18:07:48 UTC
svn commit: r810106 - in
/labs/hupa/server/src/main/java/org/apache/hupa/server/handler:
DeleteMessageHandler.java MoveMessageHandler.java
Author: norman
Date: Tue Sep 1 16:07:48 2009
New Revision: 810106
URL: http://svn.apache.org/viewvc?rev=810106&view=rev
Log:
use UID expunge if possible. If this is not the case use "normal" expunge
Check if we can move deleted messages to the trash folder
Modified:
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/MoveMessageHandler.java
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java?rev=810106&r1=810105&r2=810106&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java Tue Sep 1 16:07:48 2009
@@ -24,6 +24,7 @@
import javax.mail.Flags;
import javax.mail.Message;
+import javax.mail.MessagingException;
import javax.servlet.http.HttpSession;
import net.customware.gwt.dispatch.server.ExecutionContext;
@@ -83,17 +84,29 @@
if (folder.getFullName().equalsIgnoreCase(IMAPFolder.DEFAULT_TRASH) == false) {
com.sun.mail.imap.IMAPFolder trashFolder = (com.sun.mail.imap.IMAPFolder) store.getFolder(IMAPFolder.DEFAULT_TRASH);
+ boolean trashFound = false;
// if the trash folder does not exist we create it
if (trashFolder.exists() == false) {
- trashFolder.create(com.sun.mail.imap.IMAPFolder.READ_WRITE);
+ trashFound = trashFolder.create(com.sun.mail.imap.IMAPFolder.READ_WRITE);
+ } else {
+ trashFound = true;
+ }
+
+ // Check if we are able to copy the messages to the trash folder
+ if (trashFound) {
+ // copy the messages to the trashfolder
+ f.copyMessages(mArray,trashFolder);
}
- // copy the messages to the trashfolder
- f.copyMessages(mArray,trashFolder);
}
// delete the messages from the folder
f.setFlags(mArray, new Flags(Flags.Flag.DELETED), true);
- f.expunge(mArray);
- f.close(false);
+ try {
+ f.expunge(mArray);
+ f.close(false);
+ } catch (MessagingException e) {
+ // prolly UID expunge is not supported
+ f.close(true);
+ }
} catch (Exception e) {
logger.error("Error while deleting messages with uids "+ action.getMessageUids() + " for user " + user + " in folder" + action.getFolder(),e);
throw new ActionException("Error while deleting messages",e);
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/MoveMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/MoveMessageHandler.java?rev=810106&r1=810105&r2=810106&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/MoveMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/MoveMessageHandler.java Tue Sep 1 16:07:48 2009
@@ -68,11 +68,16 @@
Message[] mArray = new Message[] {m};
folder.copyMessages(mArray, store.getFolder(action.getNewFolder().getFullName()));
folder.setFlags(mArray, new Flags(Flags.Flag.DELETED), true);
- folder.expunge(mArray);
- folder.close(true);
+ try {
+ folder.expunge(mArray);
+ folder.close(false);
+ } catch (MessagingException e) {
+ // prolly UID expunge is not supported
+ folder.close(true);
+ }
return new MoveMessageResult();
} catch (MessagingException e) {
- logger.error("Error while moving message " + action.getMessageUid() + " from folder" + action.getOldFolder() + " to " + action.getNewFolder(),e);
+ logger.error("Error while moving message " + action.getMessageUid() + " from folder " + action.getOldFolder() + " to " + action.getNewFolder(),e);
throw new ActionException(e);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org