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

Reply via email to