You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:31:02 UTC

svn commit: r1522214 - in /james/hupa/trunk: client/src/main/java/org/apache/hupa/client/activity/ shared/src/main/java/org/apache/hupa/shared/data/ shared/src/main/java/org/apache/hupa/shared/domain/

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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org