Author: dongxu Date: Thu Sep 12 03:31:01 2013 New Revision: 1522214 URL: http://svn.apache.org/r1522214 Log: fix AllDelete feature in issue 11. and scrub some code
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/ImapFolderImpl.java james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/ImapFolder.java Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java?rev=1522214&r1=1522213&r2=1522214&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/IMAPMessageListActivity.java Thu Sep 12 03:31:01 2013 @@ -668,9 +668,13 @@ public class IMAPMessageListActivity ext final Message message = event.getMessage(); MoveMessageRequest req = requestFactory.moveMessageRequest(); MoveMessageAction action = req.create(MoveMessageAction.class); + ImapFolder newOne = req.create(ImapFolder.class); + ImapFolder oldOne = req.create(ImapFolder.class); + event.getNewFolder().setFolderTo(newOne); + event.getOldFolder().setFolderTo(oldOne); action.setMessageUid(message.getUid()); - action.setNewFolder(event.getNewFolder()); - action.setOldFolder(event.getOldFolder()); + action.setNewFolder(newOne); + action.setOldFolder(oldOne); req.move(action).fire(new Receiver<GenericResult>() { @Override public void onSuccess(GenericResult response) { @@ -721,12 +725,13 @@ public class IMAPMessageListActivity ext public void onClick(ClickEvent event) { DeleteMessageAllRequest req = requestFactory.deleteMessageAllRequest(); DeleteMessageAllAction action = req.create(DeleteMessageAllAction.class); - action.setFolder(folder); + ImapFolder f = req.create(ImapFolder.class); + folder.setFolderTo(f); + action.setFolder(f); req.delete(action).fire(new Receiver<DeleteMessageResult>() { @Override public void onSuccess(DeleteMessageResult response) { - display.reset(); - display.reloadData(); + redrawTable(); eventBus.fireEvent(new DecreaseUnseenEvent(user, folder, response.getCount())); } }); @@ -745,8 +750,10 @@ public class IMAPMessageListActivity ext } SetFlagRequest req = requestFactory.setFlagRequest(); SetFlagAction action = req.create(SetFlagAction.class); + ImapFolder f = req.create(ImapFolder.class); + folder.setFolderTo(f); action.setFlag(IMAPFlag.SEEN); - action.setFolder(folder); + action.setFolder(f); action.setUids(uids); action.setValue(true); req.set(action).fire(new Receiver<GenericResult>() { @@ -776,8 +783,10 @@ public class IMAPMessageListActivity ext } SetFlagRequest req = requestFactory.setFlagRequest(); SetFlagAction action = req.create(SetFlagAction.class); + ImapFolder f = req.create(ImapFolder.class); + folder.setFolderTo(f); action.setFlag(IMAPFlag.SEEN); - action.setFolder(folder); + action.setFolder(f); action.setUids(uids); action.setValue(false); req.set(action).fire(new Receiver<GenericResult>() { @@ -825,32 +834,29 @@ public class IMAPMessageListActivity ext List<Long> uids = new ArrayList<Long>(); for (Message m : selectedMessages) { uids.add(m.getUid()); - display.getTable().getSelectionModel().setSelected(m, false); // FIXME should be deSelected, or remove? + display.getTable().getSelectionModel().setSelected(m, false); // FIXME should be deSelected, or removed? } // maybe its better to just remove the messages from the table and // expect the removal will work display.removeMessages(selectedMessages); DeleteMessageByUidRequest req = requestFactory.deleteMessageByUidRequest(); DeleteMessageByUidAction action = req.create(DeleteMessageByUidAction.class); - ImapFolder folder1 = req.create(ImapFolder.class); - folder1.setChildren(folder.getChildren()); - folder1.setDelimiter(folder.getDelimiter()); - folder1.setFullName(folder.getFullName()); - folder1.setMessageCount(folder.getMessageCount()); - folder1.setName(folder.getName()); - folder1.setSubscribed(folder.getSubscribed()); - folder1.setUnseenMessageCount(folder.getUnseenMessageCount()); + ImapFolder f = req.create(ImapFolder.class); + folder.setFolderTo(f); action.setMessageUids(uids); - action.setFolder(folder1); + action.setFolder(f); req.delete(action).fire(new Receiver<DeleteMessageResult>() { @Override public void onSuccess(DeleteMessageResult response) { - display.getTable().setVisibleRangeAndClearData(display.getTable().getVisibleRange(), true); - + redrawTable();//TODO presenter eventBus.fireEvent(new DecreaseUnseenEvent(user, folder, response.getCount())); } }); } + + private void redrawTable() { + display.getTable().setVisibleRangeAndClearData(display.getTable().getVisibleRange(), true); + } public IMAPMessageListActivity with(MailFolderPlace place) { this.user = place.getUser(); this.folder = place.getFolder(); Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522214&r1=1522213&r2=1522214&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 03:31:01 2013 @@ -928,16 +928,9 @@ System.out.println("1111111"+response); display.setLoadingMessage(true); GetMessageDetailsRequest req = requestFactory.messageDetailsRequest(); GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class); - final ImapFolder folder = req.create(ImapFolder.class); - folder.setChildren(event.getFolder().getChildren()); - folder.setDelimiter(event.getFolder().getDelimiter()); - folder.setFullName(event.getFolder().getFullName()); - folder.setMessageCount(event.getFolder().getMessageCount()); - folder.setName(event.getFolder().getName()); - folder.setSubscribed(event.getFolder().getSubscribed()); - folder.setUnseenMessageCount(event.getFolder().getUnseenMessageCount()); - // ImapFolder imapFolder = req.edit(event.getFolder()); - action.setFolder(folder); + final ImapFolder f = req.create(ImapFolder.class); + event.getFolder().setFolderTo(f); + action.setFolder(f); action.setUid(message.getUid()); req.get(action).fire(new Receiver<GetMessageDetailsResult>() { @Override @@ -947,7 +940,7 @@ System.out.println("1111111"+response); * DecreaseUnseenEvent(user, folder)); } */ display.setLoadingMessage(false); - placeController.goTo(messagePlaceProvider.get().with(user, folder, message, + placeController.goTo(messagePlaceProvider.get().with(user, f, message, response.getMessageDetails())); } }); Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/ImapFolderImpl.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/ImapFolderImpl.java?rev=1522214&r1=1522213&r2=1522214&view=diff ============================================================================== --- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/ImapFolderImpl.java (original) +++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/ImapFolderImpl.java Thu Sep 12 03:31:01 2013 @@ -161,6 +161,16 @@ public class ImapFolderImpl implements I public ImapFolderImpl() { } + + public ImapFolderImpl(ImapFolder folder){ + this.delimiter = folder.getDelimiter(); + this.children = folder.getChildren(); + this.fullName = folder.getFullName(); + this.messageCount = folder.getMessageCount(); + this.name = folder.getName(); + this.subscribed = folder.getSubscribed(); + this.unseenMessageCount = folder.getUnseenMessageCount(); + } public ImapFolderImpl(String fullName) { setFullName(fullName); @@ -349,6 +359,21 @@ public class ImapFolderImpl implements I this.name = name; } +<<<<<<< HEAD >>>>>>> Succeed creating new folder +======= + + @Override + public void setFolderTo(ImapFolder folder) { + folder.setChildren(this.children); + folder.setDelimiter(this.delimiter); + folder.setFullName(this.fullName); + folder.setMessageCount(this.messageCount); + folder.setName(this.name); + folder.setSubscribed(this.subscribed); + folder.setUnseenMessageCount(this.unseenMessageCount); + } + +>>>>>>> fix AllDelete feature in issue 11. and scrub some code } Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/ImapFolder.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/ImapFolder.java?rev=1522214&r1=1522213&r2=1522214&view=diff ============================================================================== --- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/ImapFolder.java (original) +++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/ImapFolder.java Thu Sep 12 03:31:01 2013 @@ -40,4 +40,10 @@ public interface ImapFolder extends Valu void setDelimiter(String delimiter); void setSubscribed(boolean subscribed); boolean getSubscribed(); + + /** + * use this to proxy the dumping method, or an alternative to clone, for the ValueProxy's must be set/get-ter + * @param folder to be dumped + */ + void setFolderTo(ImapFolder folder); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org