Author: dongxu
Date: Thu Sep 12 02:49:20 2013
New Revision: 1522145
URL: http://svn.apache.org/r1522145
Log: (empty)
Added:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingTopActivityMapper.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingWestActivityMapper.java
Removed:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailPlace.java
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/TopActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailInboxPlace.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MessageSendPlace.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.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=1522145&r1=1522144&r2=1522145&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 02:49:20 2013
@@ -384,6 +384,7 @@ import java.util.ArrayList;
import net.customware.gwt.dispatch.client.DispatchAsync;
<<<<<<< HEAD
+<<<<<<< HEAD
import org.apache.hupa.client.HandlerRegistrationAdapter;
import org.apache.hupa.client.activity.MessageSendActivity.Type;
import org.apache.hupa.client.evo.HupaEvoCallback;
@@ -422,20 +423,49 @@ import com.google.gwt.event.dom.client.C
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
=======
+=======
+import org.apache.hupa.client.HandlerRegistrationAdapter;
+import org.apache.hupa.client.HupaCallback;
+import org.apache.hupa.client.HupaEvoCallback;
+>>>>>>>
import org.apache.hupa.client.mvp.WidgetDisplayable;
import org.apache.hupa.client.place.MailInboxPlace;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.events.DecreaseUnseenEvent;
import org.apache.hupa.shared.events.ExpandMessageEvent;
+import org.apache.hupa.shared.events.FolderSelectionEvent;
+import org.apache.hupa.shared.events.FolderSelectionEventHandler;
+import org.apache.hupa.shared.events.IncreaseUnseenEvent;
+import org.apache.hupa.shared.events.LoadMessagesEvent;
import org.apache.hupa.shared.events.LogoutEvent;
import org.apache.hupa.shared.events.LogoutEventHandler;
+import org.apache.hupa.shared.events.MessagesReceivedEvent;
+import org.apache.hupa.shared.events.MessagesReceivedEventHandler;
+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.DeleteAllMessages;
+import org.apache.hupa.shared.rpc.DeleteMessageByUid;
+import org.apache.hupa.shared.rpc.DeleteMessageResult;
+import org.apache.hupa.shared.rpc.GenericResult;
+import org.apache.hupa.shared.rpc.MoveMessage;
+import org.apache.hupa.shared.rpc.MoveMessageResult;
+import org.apache.hupa.shared.rpc.SetFlag;
import org.apache.hupa.widgets.ui.HasEnable;
import com.google.gwt.activity.shared.AbstractActivity;
+<<<<<<< HEAD
>>>>>>> Change to new mvp framework - first step
+=======
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+>>>>>>>
import com.google.gwt.event.dom.client.HasChangeHandlers;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.EventBus;
@@ -443,12 +473,18 @@ import com.google.gwt.gen2.table.event.c
import com.google.gwt.gen2.table.event.client.HasPageLoadHandlers;
import com.google.gwt.gen2.table.event.client.HasRowSelectionHandlers;
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>>
import com.google.gwt.gen2.table.event.client.PageChangeEvent;
import com.google.gwt.gen2.table.event.client.PageChangeHandler;
import com.google.gwt.gen2.table.event.client.RowSelectionEvent;
import com.google.gwt.gen2.table.event.client.RowSelectionHandler;
+<<<<<<< HEAD
=======
>>>>>>> Change to new mvp framework - first step
+=======
+>>>>>>>
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.HasValue;
@@ -747,9 +783,220 @@ public class IMAPMessageListActivity ext
}
private void bind(){
-
+ eventBus.addHandler(MessagesReceivedEvent.TYPE, new
MessagesReceivedEventHandler() {
+
+ public void onMessagesReceived(MessagesReceivedEvent event) {
+
+ // fill the oracle
+ display.fillSearchOracle(event.getMessages());
+ }
+
+ });
+ display.getSearchClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ String searchValue = null;
+ if (display.getSearchValue().getValue().trim().length() > 0) {
+ searchValue = display.getSearchValue().getValue().trim();
+ }
+ eventBus.fireEvent(new LoadMessagesEvent(user, folder,
searchValue));
+ }
+
+ });
+ eventBus.addHandler(MoveMessageEvent.TYPE, new
MoveMessageEventHandler() {
+
+ public void onMoveMessageHandler(MoveMessageEvent event) {
+ final Message message = event.getMessage();
+ dispatcher.execute(new MoveMessage(event.getOldFolder(),
event.getNewFolder(), message.getUid()), new
HupaEvoCallback<MoveMessageResult>(dispatcher, eventBus) {
+ public void callback(MoveMessageResult result) {
+ ArrayList<Message> messageArray = new
ArrayList<Message>();
+ messageArray.add(message);
+ display.removeMessages(messageArray);
+ }
+ });
+ }
+
+ });
+ display.getSelectAllClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ display.deselectAllMessages();
+ display.selectAllMessages();
+ }
+
+ });
+ display.getSelectNoneClick().addClickHandler(new ClickHandler()
{
+
+ public void onClick(ClickEvent event) {
+ display.deselectAllMessages();
+ }
+
+ });
+ display.getDeleteClick().addClickHandler(new
com.google.gwt.event.dom.client.ClickHandler() {
+
+ public void onClick(com.google.gwt.event.dom.client.ClickEvent
event) {
+ if
(folder.getFullName().equals(user.getSettings().getTrashFolderName())) {
+ display.getConfirmDeleteDialog().show();
+ } else {
+ deleteMessages();
+ }
+
+ }
+
+ });
+ display.getConfirmDeleteDialogClick().addClickHandler(new
ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ deleteMessages();
+ }
+
+ });
+ display.getNewClick().addClickHandler(new
com.google.gwt.event.dom.client.ClickHandler() {
+
+ public void onClick(com.google.gwt.event.dom.client.ClickEvent
event) {
+ eventBus.fireEvent(new NewMessageEvent());
+ }
+
+ });
+ display.getDeleteAllClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ display.getConfirmDeleteAllDialog().center();
+ }
+
+ });
+ display.getConfirmDeleteAllDialogClick().addClickHandler(new
ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ dispatcher.execute(new DeleteAllMessages(folder), new
HupaEvoCallback<DeleteMessageResult>(dispatcher, eventBus) {
+ public void callback(DeleteMessageResult result) {
+ display.reset();
+ display.reloadData();
+// eventBus.fireEvent(new
DecreaseUnseenEvent(user,folder,result.getCount()));
+ }
+ });
+ }
+
+ });
+ display.getMarkSeenClick().addClickHandler( new ClickHandler() {
+ public void onClick(ClickEvent event) {
+ final ArrayList<Message> selectedMessages = new
ArrayList<Message>(display.getSelectedMessages());
+ ArrayList<Long> uids = new ArrayList<Long>();
+ for (Message m : selectedMessages) {
+ if (m.getFlags().contains(IMAPFlag.SEEN) == false) {
+ uids.add(m.getUid());
+ } else {
+ selectedMessages.remove(m);
+ }
+ }
+ dispatcher.execute(new SetFlag(folder, IMAPFlag.SEEN, true,
uids), new HupaEvoCallback<GenericResult>(dispatcher, eventBus) {
+ public void callback(GenericResult result) {
+ for (Message m : selectedMessages) {
+ if (m.getFlags().contains(IMAPFlag.SEEN) == false)
{
+ m.getFlags().add(IMAPFlag.SEEN);
+ }
+ }
+ display.redraw();
+ eventBus.fireEvent(new DecreaseUnseenEvent(user,
folder,selectedMessages.size()));
+ }
+ });
+ }
+
+ });
+ display.getMarkUnseenClick().addClickHandler(new ClickHandler()
{
+
+ public void onClick(ClickEvent event) {
+ final ArrayList<Message> selectedMessages = new
ArrayList<Message>(display.getSelectedMessages());
+ ArrayList<Long> uids = new ArrayList<Long>();
+ for (Message m : selectedMessages) {
+ if (m.getFlags().contains(IMAPFlag.SEEN)) {
+ uids.add(m.getUid());
+ } else {
+ selectedMessages.remove(m);
+ }
+ }
+
+ dispatcher.execute(new SetFlag(folder, IMAPFlag.SEEN, false,
uids), new HupaEvoCallback<GenericResult>(dispatcher, eventBus) {
+ public void callback(GenericResult result) {
+ for (Message m : selectedMessages) {
+ if (m.getFlags().contains(IMAPFlag.SEEN)) {
+ m.getFlags().remove(IMAPFlag.SEEN);
+ }
+ }
+ display.redraw();
+ eventBus.fireEvent(new IncreaseUnseenEvent(user,
folder,selectedMessages.size()));
+ }
+ });
+ }
+
+
+ });
+ eventBus.addHandler(FolderSelectionEvent.TYPE, new
FolderSelectionEventHandler() {//TODO
+
+ public void onFolderSelectionEvent(FolderSelectionEvent event) {
+ folder = event.getFolder();
+ user = event.getUser();
+ }
+
+ });
+ new
HandlerRegistrationAdapter(display.getDataTableSelection().addRowSelectionHandler(new
RowSelectionHandler() {
+ public void onRowSelection(RowSelectionEvent event) {
+ if (event.getSelectedRows().size() == 0) {
+ display.getDeleteEnable().setEnabled(false);
+ display.getMarkSeenEnable().setEnabled(false);
+ display.getMarkUnseenEnable().setEnabled(false);
+ } else {
+ display.getDeleteEnable().setEnabled(true);
+ display.getMarkSeenEnable().setEnabled(true);
+ display.getMarkUnseenEnable().setEnabled(true);
+ }
+ }
+
+
+
+ }));
+ display.getRefreshClick().addClickHandler(new ClickHandler() {
+
+ public void onClick(ClickEvent event) {
+ display.reset();
+ display.reloadData();
+ }
+
+ });
+ new
HandlerRegistrationAdapter(display.getDataTablePageChange().addPageChangeHandler(new
PageChangeHandler() {//TODO
+
+ public void onPageChange(PageChangeEvent event) {
+ //firePresenterRevealedEvent(true);
+// firePresenterChangedEvent();
+ }
+
+ }));
+ display.getRowsPerPageChange().addChangeHandler(new
ChangeHandler() {
+
+ public void onChange(ChangeEvent event) {
+ //firePresenterRevealedEvent(true);
+// firePresenterChangedEvent();
+ }
+
+ });
+ display.addTableListener(tableListener);
}
+ private void deleteMessages() {
+ final ArrayList<Message> selectedMessages = new
ArrayList<Message>(display.getSelectedMessages());
+ ArrayList<Long> uids = new ArrayList<Long>();
+ for (Message m : selectedMessages) {
+ uids.add(m.getUid());
+ }
+ // maybe its better to just remove the messages from the table and
expect the removal will work
+ display.removeMessages(selectedMessages);
+
+ dispatcher.execute(new DeleteMessageByUid(folder,uids), new
HupaEvoCallback<DeleteMessageResult>(dispatcher, eventBus) {
+ public void callback(DeleteMessageResult result) {
+ eventBus.fireEvent(new
DecreaseUnseenEvent(user,folder,result.getCount()));
+ }
+ });
+ }
public IMAPMessageListActivity with(User user){
this.user = user;
this.folder = new
IMAPFolder(user.getSettings().getInboxFolderName());
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopActivity.java
Thu Sep 12 02:49:20 2013
@@ -46,6 +46,7 @@ import org.apache.hupa.shared.data.User;
=======
import org.apache.hupa.client.HupaEvoCallback;
import org.apache.hupa.client.mvp.WidgetDisplayable;
+import org.apache.hupa.client.place.DefaultPlace;
import org.apache.hupa.shared.data.User;
>>>>>>> introduce the top activity
import org.apache.hupa.shared.events.FlashEvent;
@@ -102,9 +103,13 @@ import com.google.gwt.user.client.ui.Acc
import com.google.gwt.user.client.ui.HasText;
import com.google.inject.Inject;
<<<<<<< HEAD
+<<<<<<< HEAD
import com.google.inject.Provider;
=======
>>>>>>> introduce the top activity
+=======
+import com.google.inject.Provider;
+>>>>>>>
public class TopActivity extends AbstractActivity {
@@ -161,6 +166,7 @@ public class TopActivity extends Abstrac
showLogin(username);
noopTimer.cancel();
<<<<<<< HEAD
+<<<<<<< HEAD
TopActivity.this.placeController.goTo(defaultPlaceProvider.get());
}
<<<<<<< HEAD
@@ -183,6 +189,9 @@ public class TopActivity extends Abstrac
eventBus.addHandler(ServerStatusEvent.TYPE, new
ServerStatusEventHandler() {
=======
=======
+=======
+
TopActivity.this.placeController.goTo(defaultPlaceProvider.get());
+>>>>>>>
}
>>>>>>> introduce the top activity
@@ -324,16 +333,24 @@ public class TopActivity extends Abstrac
private Timer noopTimer = new IdleTimer();
@Inject
+<<<<<<< HEAD
public TopActivity(Displayable display, EventBus eventBus,
PlaceController placeController,
>>>>>>> introduce the top activity
+=======
+ public TopActivity(Displayable display, EventBus eventBus,
PlaceController placeController, Provider<DefaultPlace> defaultPlaceProvider,
+>>>>>>>
HupaConstants constants, DispatchAsync dispatcher) {
this.dispatcher = dispatcher;
this.display = display;
this.eventBus = eventBus;
<<<<<<< HEAD
+<<<<<<< HEAD
this.defaultPlaceProvider = defaultPlaceProvider;
=======
>>>>>>> introduce the top activity
+=======
+ this.defaultPlaceProvider = defaultPlaceProvider;
+>>>>>>>
this.constants = constants;
this.placeController = placeController;
@@ -376,9 +393,13 @@ public class TopActivity extends Abstrac
private final PlaceController placeController;
private final DispatchAsync dispatcher;
<<<<<<< HEAD
+<<<<<<< HEAD
private final Provider<DefaultPlace> defaultPlaceProvider;
=======
>>>>>>> introduce the top activity
+=======
+ private final Provider<DefaultPlace> defaultPlaceProvider;
+>>>>>>>
private User user;
private ServerStatus serverStatus = ServerStatus.Available;
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=1522145&r1=1522144&r2=1522145&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 02:49:20 2013
@@ -302,15 +302,54 @@ import org.apache.hupa.shared.rpc.GetMes
import org.apache.hupa.shared.rpc.GetMessageDetailsResult;
=======
import org.apache.hupa.client.HupaEvoCallback;
+import org.apache.hupa.client.mvp.MessageSendPresenter.Type;
+import org.apache.hupa.client.mvp.MainPresenter;
import org.apache.hupa.client.mvp.WidgetContainerDisplayable;
+import org.apache.hupa.client.place.IMAPMessagePlace;
+import org.apache.hupa.client.place.MailInboxPlace;
+import org.apache.hupa.client.place.MessageSendPlace;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
+import org.apache.hupa.shared.events.BackEvent;
+import org.apache.hupa.shared.events.BackEventHandler;
+import org.apache.hupa.shared.events.DecreaseUnseenEvent;
+import org.apache.hupa.shared.events.DecreaseUnseenEventHandler;
+import org.apache.hupa.shared.events.ExpandMessageEvent;
+import org.apache.hupa.shared.events.ExpandMessageEventHandler;
+import org.apache.hupa.shared.events.FolderSelectionEvent;
+import org.apache.hupa.shared.events.FolderSelectionEventHandler;
+import org.apache.hupa.shared.events.ForwardMessageEvent;
+import org.apache.hupa.shared.events.ForwardMessageEventHandler;
+import org.apache.hupa.shared.events.IncreaseUnseenEvent;
+import org.apache.hupa.shared.events.IncreaseUnseenEventHandler;
+import org.apache.hupa.shared.events.LoadMessagesEvent;
+import org.apache.hupa.shared.events.LoadMessagesEventHandler;
+import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.LoginEventHandler;
+import org.apache.hupa.shared.events.MessagesReceivedEvent;
+import org.apache.hupa.shared.events.MessagesReceivedEventHandler;
+import org.apache.hupa.shared.events.NewMessageEvent;
+import org.apache.hupa.shared.events.NewMessageEventHandler;
+import org.apache.hupa.shared.events.ReplyMessageEvent;
+import org.apache.hupa.shared.events.ReplyMessageEventHandler;
+import org.apache.hupa.shared.events.SentMessageEvent;
+import org.apache.hupa.shared.events.SentMessageEventHandler;
+import org.apache.hupa.shared.rpc.CreateFolder;
+import org.apache.hupa.shared.rpc.DeleteFolder;
import org.apache.hupa.shared.rpc.FetchFolders;
import org.apache.hupa.shared.rpc.FetchFoldersResult;
import org.apache.hupa.shared.rpc.GenericResult;
+<<<<<<< HEAD
>>>>>>> Change to new mvp framework - first step
+=======
+import org.apache.hupa.shared.rpc.GetMessageDetails;
+import org.apache.hupa.shared.rpc.GetMessageDetailsResult;
+>>>>>>>
import org.apache.hupa.shared.rpc.RenameFolder;
import org.apache.hupa.widgets.event.EditEvent;
import org.apache.hupa.widgets.event.EditHandler;
@@ -319,6 +358,9 @@ import org.apache.hupa.widgets.ui.HasEna
import com.google.gwt.activity.shared.AbstractActivity;
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>>
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -335,6 +377,7 @@ import com.google.gwt.user.client.ui.Acc
import com.google.gwt.user.client.ui.TreeItem;
import com.google.inject.Inject;
import com.google.inject.Provider;
+<<<<<<< HEAD
import com.google.web.bindery.requestfactory.shared.Receiver;
=======
import com.google.gwt.event.dom.client.HasClickHandlers;
@@ -345,6 +388,8 @@ import com.google.gwt.user.client.ui.Acc
import com.google.gwt.user.client.ui.TreeItem;
import com.google.inject.Inject;
>>>>>>> Change to new mvp framework - first step
+=======
+>>>>>>>
public class WestActivity extends AbstractActivity {
@@ -352,6 +397,7 @@ public class WestActivity extends Abstra
private final EventBus eventBus;
private final PlaceController placeController;
<<<<<<< HEAD
+<<<<<<< HEAD
private final Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
private final Provider<MessageSendPlace> messageSendPlaceProvider;
private final Provider<IMAPMessagePlace> messagePlaceProvider;
@@ -373,27 +419,43 @@ public class WestActivity extends Abstra
public WestActivity(Displayable display, EventBus eventBus,
PlaceController placeController,
DispatchAsync dispatcher,Provider<IMAPMessagePlace>
IMAPMessagePlaceProvider,Provider<MessageSendPlace>
messageSendPlaceProvider,Provider<IMAPMessagePlace> messagePlaceProvider){
=======
+=======
+ private final Provider<MailInboxPlace> mailInboxPlaceProvider;
+ private final Provider<IMAPMessagePlace> IMAPMessagePlaceProvider;
+ private final Provider<MessageSendPlace> messageSendPlaceProvider;
+>>>>>>>
private DispatchAsync dispatcher;
private User user;
private IMAPFolder folder;
private IMAPTreeItem tItem;
private HasEditable editableTreeItem;
+ private String searchValue;
@Inject
public WestActivity(Displayable display, EventBus eventBus,
PlaceController placeController,
+<<<<<<< HEAD
DispatchAsync dispatcher){
>>>>>>> Change to new mvp framework - first step
+=======
+ DispatchAsync dispatcher,Provider<MailInboxPlace>
mailInboxPlaceProvider,Provider<IMAPMessagePlace>
IMAPMessagePlaceProvider,Provider<MessageSendPlace> messageSendPlaceProvider){
+>>>>>>>
this.dispatcher = dispatcher;
this.display = display;
this.eventBus = eventBus;
this.placeController = placeController;
<<<<<<< HEAD
+<<<<<<< HEAD
this.IMAPMessagePlaceProvider = IMAPMessagePlaceProvider;
this.messageSendPlaceProvider = messageSendPlaceProvider;
this.messagePlaceProvider = messagePlaceProvider;
=======
>>>>>>> Change to new mvp framework - first step
+=======
+ this.mailInboxPlaceProvider = mailInboxPlaceProvider;
+ this.IMAPMessagePlaceProvider = IMAPMessagePlaceProvider;
+ this.messageSendPlaceProvider = messageSendPlaceProvider;
+>>>>>>>
}
@@ -542,6 +604,9 @@ public class WestActivity extends Abstra
}
private void bind(){
<<<<<<< HEAD
+<<<<<<< HEAD
+=======
+>>>>>>>
eventBus.addHandler(LoadMessagesEvent.TYPE, new
LoadMessagesEventHandler() {
public void onLoadMessagesEvent(LoadMessagesEvent
loadMessagesEvent) {
@@ -568,9 +633,13 @@ public class WestActivity extends Abstra
eventBus.fireEvent(new DecreaseUnseenEvent(user,
folder));
}
display.setLoadingMessage(false);
+<<<<<<< HEAD
// showMessage(user, folder, message,
result.getMessageDetails());
placeController.goTo(messagePlaceProvider.get().with(user,folder,
message,result.getMessageDetails()));
+=======
+ showMessage(user, folder, message,
result.getMessageDetails());
+>>>>>>>
}
});
}
@@ -658,7 +727,11 @@ public class WestActivity extends Abstra
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
+<<<<<<< HEAD
folder = (IMAPFolderProxy) tItem.getUserObject();
+=======
+ folder = (IMAPFolder) tItem.getUserObject();
+>>>>>>>
eventBus.fireEvent(new LoadMessagesEvent(user, folder));
}
@@ -669,7 +742,11 @@ public class WestActivity extends Abstra
tItem = (IMAPTreeItem) event.getSelectedItem();
if (tItem.isEdit())
return;
+<<<<<<< HEAD
folder = (IMAPFolderProxy) tItem.getUserObject();
+=======
+ folder = (IMAPFolder) tItem.getUserObject();
+>>>>>>>
if
(folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName()))
{
display.getDeleteEnable().setEnabled(false);
display.getRenameEnable().setEnabled(false);
@@ -742,7 +819,11 @@ public class WestActivity extends Abstra
eventBus.addHandler(MessagesReceivedEvent.TYPE, new
MessagesReceivedEventHandler() {
public void onMessagesReceived(MessagesReceivedEvent event) {
+<<<<<<< HEAD
IMAPFolderProxy f = event.getFolder();
+=======
+ IMAPFolder f = event.getFolder();
+>>>>>>>
display.updateTreeItem(f);
}
@@ -751,14 +832,21 @@ public class WestActivity extends Abstra
public void onLogin(LoginEvent event) {
user = event.getUser();
+<<<<<<< HEAD
// folder = (IMAPFolderProxy)new
IMAPFolder(user.getSettings().getInboxFolderName());;
searchValue = null;
// showMessageTable(user, folder, searchValue);
+=======
+ folder = new
IMAPFolder(user.getSettings().getInboxFolderName());;
+ searchValue = null;
+ showMessageTable(user, folder, searchValue);
+>>>>>>>
}
});
exportJSMethods(this);
+<<<<<<< HEAD
}
@@ -813,6 +901,65 @@ public class WestActivity extends Abstra
}
>>>>>>> Change to new mvp framework - first step
+=======
+ }
+
+
+ public void openLink(String url) {
+ Window.open(url, "_blank", "");
+ }
+
+ public void mailTo(String mailto) {
+// sendPresenter.revealDisplay(user, mailto);
+ }
+ private native void exportJSMethods(WestActivity westactivity) /*-{
+ $wnd.openLink = function(url) {
+ try {
+
[email protected]::openLink(Ljava/lang/String;)
(url);
+ } catch(e) {}
+ return false;
+ };
+ $wnd.mailTo = function(mail) {
+ try {
+
[email protected]::mailTo(Ljava/lang/String;)
(mail);
+ } catch(e) {}
+ return false;
+ };
+ }-*/;
+ private void showMessageTable(User user, IMAPFolder folder, String
searchValue) {
+ this.user = user;
+ this.folder = folder;
+ this.searchValue = searchValue;
+ placeController.goTo(mailInboxPlaceProvider.get().with(user));
+ }
+
+ private void showMessage(User user, IMAPFolder folder, Message message,
MessageDetails details) {
+ placeController.goTo(IMAPMessagePlaceProvider.get());
+ }
+
+ private void showNewMessage() {
+ placeController.goTo(this.messageSendPlaceProvider.get());
+// sendPresenter.revealDisplay(user);
+ }
+
+ private void showForwardMessage(ForwardMessageEvent event) {
+ placeController.goTo(this.messageSendPlaceProvider.get());
+// sendPresenter.revealDisplay(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), Type.FORWARD);
+ }
+
+ private void showReplyMessage(ReplyMessageEvent event) {
+ if (event.getReplyAll()) {
+ placeController.goTo(this.messageSendPlaceProvider.get());
+// sendPresenter.revealDisplay(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), Type.REPLY_ALL);
+ } else {
+ placeController.goTo(this.messageSendPlaceProvider.get());
+// sendPresenter.revealDisplay(event.getUser(), event.getFolder(),
event.getMessage(), event.getMessageDetails(), Type.REPLY);
+
+ }
+ placeController.goTo(this.messageSendPlaceProvider.get());
+// sendPresenter.revealDisplay();
+ }
+>>>>>>>
public interface Displayable extends WidgetContainerDisplayable {
public HasSelectionHandlers<TreeItem> getTree();
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
Thu Sep 12 02:49:20 2013
@@ -128,8 +128,8 @@ import org.apache.hupa.client.activity.T
import org.apache.hupa.client.activity.WestActivity;
import org.apache.hupa.client.dnd.PagingScrollTableRowDragController;
import org.apache.hupa.client.mvp.AppPlaceHistoryMapper;
+import org.apache.hupa.client.mvp.CachingTopActivityMapper;
import org.apache.hupa.client.mvp.MainContentActivityMapper;
-import org.apache.hupa.client.mvp.TopActivityMapper;
import org.apache.hupa.client.mvp.WestActivityMapper;
>>>>>>> Change to new mvp framework - first step
import org.apache.hupa.client.place.DefaultPlace;
@@ -385,7 +385,7 @@ public class AppGinModule extends Abstra
@Provides
@Singleton
@Named("TopRegion")
- public ActivityManager getTopRegionActivityMapper(TopActivityMapper
activityMapper,
+ public ActivityManager
getTopRegionActivityMapper(CachingTopActivityMapper activityMapper,
EventBus eventBus) {
return new ActivityManager(activityMapper, eventBus);
}
Added:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingTopActivityMapper.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingTopActivityMapper.java?rev=1522145&view=auto
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingTopActivityMapper.java
(added)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingTopActivityMapper.java
Thu Sep 12 02:49:20 2013
@@ -0,0 +1,33 @@
+package org.apache.hupa.client.mvp;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.activity.shared.CachingActivityMapper;
+import com.google.gwt.activity.shared.FilteredActivityMapper;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+
+public class CachingTopActivityMapper implements ActivityMapper {
+
+ private ActivityMapper filteredActivityMapper;
+
+ @Inject
+ public CachingTopActivityMapper(TopActivityMapper topActivityMapper) {
+
+ FilteredActivityMapper.Filter filter = new
FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return place;
+ }
+ };
+
+ CachingActivityMapper cachingActivityMapper = new
CachingActivityMapper(topActivityMapper);
+ filteredActivityMapper = new FilteredActivityMapper(filter,
cachingActivityMapper);
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
+
+}
Added:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingWestActivityMapper.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingWestActivityMapper.java?rev=1522145&view=auto
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingWestActivityMapper.java
(added)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/CachingWestActivityMapper.java
Thu Sep 12 02:49:20 2013
@@ -0,0 +1,36 @@
+package org.apache.hupa.client.mvp;
+
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.place.MailInboxPlace;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.activity.shared.CachingActivityMapper;
+import com.google.gwt.activity.shared.FilteredActivityMapper;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+
+public class CachingWestActivityMapper implements ActivityMapper {
+
+ private ActivityMapper filteredActivityMapper;
+
+ @Inject
+ public CachingWestActivityMapper(WestActivityMapper westActivityMapper)
{
+
+ FilteredActivityMapper.Filter filter = new
FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return place instanceof DefaultPlace ? place :
new MailInboxPlace(null); // FIXME with user
+ }
+ };
+
+ CachingActivityMapper cachingActivityMapper = new
CachingActivityMapper(westActivityMapper);
+ filteredActivityMapper = new FilteredActivityMapper(filter,
cachingActivityMapper);
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
+
+}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
Thu Sep 12 02:49:20 2013
@@ -1,16 +1,20 @@
package org.apache.hupa.client.place;
+<<<<<<< HEAD
import org.apache.hupa.shared.data.IMAPFolder;
import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
+=======
+>>>>>>>
import com.google.gwt.place.shared.Place;
import com.google.gwt.place.shared.PlaceTokenizer;
import com.google.gwt.place.shared.Prefix;
public class IMAPMessagePlace extends Place {
+<<<<<<< HEAD
private Message message;
private MessageDetails messageDetails;
@@ -34,6 +38,10 @@ public class IMAPMessagePlace extends Pl
}
@Prefix("message")
+=======
+
+ @Prefix("IMAPMessage")
+>>>>>>>
public static class Tokenizer implements PlaceTokenizer<IMAPMessagePlace> {
@Override
@@ -43,7 +51,11 @@ public class IMAPMessagePlace extends Pl
@Override
public String getToken(IMAPMessagePlace place) {
+<<<<<<< HEAD
return String.valueOf(place.getMessage().getUid());
+=======
+ return "IMAPMessage";
+>>>>>>>
}
}
@@ -51,6 +63,7 @@ public class IMAPMessagePlace extends Pl
return this.getClass().getName()+"->[IMAPMessage]";
}
+<<<<<<< HEAD
public IMAPMessagePlace with(User user, IMAPFolderProxy folder, Message
message, MessageDetails messageDetails){
this.message = message;
this.messageDetails = messageDetails;
@@ -59,4 +72,6 @@ public class IMAPMessagePlace extends Pl
return this;
}
+=======
+>>>>>>>
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailInboxPlace.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailInboxPlace.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailInboxPlace.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailInboxPlace.java
Thu Sep 12 02:49:20 2013
@@ -2,13 +2,25 @@ package org.apache.hupa.client.place;
import org.apache.hupa.shared.data.User;
+import com.google.gwt.place.shared.Place;
import com.google.gwt.place.shared.PlaceTokenizer;
import com.google.gwt.place.shared.Prefix;
-public class MailInboxPlace extends MailPlace {
+public class MailInboxPlace extends Place {
private static final String PREFIX = "inbox";
private User user;
+ private String mailId;
+
+ public MailInboxPlace(){
+ this.mailId = "";
+ }
+ public MailInboxPlace(String token){
+ this.mailId = token;
+ }
+ public String getMailId(){
+ return mailId;
+ }
/**
* equality test based on Class type, to let different instance of this
@@ -46,12 +58,12 @@ public class MailInboxPlace extends Mail
@Override
public MailInboxPlace getPlace(String token) {
- return new MailInboxPlace();
+ return new MailInboxPlace(token);
}
@Override
public String getToken(MailInboxPlace place) {
- return PREFIX;
+ return place.getMailId();
}
}
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MessageSendPlace.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MessageSendPlace.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MessageSendPlace.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MessageSendPlace.java
Thu Sep 12 02:49:20 2013
@@ -1,4 +1,5 @@
<<<<<<< HEAD
+<<<<<<< HEAD
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -40,11 +41,16 @@ import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
>>>>>>> 1. improve the inbox folder place.
+=======
+package org.apache.hupa.client.place;
+
+>>>>>>>
import com.google.gwt.place.shared.Place;
import com.google.gwt.place.shared.PlaceTokenizer;
import com.google.gwt.place.shared.Prefix;
<<<<<<< HEAD
+<<<<<<< HEAD
public class MessageSendPlace extends AbstractPlace {
@@ -168,4 +174,26 @@ public class MessageSendPlace extends Pl
>>>>>>> 1. improve the inbox folder place.
+=======
+public class MessageSendPlace extends Place {
+
+ @Prefix("MessageSend")
+ public static class Tokenizer implements PlaceTokenizer<MessageSendPlace> {
+
+ @Override
+ public MessageSendPlace getPlace(String token) {
+ return new MessageSendPlace();
+ }
+
+ @Override
+ public String getToken(MessageSendPlace place) {
+ return "MessageSend";
+ }
+ }
+
+ public String toString(){
+ return this.getClass().getName()+"->[MessageSend]";
+ }
+
+>>>>>>>
}
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/IMAPMessageListView.java
Thu Sep 12 02:49:20 2013
@@ -772,9 +772,13 @@ import com.google.gwt.gen2.table.event.c
import com.google.gwt.gen2.table.event.client.RowCountChangeHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
<<<<<<< HEAD
+<<<<<<< HEAD
import com.google.gwt.user.client.ui.Anchor;
=======
>>>>>>> Change to new mvp framework - first step
+=======
+import com.google.gwt.user.client.ui.Anchor;
+>>>>>>>
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasValue;
@@ -814,6 +818,7 @@ public class IMAPMessageListView extends
private ListBox pageBox = new ListBox();
<<<<<<< HEAD
+<<<<<<< HEAD
private Anchor allLink;
private Anchor noneLink;
private Anchor refreshLink;
@@ -822,6 +827,11 @@ public class IMAPMessageListView extends
private Hyperlink noneLink;
private Hyperlink refreshLink;
>>>>>>> Change to new mvp framework - first step
+=======
+ private Anchor allLink;
+ private Anchor noneLink;
+ private Anchor refreshLink;
+>>>>>>>
private MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(" ,@");
private SuggestBox searchBox = new SuggestBox(oracle);
private Button searchButton;
@@ -838,6 +848,7 @@ public class IMAPMessageListView extends
markSeenButton = new EnableButton(constants.markSeen());
markUnSeenButton = new EnableButton(constants.markUnseen());
<<<<<<< HEAD
+<<<<<<< HEAD
allLink = new Anchor(constants.all());
noneLink = new Anchor(constants.none());
refreshLink = new Anchor(constants.refresh());
@@ -846,6 +857,11 @@ public class IMAPMessageListView extends
noneLink = new Hyperlink(constants.none(),"");
refreshLink = new Hyperlink(constants.refresh(),"");
>>>>>>> Change to new mvp framework - first step
+=======
+ allLink = new Anchor(constants.all());
+ noneLink = new Anchor(constants.none());
+ refreshLink = new Anchor(constants.refresh());
+>>>>>>>
searchButton = new Button(constants.searchButton());
loading = new Loading(constants.loading());
this.cTableModel = new CachedTableModel<Message>(mTableModel);
Modified:
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
URL:
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java?rev=1522145&r1=1522144&r2=1522145&view=diff
==============================================================================
---
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
(original)
+++
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/WestView.java
Thu Sep 12 02:49:20 2013
@@ -179,6 +179,7 @@ public class WestView extends Composite
this.bus = bus;
loader = new Loading(constants.loading());
<<<<<<< HEAD
+<<<<<<< HEAD
newFolderButton = new EnableHyperlink(constants.newFolder(), null);
renameFolderButton = new EnableHyperlink(constants.renameFolder(),
null);
deleteFolderButton = new EnableHyperlink(constants.deleteFolder(),
null);
@@ -187,6 +188,11 @@ public class WestView extends Composite
renameFolderButton = new EnableHyperlink(constants.renameFolder(), "");
deleteFolderButton = new EnableHyperlink(constants.deleteFolder(), "");
>>>>>>> Change to new mvp framework - first step
+=======
+ newFolderButton = new EnableHyperlink(constants.newFolder(), null);
+ renameFolderButton = new EnableHyperlink(constants.renameFolder(),
null);
+ deleteFolderButton = new EnableHyperlink(constants.deleteFolder(),
null);
+>>>>>>>
dockPanel = new DockPanel();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]