Author: norman
Date: Sun Sep 13 14:19:49 2009
New Revision: 814316
URL: http://svn.apache.org/viewvc?rev=814316&view=rev
Log:
Start to prepare for adding a delete all messages button (LABS-431)
Added:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractDeleteMessageHandler.java
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteAllMessagesHandler.java
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageByUidHandler.java
- copied, changed from r813527,
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
- copied, changed from r813527,
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageHandlerTest.java
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteAllMessages.java
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageByUid.java
Removed:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageHandlerTest.java
Modified:
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessage.java
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java
Modified:
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=814316&r1=814315&r2=814316&view=diff
==============================================================================
---
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
(original)
+++
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
Sun Sep 13 14:19:49 2009
@@ -38,7 +38,7 @@
import org.apache.hupa.shared.events.MoveMessageEvent;
import org.apache.hupa.shared.events.MoveMessageEventHandler;
import org.apache.hupa.shared.events.NewMessageEvent;
-import org.apache.hupa.shared.rpc.DeleteMessage;
+import org.apache.hupa.shared.rpc.DeleteMessageByUid;
import org.apache.hupa.shared.rpc.DeleteMessageResult;
import org.apache.hupa.shared.rpc.MoveMessage;
import org.apache.hupa.shared.rpc.MoveMessageResult;
@@ -178,7 +178,7 @@
for (int i = 0; i < selectedMessages.size(); i++) {
uids.add(selectedMessages.get(i).getUid());
}
- dispatcher.execute(new
DeleteMessage(user.getSessionId(),folder,uids), new
SessionAsyncCallback<DeleteMessageResult>(new
AsyncCallback<DeleteMessageResult>() {
+ dispatcher.execute(new
DeleteMessageByUid(user.getSessionId(),folder,uids), new
SessionAsyncCallback<DeleteMessageResult>(new
AsyncCallback<DeleteMessageResult>() {
public void onFailure(Throwable caught) {
// TODO Auto-generated method stub
@@ -187,7 +187,7 @@
public void onSuccess(DeleteMessageResult result) {
display.removeMessages(selectedMessages);
- eventBus.fireEvent(new
DecreaseUnseenEvent(user,folder,result.getMessageUids().size()));
+ eventBus.fireEvent(new
DecreaseUnseenEvent(user,folder,result.getCount()));
}
}, eventBus,user));
}
Modified:
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=814316&r1=814315&r2=814316&view=diff
==============================================================================
---
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
(original)
+++
labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
Sun Sep 13 14:19:49 2009
@@ -43,6 +43,7 @@
import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.ReplyMessageEvent;
import org.apache.hupa.shared.rpc.DeleteMessage;
+import org.apache.hupa.shared.rpc.DeleteMessageByUid;
import org.apache.hupa.shared.rpc.DeleteMessageResult;
import org.apache.hupa.shared.rpc.RawMessage;
import org.apache.hupa.shared.rpc.RawMessageResult;
@@ -128,7 +129,7 @@
public void onClick(ClickEvent event) {
ArrayList<Long> uidList = new ArrayList<Long>();
uidList.add(message.getUid());
- dispatcher.execute(new
DeleteMessage(user.getSessionId(),folder,uidList), new
SessionAsyncCallback<DeleteMessageResult>(new
AsyncCallback<DeleteMessageResult>() {
+ dispatcher.execute(new
DeleteMessageByUid(user.getSessionId(),folder,uidList), new
SessionAsyncCallback<DeleteMessageResult>(new
AsyncCallback<DeleteMessageResult>() {
public void onFailure(Throwable caught)
{
// TODO Auto-generated method
stub
Modified:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java?rev=814316&r1=814315&r2=814316&view=diff
==============================================================================
---
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
(original)
+++
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
Sun Sep 13 14:19:49 2009
@@ -32,8 +32,9 @@
import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.server.InMemoryIMAPStoreCache;
import org.apache.hupa.server.handler.CreateFolderHandler;
+import org.apache.hupa.server.handler.DeleteAllMessagesHandler;
import org.apache.hupa.server.handler.DeleteFolderHandler;
-import org.apache.hupa.server.handler.DeleteMessageHandler;
+import org.apache.hupa.server.handler.DeleteMessageByUidHandler;
import org.apache.hupa.server.handler.FetchFoldersHandler;
import org.apache.hupa.server.handler.FetchMessagesHandler;
import org.apache.hupa.server.handler.FetchRecentMessagesHandler;
@@ -84,7 +85,8 @@
bindHandler(FetchRecentMessagesHandler.class);
bindHandler(LogoutUserHandler.class);
bindHandler(GetMessageDetailsHandler.class);
- bindHandler(DeleteMessageHandler.class);
+ bindHandler(DeleteMessageByUidHandler.class);
+ bindHandler(DeleteAllMessagesHandler.class);
bindHandler(SendMessageHandler.class);
bindHandler(ReplyMessageHandler.class);
bindHandler(ForwardMessageHandler.class);
Added:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractDeleteMessageHandler.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractDeleteMessageHandler.java?rev=814316&view=auto
==============================================================================
---
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractDeleteMessageHandler.java
(added)
+++
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractDeleteMessageHandler.java
Sun Sep 13 14:19:49 2009
@@ -0,0 +1,107 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.server.handler;
+
+import javax.mail.Flags;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.servlet.http.HttpSession;
+
+import net.customware.gwt.dispatch.server.ExecutionContext;
+import net.customware.gwt.dispatch.shared.ActionException;
+
+import org.apache.commons.logging.Log;
+import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.rpc.DeleteMessage;
+import org.apache.hupa.shared.rpc.DeleteMessageResult;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.sun.mail.imap.IMAPStore;
+
+public abstract class AbstractDeleteMessageHandler<Action extends
DeleteMessage>
+ extends AbstractSessionHandler<Action, DeleteMessageResult> {
+
+ @Inject
+ public AbstractDeleteMessageHandler(IMAPStoreCache cache, Log logger,
+ Provider<HttpSession> sessionProvider) {
+ super(cache, logger, sessionProvider);
+ }
+
+ public DeleteMessageResult executeInternal(Action action,
+ ExecutionContext context) throws ActionException {
+ org.apache.hupa.shared.data.IMAPFolder folder =
action.getFolder();
+ User user = getUser(action.getSessionId());
+ try {
+ IMAPStore store = cache.get(user);
+ com.sun.mail.imap.IMAPFolder f =
(com.sun.mail.imap.IMAPFolder) store
+ .getFolder(folder.getFullName());
+ // check if the folder is open, if not open it "rw"
+ if (f.isOpen() == false) {
+ f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE);
+ }
+
+ Message[] mArray = getMessagesToDelete(action);
+
+ // check if the delete was triggered not in the trash
folder
+ if (folder.getFullName().equalsIgnoreCase(
+
user.getSettings().getTrashFolderName()) == false) {
+ com.sun.mail.imap.IMAPFolder trashFolder =
(com.sun.mail.imap.IMAPFolder) store
+
.getFolder(user.getSettings().getTrashFolderName());
+
+ boolean trashFound = false;
+ // if the trash folder does not exist we create
it
+ if (trashFolder.exists() == false) {
+ 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);
+ }
+ }
+
+
+ // delete the messages from the folder
+ f.setFlags(mArray, new Flags(Flags.Flag.DELETED), true);
+
+ try {
+ f.expunge(mArray);
+ f.close(false);
+ } catch (MessagingException e) {
+ // prolly UID expunge is not supported
+ f.close(true);
+ }
+ return new DeleteMessageResult(user, folder,
mArray.length);
+
+ } catch (MessagingException e) {
+ logger.error("Error while deleting messages for user "
+ user
+ + " in folder" + action.getFolder(), e);
+ throw new ActionException("Error while deleting
messages");
+ }
+ }
+
+ protected abstract Message[] getMessagesToDelete(Action action) throws
ActionException;
+}
Added:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteAllMessagesHandler.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteAllMessagesHandler.java?rev=814316&view=auto
==============================================================================
---
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteAllMessagesHandler.java
(added)
+++
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteAllMessagesHandler.java
Sun Sep 13 14:19:49 2009
@@ -0,0 +1,69 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.server.handler;
+
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.servlet.http.HttpSession;
+
+import net.customware.gwt.dispatch.shared.ActionException;
+
+import org.apache.commons.logging.Log;
+import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.rpc.DeleteAllMessages;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.sun.mail.imap.IMAPFolder;
+import com.sun.mail.imap.IMAPStore;
+
+public class DeleteAllMessagesHandler extends
AbstractDeleteMessageHandler<DeleteAllMessages>{
+
+ @Inject
+ public DeleteAllMessagesHandler(IMAPStoreCache cache, Log logger,
+ Provider<HttpSession> sessionProvider) {
+ super(cache, logger, sessionProvider);
+ }
+
+ @Override
+ protected Message[] getMessagesToDelete(DeleteAllMessages action)
+ throws ActionException {
+ User user = getUser(action.getSessionId());
+ try {
+ logger.info("Delete all messages in folder " +
action.getFolder() + " for user " + user);
+ IMAPStore store =cache.get(user);
+ IMAPFolder folder = (IMAPFolder)
store.getFolder(action.getFolder().getFullName());
+
+ return folder.getMessages();
+ } catch (MessagingException e) {
+ String errorMsg = "Error while deleting all messages in
folder " + action.getFolder() + " for user " + user;
+ logger.error(errorMsg, e);
+ throw new ActionException(errorMsg);
+
+ }
+
+ }
+
+ public Class<DeleteAllMessages> getActionType() {
+ return DeleteAllMessages.class;
+ }
+
+}
Copied:
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageByUidHandler.java
(from r813527,
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java)
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageByUidHandler.java?p2=labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageByUidHandler.java&p1=labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java&r1=813527&r2=814316&rev=814316&view=diff
==============================================================================
---
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageHandler.java
(original)
+++
labs/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/DeleteMessageByUidHandler.java
Sun Sep 13 14:19:49 2009
@@ -22,20 +22,17 @@
import java.util.ArrayList;
import java.util.List;
-import javax.mail.Flags;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.servlet.http.HttpSession;
-import net.customware.gwt.dispatch.server.ExecutionContext;
import net.customware.gwt.dispatch.shared.ActionException;
import org.apache.commons.logging.Log;
import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.rpc.DeleteMessage;
-import org.apache.hupa.shared.rpc.DeleteMessageResult;
+import org.apache.hupa.shared.rpc.DeleteMessageByUid;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -45,81 +42,55 @@
* Handler which take care of deleting messages
*
*/
-public class DeleteMessageHandler extends
AbstractSessionHandler<DeleteMessage, DeleteMessageResult>{
+public class DeleteMessageByUidHandler extends
+ AbstractDeleteMessageHandler<DeleteMessageByUid> {
@Inject
- public DeleteMessageHandler(IMAPStoreCache cache, Log
logger,Provider<HttpSession> provider) {
- super(cache,logger,provider);
+ public DeleteMessageByUidHandler(IMAPStoreCache cache, Log logger,
+ Provider<HttpSession> provider) {
+ super(cache, logger, provider);
}
-
/*
* (non-Javadoc)
- * @see
org.apache.hupa.server.handler.AbstractSessionHandler#executeInternal(org.apache.hupa.shared.rpc.Session,
net.customware.gwt.dispatch.server.ExecutionContext)
+ *
+ * @see net.customware.gwt.dispatch.server.ActionHandler#getActionType()
*/
- public DeleteMessageResult executeInternal(DeleteMessage action,
ExecutionContext context)
+ public Class<DeleteMessageByUid> getActionType() {
+ return DeleteMessageByUid.class;
+ }
+
+ @Override
+ protected Message[] getMessagesToDelete(DeleteMessageByUid action)
throws ActionException {
IMAPFolder folder = action.getFolder();
ArrayList<Long> uids = action.getMessageUids();
User user = getUser(action.getSessionId());
-
- logger.info("Deleting messages with uids "+
action.getMessageUids() + " for user " + user + " in folder" +
action.getFolder());
+ logger.info("Deleting messages with uids " +
action.getMessageUids()
+ + " for user " + user + " in folder " +
action.getFolder());
try {
IMAPStore store = cache.get(user);
- com.sun.mail.imap.IMAPFolder f =
(com.sun.mail.imap.IMAPFolder)store.getFolder(folder.getFullName());
+ com.sun.mail.imap.IMAPFolder f =
(com.sun.mail.imap.IMAPFolder) store
+ .getFolder(folder.getFullName());
// check if the folder is open, if not open it "rw"
if (f.isOpen() == false) {
f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE);
}
-
// build up the list of messages to delete
List<Message> messages = new ArrayList<Message>();
- for (int i = 0; i < uids.size();i++) {
+ for (int i = 0; i < uids.size(); i++) {
messages.add(f.getMessageByUID(uids.get(i)));
}
Message[] mArray = messages.toArray(new
Message[messages.size()]);
-
- // check if the delete was triggered not in the trash
folder
- if
(folder.getFullName().equalsIgnoreCase(user.getSettings().getTrashFolderName())
== false) {
- com.sun.mail.imap.IMAPFolder trashFolder =
(com.sun.mail.imap.IMAPFolder)
store.getFolder(user.getSettings().getTrashFolderName());
-
- boolean trashFound = false;
- // if the trash folder does not exist we create
it
- if (trashFolder.exists() == false) {
- 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);
- }
- }
- // delete the messages from the folder
- f.setFlags(mArray, new Flags(Flags.Flag.DELETED), true);
- 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);
+ return mArray;
+ } catch (MessagingException 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);
}
- return new DeleteMessageResult(user,folder,uids);
- }
- /*
- * (non-Javadoc)
- * @see net.customware.gwt.dispatch.server.ActionHandler#getActionType()
- */
- public Class<DeleteMessage> getActionType() {
- return DeleteMessage.class;
}
}
Copied:
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
(from r813527,
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageHandlerTest.java)
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java?p2=labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java&p1=labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageHandlerTest.java&r1=813527&r2=814316&rev=814316&view=diff
==============================================================================
---
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageHandlerTest.java
(original)
+++
labs/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/DeleteMessageByUidHandlerTest.java
Sun Sep 13 14:19:49 2009
@@ -35,21 +35,21 @@
import org.apache.hupa.server.mock.MockLog;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.rpc.DeleteMessage;
+import org.apache.hupa.shared.rpc.DeleteMessageByUid;
import org.apache.hupa.shared.rpc.DeleteMessageResult;
-public class DeleteMessageHandlerTest extends AbstractHandlerTest{
+public class DeleteMessageByUidHandlerTest extends AbstractHandlerTest{
public void testDeleteFolderNotExists() throws MessagingException {
- DeleteMessageHandler handler = new
DeleteMessageHandler(storeCache,new MockLog(),sessionProvider);
+ DeleteMessageByUidHandler handler = new
DeleteMessageByUidHandler(storeCache,new MockLog(),sessionProvider);
User user = createUser();
storeCache.addValidUser(user.getName(), user.getPassword());
session.setAttribute("user", user);
IMAPFolder folder = new IMAPFolder();
folder.setFullName("NOT_EXISTS");
- DeleteMessage action = new DeleteMessage(VALID_ID,folder,new
ArrayList<Long>());
+ DeleteMessageByUid action = new
DeleteMessageByUid(VALID_ID,folder,new ArrayList<Long>());
try {
handler.execute(action, null);
@@ -61,7 +61,7 @@
public void testDeleteFolderExistsAndNotTrash() throws
MessagingException {
Session s = Session.getInstance(new Properties());
- DeleteMessageHandler handler = new
DeleteMessageHandler(storeCache,new MockLog(),sessionProvider);
+ DeleteMessageByUidHandler handler = new
DeleteMessageByUidHandler(storeCache,new MockLog(),sessionProvider);
User user = createUser();
storeCache.addValidUser(user.getName(), user.getPassword());
@@ -77,17 +77,14 @@
ArrayList<Long> uids = new ArrayList<Long>();
uids.add(new Long(1));
uids.add(new Long(3));
- DeleteMessage action = new DeleteMessage(VALID_ID, folder,
uids);
+ DeleteMessageByUid action = new DeleteMessageByUid(VALID_ID,
folder, uids);
MockIMAPFolder f3 = (MockIMAPFolder)
store.getFolder(user.getSettings().getTrashFolderName());
assertFalse("Trash folder not exists yet",f3.exists());
try {
DeleteMessageResult result = handler.execute(action,
null);
- ArrayList<Long> dUids = result.getMessageUids();
- assertEquals("Delete message with uid 1",new Long(1),
dUids.get(0));
- assertEquals("Delete message with uid 2", new Long(3),
dUids.get(1));
-
+ int count = result.getCount();
assertEquals("Only 1 message left", 1,
f.getMessageCount());
MockIMAPFolder f2 = (MockIMAPFolder)
store.getFolder(user.getSettings().getTrashFolderName());
@@ -101,7 +98,7 @@
public void testDeleteFolderExistsAndIsTrash() throws
MessagingException {
Session s = Session.getInstance(new Properties());
- DeleteMessageHandler handler = new
DeleteMessageHandler(storeCache,new MockLog(),sessionProvider);
+ DeleteMessageByUidHandler handler = new
DeleteMessageByUidHandler(storeCache,new MockLog(),sessionProvider);
User user = createUser();
storeCache.addValidUser(user.getName(), user.getPassword());
@@ -117,13 +114,11 @@
ArrayList<Long> uids = new ArrayList<Long>();
uids.add(new Long(1));
uids.add(new Long(3));
- DeleteMessage action = new DeleteMessage(VALID_ID, folder,
uids);
+ DeleteMessageByUid action = new DeleteMessageByUid(VALID_ID,
folder, uids);
try {
DeleteMessageResult result = handler.execute(action,
null);
- ArrayList<Long> dUids = result.getMessageUids();
- assertEquals("Delete message with uid 1",new Long(1),
dUids.get(0));
- assertEquals("Delete message with uid 2", new Long(3),
dUids.get(1));
+ int count = result.getCount();
assertEquals("Only 1 message left", 1,
f.getMessageCount());
} catch (ActionException e) {
Added:
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteAllMessages.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteAllMessages.java?rev=814316&view=auto
==============================================================================
---
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteAllMessages.java
(added)
+++
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteAllMessages.java
Sun Sep 13 14:19:49 2009
@@ -0,0 +1,39 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.shared.rpc;
+
+import org.apache.hupa.shared.data.IMAPFolder;
+
+public class DeleteAllMessages extends DeleteMessage{
+
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -6801849429581798842L;
+
+ public DeleteAllMessages(String session, IMAPFolder folder) {
+ super(session, folder);
+ }
+
+ protected DeleteAllMessages() {
+
+ }
+}
Modified:
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessage.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessage.java?rev=814316&r1=814315&r2=814316&view=diff
==============================================================================
---
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessage.java
(original)
+++
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessage.java
Sun Sep 13 14:19:49 2009
@@ -1,9 +1,3 @@
-package org.apache.hupa.shared.rpc;
-
-import java.util.ArrayList;
-
-import org.apache.hupa.shared.data.IMAPFolder;
-
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -23,6 +17,10 @@
* under the License. *
****************************************************************/
+package org.apache.hupa.shared.rpc;
+
+import org.apache.hupa.shared.data.IMAPFolder;
+
public class DeleteMessage extends Session<DeleteMessageResult>{
/**
@@ -30,25 +28,18 @@
*/
private static final long serialVersionUID = 801294103124082592L;
private IMAPFolder folder;
- private ArrayList<Long> messageUids;
- public DeleteMessage(String sessionId,IMAPFolder folder,
ArrayList<Long> messageUids) {
+ public DeleteMessage(String sessionId,IMAPFolder folder) {
super(sessionId);
this.folder = folder;
- this.messageUids = messageUids;
}
- @SuppressWarnings("unused")
- private DeleteMessage() {
+ protected DeleteMessage() {
}
public IMAPFolder getFolder() {
return folder;
}
-
- public ArrayList<Long> getMessageUids() {
- return messageUids;
- }
}
Added:
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageByUid.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageByUid.java?rev=814316&view=auto
==============================================================================
---
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageByUid.java
(added)
+++
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageByUid.java
Sun Sep 13 14:19:49 2009
@@ -0,0 +1,49 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.shared.rpc;
+
+import java.util.ArrayList;
+
+import org.apache.hupa.shared.data.IMAPFolder;
+
+public class DeleteMessageByUid extends DeleteMessage{
+
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -5980938676368660849L;
+ private ArrayList<Long> messageUids;
+
+
+ public DeleteMessageByUid(String sessionId,IMAPFolder folder,
ArrayList<Long> messageUids) {
+ super(sessionId,folder);
+ this.messageUids = messageUids;
+ }
+
+ protected DeleteMessageByUid() {
+
+ }
+
+ public ArrayList<Long> getMessageUids() {
+ return messageUids;
+ }
+
+}
Modified:
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java
URL:
http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java?rev=814316&r1=814315&r2=814316&view=diff
==============================================================================
---
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java
(original)
+++
labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java
Sun Sep 13 14:19:49 2009
@@ -19,8 +19,6 @@
package org.apache.hupa.shared.rpc;
-import java.util.ArrayList;
-
import net.customware.gwt.dispatch.shared.Result;
import org.apache.hupa.shared.data.IMAPFolder;
@@ -34,7 +32,7 @@
private static final long serialVersionUID = -5149203502019947912L;
private User user;
private IMAPFolder folder;
- private ArrayList<Long> messageUids;
+ private int deleteCount;
@@ -43,10 +41,14 @@
}
- public DeleteMessageResult(User user,IMAPFolder folder, ArrayList<Long>
messageUids) {
+ public DeleteMessageResult(User user,IMAPFolder folder, int
deleteCount) {
this.user = user;
this.folder = folder;
- this.messageUids = messageUids;
+ this.deleteCount = deleteCount;
+ }
+
+ public int getCount() {
+ return deleteCount;
}
public User getUser() {
@@ -56,9 +58,5 @@
public IMAPFolder getFolder() {
return folder;
}
-
- public ArrayList<Long> getMessageUids() {
- return messageUids;
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]