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/08/21 16:08:29 UTC
svn commit: r1516164 [4/20] - in /james/hupa/trunk: ./ client/
client/src/main/java/com/ client/src/main/java/com/google/
client/src/main/java/com/google/web/
client/src/main/java/com/google/web/bindery/
client/src/main/java/com/google/web/bindery/requ...
Added: 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=1516164&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Wed Aug 21 14:08:19 2013
@@ -0,0 +1,244 @@
+/****************************************************************
+ * 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.client.activity;
+
+import org.apache.hupa.client.activity.MessageSendActivity.Type;
+import org.apache.hupa.client.place.FolderPlace;
+import org.apache.hupa.client.place.MessageSendPlace;
+import org.apache.hupa.client.rf.GetMessageDetailsRequest;
+import org.apache.hupa.client.ui.WidgetDisplayable;
+import org.apache.hupa.client.widgets.IMAPTreeItem;
+import org.apache.hupa.shared.data.ImapFolderImpl;
+import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
+import org.apache.hupa.shared.domain.GetMessageDetailsAction;
+import org.apache.hupa.shared.domain.GetMessageDetailsResult;
+import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.domain.Message;
+import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.BackEvent;
+import org.apache.hupa.shared.events.BackEventHandler;
+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.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.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.widgets.ui.HasEditable;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.place.shared.Place;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+
+public class WestActivity extends AppBaseActivity {
+
+ @Override
+ public void start(AcceptsOneWidget container, EventBus eventBus) {
+ bind();
+ container.setWidget(display.asWidget());
+ }
+
+ public void setCurrentPlace(Place place) {
+ this.currentPlace = place;
+ }
+
+ public WestActivity with(FolderPlace place) {
+ this.currentPlace = place;
+// this.user = place.getUser();
+ this.folder = new ImapFolderImpl(user.getSettings().getInboxFolderName());
+ return this;
+ }
+
+ private void cloneFolder(ImapFolder desc, ImapFolder src) {
+ desc.setChildren(src.getChildren());
+ desc.setDelimiter(src.getDelimiter());
+ desc.setFullName(src.getFullName());
+ desc.setMessageCount(src.getMessageCount());
+ desc.setName(src.getName());
+ desc.setSubscribed(src.getSubscribed());
+ desc.setUnseenMessageCount(src.getUnseenMessageCount());
+ }
+
+ private void bind() {
+ eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
+ public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
+ showMessageTable(loadMessagesEvent.getUser(), loadMessagesEvent.getFolder(),
+ loadMessagesEvent.getSearchValue());
+ }
+ });
+ eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
+ public void onExpandMessage(ExpandMessageEvent event) {
+// final boolean decreaseUnseen;
+ final Message message = event.getMessage();
+ // check if the message was already seen in the past
+ if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
+// decreaseUnseen = true;//TODO 1209
+ } else {
+// decreaseUnseen = false;
+ }
+
+ GetMessageDetailsRequest req = rf.messageDetailsRequest();
+ GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
+ final ImapFolder f = req.create(ImapFolder.class);
+// event.getFolder().setFolderTo(f);
+ cloneFolder(f, event.getFolder());
+ action.setFolder(f);
+ action.setUid(message.getUid());
+ req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
+ @Override
+ public void onSuccess(GetMessageDetailsResult response) {
+ /*
+ * TODO if (decreaseUnseen) { eventBus.fireEvent(new
+ * DecreaseUnseenEvent(user, folder)); }
+ */
+// placeController.goTo(messagePlaceProvider.get().with(user, f, message,
+// response.getMessageDetails()));
+ }
+ });
+ }
+ });
+ eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
+ public void onNewMessageEvent(NewMessageEvent event) {
+ showNewMessage();
+ }
+ });
+ eventBus.addHandler(SentMessageEvent.TYPE, new SentMessageEventHandler() {
+ public void onSentMessageEvent(SentMessageEvent ev) {
+ showMessageTable(user, folder, searchValue);
+ }
+ });
+ eventBus.addHandler(ForwardMessageEvent.TYPE, new ForwardMessageEventHandler() {
+ public void onForwardMessageEvent(ForwardMessageEvent event) {
+ showForwardMessage(event);
+ }
+ });
+ eventBus.addHandler(ReplyMessageEvent.TYPE, new ReplyMessageEventHandler() {
+ public void onReplyMessageEvent(ReplyMessageEvent event) {
+ showReplyMessage(event);
+ }
+ });
+ eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() {
+ public void onFolderSelectionEvent(FolderSelectionEvent event) {
+ user = event.getUser();
+ folder = event.getFolder();
+ showMessageTable(user, event.getFolder(), searchValue);
+ }
+ });
+ eventBus.addHandler(BackEvent.TYPE, new BackEventHandler() {
+ public void onBackEvent(BackEvent event) {
+ showMessageTable(user, folder, searchValue);
+ }
+ });
+ eventBus.addHandler(ExpandMessageEvent.TYPE, new ExpandMessageEventHandler() {
+ public void onExpandMessage(ExpandMessageEvent event) {
+ if (editableTreeItem != null && editableTreeItem.isEdit()) {
+ editableTreeItem.cancelEdit();
+ }
+ }
+ });
+ eventBus.addHandler(NewMessageEvent.TYPE, new NewMessageEventHandler() {
+ public void onNewMessageEvent(NewMessageEvent event) {
+ if (editableTreeItem != null && editableTreeItem.isEdit()) {
+ editableTreeItem.cancelEdit();
+ }
+ }
+ });
+ eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+ public void onLogin(LoginEvent event) {
+ user = event.getUser();
+ searchValue = null;
+ }
+ });
+ exportJSMethods(this);
+ }
+
+ 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 {
+ westactivity.@org.apache.hupa.client.activity.WestActivity::openLink(Ljava/lang/String;) (url);
+ } catch(e) {}
+ return false;
+ };
+ $wnd.mailTo = function(mail) {
+ try {
+ westactivity.@org.apache.hupa.client.activity.WestActivity::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;
+
+ // FIXME goto?
+// placeController.goTo(new MailFolderPlace().with(user, folder, searchValue));
+ }
+
+ private void showNewMessage() {
+ pc.goTo(this.messageSendPlaceProvider.get().with(user, null, null, null, Type.NEW));
+ }
+
+ private void showForwardMessage(ForwardMessageEvent event) {
+ pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
+ event.getMessage(), event.getMessageDetails(), Type.FORWARD));
+ }
+
+ private void showReplyMessage(ReplyMessageEvent event) {
+ pc.goTo(this.messageSendPlaceProvider.get().with(event.getUser(), event.getFolder(),
+ event.getMessage(), event.getMessageDetails(), event.getReplyAll() ? Type.REPLY_ALL : Type.REPLY));
+ }
+
+ @Inject private Displayable display;
+ @Inject private Provider<MessageSendPlace> messageSendPlaceProvider;
+// @Inject private Provider<IMAPMessagePlace> messagePlaceProvider;
+ private User user;
+ private ImapFolder folder;
+ private IMAPTreeItem tItem;
+ private HasEditable editableTreeItem;
+ private String searchValue;
+ private Place currentPlace;
+
+ public interface Displayable extends WidgetDisplayable {
+ }
+
+}
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java?rev=1516164&r1=1516163&r2=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/HupaImageBundle.java Wed Aug 21 14:08:19 2013
@@ -32,4 +32,6 @@ public interface HupaImageBundle extends
@Source("email.png")
ImageResource moveMailIcon();
+
+
}
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/addcontact.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/addcontact.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/addcontact.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/addcontact.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/ajaxloader.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/ajaxloader.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/ajaxloader.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/ajaxloader.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/buttons.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/contactpic.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/contactpic.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/contactpic.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/contactpic.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/favicon.ico
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/favicon.ico?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/favicon.ico (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/favicon.ico Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/filetypes.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/filetypes.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/filetypes.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/filetypes.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/change_lang.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/change_lang.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/change_lang.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/change_lang.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/indicator.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/indicator.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/indicator.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/indicator.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/ok.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/ok.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/ok.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/ok.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/spellc.gif
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/spellc.gif?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/spellc.gif (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/googiespell/spellc.gif Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen.jpg
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen.jpg?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen.jpg (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen.jpg Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_header.jpg
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_header.jpg?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_header.jpg (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_header.jpg Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_login.jpg
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_login.jpg?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_login.jpg (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/linen_login.jpg Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/listicons.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/listicons.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/listicons.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/listicons.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/login_shadow.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/login_shadow.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/login_shadow.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/login_shadow.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/messages.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/messages.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/messages.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/messages.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/overflowshadow.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/overflowshadow.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/overflowshadow.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/overflowshadow.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/quota.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/quota.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/quota.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/quota.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/roundcube_logo.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/roundcube_logo.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/roundcube_logo.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/roundcube_logo.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/selector.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/selector.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/selector.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/selector.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/splitter.png
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/splitter.png?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/splitter.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/splitter.png Wed Aug 21 14:08:19 2013 differ
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/watermark.jpg
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/watermark.jpg?rev=1516164&view=auto
==============================================================================
Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/watermark.jpg (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/bundles/images/watermark.jpg Wed Aug 21 14:08:19 2013 differ
Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/dnd/PagingScrollTableRowDragController.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/dnd/PagingScrollTableRowDragController.java?rev=1516164&r1=1516163&r2=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/dnd/PagingScrollTableRowDragController.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/dnd/PagingScrollTableRowDragController.java Wed Aug 21 14:08:19 2013
@@ -22,7 +22,6 @@ package org.apache.hupa.client.dnd;
import org.apache.hupa.client.HupaMessages;
import org.apache.hupa.client.bundles.HupaImageBundle;
import org.apache.hupa.widgets.ui.RndPanel;
-import org.cobogw.gwt.user.client.ui.RoundedPanel;
import com.allen_sauer.gwt.dnd.client.DragContext;
import com.allen_sauer.gwt.dnd.client.PickupDragController;
@@ -44,7 +43,7 @@ public class PagingScrollTableRowDragCon
private HupaMessages messages = GWT.create(HupaMessages.class);
private HupaImageBundle bundle =GWT.create(HupaImageBundle.class);
private FixedWidthGrid draggableTable;
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
private PagingScrollTable parentTable;
private int dragRow;
private RowDragProxy proxyWidget;
@@ -90,7 +89,7 @@ public class PagingScrollTableRowDragCon
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("rawtypes")
protected Widget newDragProxy(DragContext context) {
draggableTable = (FixedWidthGrid) context.draggable.getParent();
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/ActivityManagerInitializer.java (from r1375909, james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/ActivityManagerInitializer.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/ActivityManagerInitializer.java&p1=james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/ActivityManagerInitializer.java Wed Aug 21 14:08:19 2013
@@ -1,37 +1,36 @@
-/****************************************************************
- * 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.exception;
-
-import net.customware.gwt.dispatch.shared.ActionException;
-
-/**
- *
- */
-public class InvalidSessionException extends ActionException{
-
- /**
- *
- */
- private static final long serialVersionUID = 995112620968798947L;
-
- public InvalidSessionException(String msg) {
- super(msg);
- }
-}
+/****************************************************************
+ * 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.client.evo;
+
+import org.apache.hupa.client.ui.AppLayout;
+
+import com.google.inject.Inject;
+
+/**
+ * This class is responsible for ActivityManager instantiations through GIN, it
+ * also associate every ActivityManager with the corresponding display region
+ */
+public class ActivityManagerInitializer {
+
+ @Inject
+ public ActivityManagerInitializer(AppLayout appPanelView) {
+ }
+
+}
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java?rev=1516164&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java Wed Aug 21 14:08:19 2013
@@ -0,0 +1,97 @@
+/****************************************************************
+ * 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.client.evo;
+
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.place.FolderPlace;
+import org.apache.hupa.client.rf.CheckSessionRequest;
+import org.apache.hupa.client.rf.HupaRequestFactory;
+import org.apache.hupa.client.ui.AppLayout;
+
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.place.shared.Place;
+import com.google.gwt.place.shared.PlaceChangeEvent;
+import com.google.gwt.place.shared.PlaceController;
+import com.google.gwt.place.shared.PlaceHistoryHandler;
+import com.google.gwt.user.client.ui.RootLayoutPanel;
+import com.google.inject.Inject;
+import com.google.web.bindery.requestfactory.shared.Receiver;
+
+public class AppController {
+
+ @Inject private PlaceHistoryHandler placeHistoryHandler;
+ @Inject private AppLayout appPanelView;
+ @Inject private PlaceController placeController;
+ @Inject private HupaRequestFactory requestFactory;
+ private Place currentPlace;
+
+ @Inject
+ public AppController(EventBus eventBus, ActivityManagerInitializer initializeActivityManagerByGin) {
+ eventBus.addHandler(PlaceChangeEvent.TYPE, new PlaceLayoutHandler());
+ }
+
+ public void start() {
+ RootLayoutPanel.get().add(appPanelView.getAppLayoutPanel());
+ placeHistoryHandler.handleCurrentHistory();
+ }
+
+ private final class PlaceLayoutHandler implements PlaceChangeEvent.Handler {
+ @Override
+ public void onPlaceChange(PlaceChangeEvent event) {
+ if (placeChange(event)) {
+ checkSession();
+ }
+ refreshActivities(event);
+ }
+
+ private void refreshActivities(PlaceChangeEvent event) {
+ Place newPlace = event.getNewPlace();
+ if (newPlace != currentPlace) {
+ if (isAuth(newPlace, currentPlace)) {
+ appPanelView.setDefaultLayout();
+ } else if (newPlace instanceof DefaultPlace) {
+ appPanelView.setLoginLayout();
+ }
+ currentPlace = newPlace;
+ }
+ }
+
+ private void checkSession() {
+ CheckSessionRequest checkSession = requestFactory.sessionRequest();
+ checkSession.isValid().fire(new Receiver<Boolean>() {
+ @Override
+ public void onSuccess(Boolean sessionValid) {
+ if (!sessionValid) {
+// AppController.this.placeController.goTo(new DefaultPlace());
+ }
+ }
+ });
+ }
+
+ private boolean placeChange(PlaceChangeEvent event) {
+ return currentPlace != null && !(currentPlace instanceof DefaultPlace) && event.getNewPlace() != currentPlace;
+ }
+
+ private boolean isAuth(Place newPlace, Place currentPlace) {
+ return (newPlace instanceof FolderPlace) && !(currentPlace instanceof FolderPlace);
+ }
+ }
+
+}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java (from r1375909, james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java&p1=james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/DeleteMessageResult.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java Wed Aug 21 14:08:19 2013
@@ -17,48 +17,35 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.shared.rpc;
+package org.apache.hupa.client.evo;
-import java.io.Serializable;
+import com.google.gwt.core.client.EntryPoint;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.GWT.UncaughtExceptionHandler;
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.RootPanel;
+
+public class HupaEvo implements EntryPoint {
+ @Override
+ public void onModuleLoad() {
+ handleExceptionsAsync();
+ replaceLoading();
+// AppController appController = null;//injector.getAppController();
+// appController.start();
+ }
+
+ private void handleExceptionsAsync(){
+ GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
+ public void onUncaughtException(Throwable e) {
+ e.printStackTrace();
+ }
+ });
+ }
+
+ private void replaceLoading() {
+ DOM.removeChild(RootPanel.getBodyElement(), DOM.getElementById("loading"));
+ }
-import net.customware.gwt.dispatch.shared.Result;
-
-import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.User;
-
-public class DeleteMessageResult implements Result, Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = -5149203502019947912L;
- private User user;
- private IMAPFolder folder;
- private int deleteCount;
-
-
-
- @SuppressWarnings("unused")
- private DeleteMessageResult() {
-
- }
-
- public DeleteMessageResult(User user,IMAPFolder folder, int deleteCount) {
- this.user = user;
- this.folder = folder;
- this.deleteCount = deleteCount;
- }
-
- public int getCount() {
- return deleteCount;
- }
-
- public User getUser() {
- return user;
- }
-
- public IMAPFolder getFolder() {
- return folder;
- }
+// private final AppGinjector injector = GWT.create(AppGinjector.class);
}
Added: 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=1516164&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java Wed Aug 21 14:08:19 2013
@@ -0,0 +1,393 @@
+/****************************************************************
+ * 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.client.ioc;
+
+import java.util.logging.Logger;
+
+import org.apache.hupa.client.HupaController;
+import org.apache.hupa.client.activity.ComposeActivity;
+import org.apache.hupa.client.activity.ComposeToolBarActivity;
+import org.apache.hupa.client.activity.ContactPropertiesActivity;
+import org.apache.hupa.client.activity.ContactsListActivity;
+import org.apache.hupa.client.activity.FolderListActivity;
+<<<<<<< HEAD
+import org.apache.hupa.client.activity.IMAPMessageListActivity;
+=======
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.activity.LabelListActivity;
+import org.apache.hupa.client.activity.LabelPropertiesActivity;
+import org.apache.hupa.client.activity.LoginActivity;
+import org.apache.hupa.client.activity.LogoActivity;
+import org.apache.hupa.client.activity.MessageContentActivity;
+import org.apache.hupa.client.activity.MessageListActivity;
+import org.apache.hupa.client.activity.MessageListFooterActivity;
+<<<<<<< HEAD
+import org.apache.hupa.client.activity.MessageSendActivity;
+import org.apache.hupa.client.activity.NavigationActivity;
+import org.apache.hupa.client.activity.NotificationActivity;
+import org.apache.hupa.client.activity.SearchBoxActivity;
+import org.apache.hupa.client.activity.StatusActivity;
+import org.apache.hupa.client.activity.ToolBarActivity;
+import org.apache.hupa.client.activity.TopActivity;
+import org.apache.hupa.client.activity.TopBarActivity;
+import org.apache.hupa.client.activity.WestActivity;
+=======
+import org.apache.hupa.client.activity.NavigationActivity;
+import org.apache.hupa.client.activity.NotificationActivity;
+import org.apache.hupa.client.activity.SearchBoxActivity;
+import org.apache.hupa.client.activity.SettingNavActivity;
+import org.apache.hupa.client.activity.StatusActivity;
+import org.apache.hupa.client.activity.ToolBarActivity;
+import org.apache.hupa.client.activity.TopBarActivity;
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.mapper.AppPlaceHistoryMapper;
+import org.apache.hupa.client.mapper.CachingTopBarActivityMapper;
+import org.apache.hupa.client.mapper.ComposeActivityMapper;
+import org.apache.hupa.client.mapper.ComposeToolBarActivityMapper;
+import org.apache.hupa.client.mapper.ContactPropertiesActivityMapper;
+import org.apache.hupa.client.mapper.ContactsListActivityMapper;
+import org.apache.hupa.client.mapper.FolderListActivityMapper;
+import org.apache.hupa.client.mapper.LabelListActivityMapper;
+import org.apache.hupa.client.mapper.LabelPropertiesActivityMapper;
+import org.apache.hupa.client.mapper.LoginActivityMapper;
+import org.apache.hupa.client.mapper.LogoActivityMapper;
+import org.apache.hupa.client.mapper.MessageContentActivityMapper;
+import org.apache.hupa.client.mapper.MessageListActivityMapper;
+import org.apache.hupa.client.mapper.MessageListFooterActivityMapper;
+import org.apache.hupa.client.mapper.NavigationActivityMapper;
+import org.apache.hupa.client.mapper.NotificationActivityMapper;
+import org.apache.hupa.client.mapper.SearchBoxActivityMapper;
+<<<<<<< HEAD
+=======
+import org.apache.hupa.client.mapper.SettingNavActivityMapper;
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.mapper.StatusActivityMapper;
+import org.apache.hupa.client.mapper.ToolBarActivityMapper;
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.rf.HupaRequestFactory;
+import org.apache.hupa.client.ui.ComposeToolBarView;
+import org.apache.hupa.client.ui.ComposeView;
+import org.apache.hupa.client.ui.ContactPropertiesView;
+import org.apache.hupa.client.ui.ContactsListView;
+import org.apache.hupa.client.ui.FolderListView;
+<<<<<<< HEAD
+import org.apache.hupa.client.ui.FoldersTreeViewModel;
+import org.apache.hupa.client.ui.HupaLayout;
+import org.apache.hupa.client.ui.HupaLayoutable;
+import org.apache.hupa.client.ui.IMAPMessageListView;
+=======
+import org.apache.hupa.client.ui.HupaLayout;
+import org.apache.hupa.client.ui.HupaLayoutable;
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.ui.LabelListView;
+import org.apache.hupa.client.ui.LabelPropertiesView;
+import org.apache.hupa.client.ui.LoginLayout;
+import org.apache.hupa.client.ui.LoginLayoutable;
+import org.apache.hupa.client.ui.LoginView;
+import org.apache.hupa.client.ui.LogoView;
+import org.apache.hupa.client.ui.MessageContentView;
+import org.apache.hupa.client.ui.MessageListFooterView;
+import org.apache.hupa.client.ui.MessageListView;
+<<<<<<< HEAD
+import org.apache.hupa.client.ui.MessageSendView;
+=======
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.ui.MessagesCellTable;
+import org.apache.hupa.client.ui.NavigationView;
+import org.apache.hupa.client.ui.NotificationView;
+import org.apache.hupa.client.ui.SearchBoxView;
+<<<<<<< HEAD
+import org.apache.hupa.client.ui.StatusView;
+import org.apache.hupa.client.ui.ToolBarView;
+import org.apache.hupa.client.ui.TopBarView;
+import org.apache.hupa.client.ui.TopView;
+import org.apache.hupa.client.ui.WestView;
+=======
+import org.apache.hupa.client.ui.SettingNavView;
+import org.apache.hupa.client.ui.StatusView;
+import org.apache.hupa.client.ui.ToolBarView;
+import org.apache.hupa.client.ui.TopBarView;
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+
+import com.google.gwt.activity.shared.ActivityManager;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.event.shared.SimpleEventBus;
+import com.google.gwt.inject.client.AbstractGinModule;
+import com.google.gwt.place.shared.PlaceController;
+import com.google.gwt.place.shared.PlaceHistoryHandler;
+import com.google.gwt.place.shared.PlaceHistoryMapper;
+import com.google.gwt.user.cellview.client.CellTree;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
+import com.google.inject.name.Named;
+
+@SuppressWarnings("deprecation")
+public class AppGinModule extends AbstractGinModule {
+ public static Logger logger = Logger.getLogger(AppGinModule.class.getName());
+
+ @Override
+ protected void configure() {
+ // Views
+ bind(HupaLayoutable.class).to(HupaLayout.class).in(Singleton.class);
+ bind(LoginLayoutable.class).to(LoginLayout.class).in(Singleton.class);
+
+ // Activities
+ bind(LoginActivity.Displayable.class).to(LoginView.class);
+ bind(TopBarActivity.Displayable.class).to(TopBarView.class).in(Singleton.class);
+ bind(LogoActivity.Displayable.class).to(LogoView.class).in(Singleton.class);
+ bind(NotificationActivity.Displayable.class).to(NotificationView.class).in(Singleton.class);
+ bind(NavigationActivity.Displayable.class).to(NavigationView.class);
+ bind(ToolBarActivity.Displayable.class).to(ToolBarView.class).in(Singleton.class);
+ // bind(FolderListActivity.Displayable.class).to(FolderListView.class);
+ bind(MessageListActivity.Displayable.class).to(MessageListView.class).in(Singleton.class);
+ bind(MessageListFooterActivity.Displayable.class).to(MessageListFooterView.class);
+ bind(MessageContentActivity.Displayable.class).to(MessageContentView.class);
+ bind(StatusActivity.Displayable.class).to(StatusView.class);
+ bind(ComposeToolBarActivity.Displayable.class).to(ComposeToolBarView.class);
+ bind(ComposeActivity.Displayable.class).to(ComposeView.class);
+ bind(SearchBoxActivity.Displayable.class).to(SearchBoxView.class);
+
+ bind(LabelListActivity.Displayable.class).to(LabelListView.class).in(Singleton.class);
+<<<<<<< HEAD
+=======
+ bind(SettingNavActivity.Displayable.class).to(SettingNavView.class).in(Singleton.class);
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ bind(LabelPropertiesActivity.Displayable.class).to(LabelPropertiesView.class).in(Singleton.class);
+ bind(ContactsListActivity.Displayable.class).to(ContactsListView.class).in(Singleton.class);
+ bind(ContactPropertiesActivity.Displayable.class).to(ContactPropertiesView.class).in(Singleton.class);
+
+ bind(LoginActivity.class).in(Singleton.class);
+ bind(TopBarActivity.class).in(Singleton.class);
+ bind(LogoActivity.class).in(Singleton.class);
+ bind(NotificationActivity.class).in(Singleton.class);
+ bind(NavigationActivity.class).in(Singleton.class);
+ bind(ToolBarActivity.class).in(Singleton.class);
+ bind(FolderListActivity.class).in(Singleton.class);
+ bind(MessageListActivity.class).in(Singleton.class);
+ bind(ComposeToolBarActivity.class).in(Singleton.class);
+ bind(ComposeActivity.class).in(Singleton.class);
+ bind(SearchBoxActivity.class).in(Singleton.class);
+
+ bind(LabelListActivity.class).in(Singleton.class);
+<<<<<<< HEAD
+=======
+ bind(SettingNavActivity.class).in(Singleton.class);
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ bind(LabelPropertiesActivity.class).in(Singleton.class);
+ bind(ContactsListActivity.class).in(Singleton.class);
+ bind(ContactPropertiesActivity.class).in(Singleton.class);
+
+
+<<<<<<< HEAD
+ bind(TopActivity.Displayable.class).to(TopView.class).in(Singleton.class);
+ bind(FolderListActivity.Displayable.class).to(FolderListView.class).in(Singleton.class);
+ bind(WestActivity.Displayable.class).to(WestView.class).in(Singleton.class);
+ bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
+ bind(MessageSendActivity.Displayable.class).to(MessageSendView.class);
+
+ bind(TopActivity.class).in(Singleton.class);
+ bind(WestActivity.class).in(Singleton.class);
+ bind(IMAPMessageListActivity.class).in(Singleton.class);
+ bind(MessageSendActivity.class).in(Singleton.class);
+
+ bind(MessagesCellTable.class).in(Singleton.class);
+ bind(FoldersTreeViewModel.class).in(Singleton.class);
+=======
+ bind(FolderListActivity.Displayable.class).to(FolderListView.class).in(Singleton.class);
+
+ bind(MessagesCellTable.class).in(Singleton.class);
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ bind(CellTree.Resources.class).to(CellTree.BasicResources.class);
+ // Places
+ bind(PlaceHistoryMapper.class).to(AppPlaceHistoryMapper.class).in(Singleton.class);
+
+ bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class);
+
+ bind(HupaController.class).in(Singleton.class);
+ }
+
+
+
+ @Provides
+ @Singleton
+ @Named("ContactsListRegion")
+ public ActivityManager getContactsListActivityMapper(ContactsListActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("ContactPropertiesRegion")
+ public ActivityManager getContactPropertiesActivityMapper(ContactPropertiesActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("LabelListRegion")
+ public ActivityManager getLabelListActivityMapper(LabelListActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("LabelPropertiesRegion")
+ public ActivityManager getLabelPropertiesActivityMapper(LabelPropertiesActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+<<<<<<< HEAD
+
+=======
+
+
+ @Provides
+ @Singleton
+ @Named("SettingNavRegion")
+ public ActivityManager getSettingNavActivityMapper(SettingNavActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+
+ @Provides
+ @Singleton
+ @Named("LoginPage")
+ public ActivityManager getLoginActivityMapper(LoginActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("TopBarRegion")
+ public ActivityManager getTopBarActivityMapper(CachingTopBarActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("LogoRegion")
+ public ActivityManager getLogoActivityMapper(LogoActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("NotificationRegion")
+ public ActivityManager getNotificationActivityMapper(NotificationActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+ @Provides
+ @Singleton
+ @Named("NavigationRegion")
+ public ActivityManager getNavigationActivityMapper(NavigationActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("ToolBarRegion")
+ public ActivityManager getToolBarActivityMapper(ToolBarActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("FolderListRegion")
+ public ActivityManager getFolderListActivityMapper(FolderListActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("MessageListRegion")
+ public ActivityManager getMessageListActivityMapper(MessageListActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("MessageListFooterRegion")
+ public ActivityManager getMessageListFooterActivityMapper(MessageListFooterActivityMapper activityMapper,
+ EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("MessageContentRegion")
+ public ActivityManager getMessageContentActivityMapper(MessageContentActivityMapper activityMapper,
+ EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("StatusRegion")
+ public ActivityManager getStatusActivityMapper(StatusActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("ComposeRegion")
+ public ActivityManager getComposeActivityMapper(ComposeActivityMapper activityMapper, EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("ComposeToolBarRegion")
+ public ActivityManager getComposeToolBarActivityMapper(ComposeToolBarActivityMapper activityMapper,
+ EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ @Named("SearchBoxRegion")
+ public ActivityManager getSearchBoxActivityMapper(SearchBoxActivityMapper activityMapper,
+ EventBus eventBus) {
+ return new ActivityManager(activityMapper, eventBus);
+ }
+
+ @Provides
+ @Singleton
+ public PlaceController getPlaceController(EventBus eventBus) {
+ return new PlaceController(eventBus);
+ }
+
+ @Provides
+ @Singleton
+ public PlaceHistoryHandler getHistoryHandler(PlaceController placeController, PlaceHistoryMapper historyMapper,
+ EventBus eventBus) {
+ PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper);
+ historyHandler.register(placeController, eventBus, new DefaultPlace("@"));
+ return historyHandler;
+ }
+
+ @Provides
+ @Singleton
+ HupaRequestFactory getRequestFactory(EventBus eventBus) {
+ HupaRequestFactory rf = GWT.create(HupaRequestFactory.class);
+ rf.initialize(eventBus);
+ return rf;
+ }
+
+}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java (from r1375909, james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java&p1=james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/exception/InvalidSessionException.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java Wed Aug 21 14:08:19 2013
@@ -1,37 +1,36 @@
-/****************************************************************
- * 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.exception;
-
-import net.customware.gwt.dispatch.shared.ActionException;
-
-/**
- *
- */
-public class InvalidSessionException extends ActionException{
-
- /**
- *
- */
- private static final long serialVersionUID = 995112620968798947L;
-
- public InvalidSessionException(String msg) {
- super(msg);
- }
-}
+/****************************************************************
+ * 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.client.ioc;
+
+import org.apache.hupa.client.HupaController;
+
+import com.google.gwt.inject.client.GinModules;
+import com.google.gwt.inject.client.Ginjector;
+
+/**
+ * This is the application ginjector.
+ * It defines the method our EntryPoint will use to initialize GIN dependecy graph
+ * and the GIN module where binding is defined
+ */
+@GinModules(AppGinModule.class)
+public interface AppGinjector extends Ginjector {
+// AppController getAppController();
+ HupaController getHupaController();
+}
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityAsyncProxy.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityAsyncProxy.java?rev=1516164&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityAsyncProxy.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityAsyncProxy.java Wed Aug 21 14:08:19 2013
@@ -0,0 +1,122 @@
+/*
+ * Copyright 2012 Thomas Broyer <t....@ltgt.net>
+ *
+ * Licensed 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.client.mapper;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.RunAsyncCallback;
+import com.google.gwt.event.shared.EventBus;
+import com.google.gwt.user.client.ui.AcceptsOneWidget;
+
+/**
+ * Makes it easy to put any {@link Activity} behind a split-point.
+ * <p>
+ * For simple activities, that could be done using an
+ * {@link com.google.gwt.user.client.AsyncProxy AsyncProxy}, but it's not
+ * possible for activities created through factories or via dependency
+ * injection.
+ * <p>
+ * As a bonus, the {@link Activity} won't be instantiated at all in case the
+ * {@link ActivityAsyncProxy} is {@link #onCancel cancelled} before the
+ * {@link GWT.runAsync async call} returns.
+ */
+public abstract class ActivityAsyncProxy implements Activity {
+
+ private boolean hasAsyncBeenIssued;
+ private boolean hasAsyncBeenCancelled;
+ private boolean hasAsyncFailed;
+ private AcceptsOneWidget display;
+ private EventBus eventBus;
+ private Activity instance;
+
+ @Override
+ public String mayStop() {
+ checkHasAsyncFailed();
+ assert this.instance != null;
+ return this.instance.mayStop();
+ }
+
+ @Override
+ public void onCancel() {
+ if (this.instance != null) {
+ this.instance.onCancel();
+ }
+ checkHasAsyncFailed();
+ this.hasAsyncBeenCancelled = true;
+ }
+
+ @Override
+ public void onStop() {
+ checkHasAsyncFailed();
+ assert this.instance != null;
+ this.instance.onStop();
+ }
+
+ @Override
+ public void start(AcceptsOneWidget panel, EventBus eventBus) {
+ if (this.instance != null) {
+ this.instance.start(panel, eventBus);
+ return;
+ }
+ checkHasAsyncFailed();
+ assert !this.hasAsyncBeenIssued || this.hasAsyncBeenCancelled;
+ this.display = panel;
+ this.eventBus = eventBus;
+ this.hasAsyncBeenCancelled = false;
+ if (!this.hasAsyncBeenIssued) {
+ this.hasAsyncBeenIssued = true;
+ doAsync(new RunAsyncCallback() {
+
+ @Override
+ public void onSuccess() {
+ if (!ActivityAsyncProxy.this.hasAsyncBeenCancelled) {
+ assert ActivityAsyncProxy.this.instance == null;
+ ActivityAsyncProxy.this.instance = createInstance();
+ ActivityAsyncProxy.this.instance.start(
+ ActivityAsyncProxy.this.display,
+ ActivityAsyncProxy.this.eventBus);
+ }
+ }
+
+ @Override
+ public void onFailure(Throwable reason) {
+ ActivityAsyncProxy.this.hasAsyncFailed = true;
+ if (GWT.getUncaughtExceptionHandler() != null) {
+ GWT.getUncaughtExceptionHandler().onUncaughtException(
+ reason);
+ }
+ }
+ });
+ }
+ }
+
+ /**
+ * Implementors should simply call {@link GWT#runAsync} here, and nothing
+ * else.
+ * <p>
+ * This is required to have a different split-point generated for each
+ * {@link ActivityAsyncProxy} sub-class.
+ */
+ protected abstract void doAsync(RunAsyncCallback callback);
+
+ protected abstract Activity createInstance();
+
+ private void checkHasAsyncFailed() {
+ if (this.hasAsyncFailed) {
+ throw new IllegalStateException("runAsync load previously failed");
+ }
+ }
+}
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java?rev=1516164&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/ActivityManagerInitializer.java Wed Aug 21 14:08:19 2013
@@ -0,0 +1,84 @@
+/****************************************************************
+ * 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.client.mapper;
+
+import org.apache.hupa.client.ui.HupaLayoutable;
+import org.apache.hupa.client.ui.LoginLayoutable;
+
+import com.google.gwt.activity.shared.ActivityManager;
+import com.google.inject.Inject;
+import com.google.inject.name.Named;
+
+/**
+ * This class is responsible for ActivityManager instantiations through GIN, it
+ * also associate every ActivityManager with the corresponding display region
+ */
+public class ActivityManagerInitializer {
+
+ @Inject
+ public ActivityManagerInitializer(LoginLayoutable loginLayout, HupaLayoutable hupaLayout,
+
+ @Named("ContactsListRegion") ActivityManager contactsListActivityManager,
+ @Named("ContactPropertiesRegion") ActivityManager contactPropertiesActivityManager,
+ @Named("LabelListRegion") ActivityManager labelListActivityManager,
+<<<<<<< HEAD
+=======
+ @Named("SettingNavRegion") ActivityManager settingNavActivityManager,
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ @Named("LabelPropertiesRegion") ActivityManager labelPropertiesActivityManager,
+ @Named("LoginPage") ActivityManager loginActivityManager,
+ @Named("TopBarRegion") ActivityManager topBarActivityManager,
+ @Named("LogoRegion") ActivityManager logoActivityManager,
+ @Named("NotificationRegion") ActivityManager notificationActivityManager,
+ @Named("NavigationRegion") ActivityManager navigationActivityManager,
+ @Named("ToolBarRegion") ActivityManager toolBarActivityManager,
+ @Named("FolderListRegion") ActivityManager folderListActivityManager,
+ @Named("MessageListRegion") ActivityManager messageListActivityManager,
+ @Named("MessageListFooterRegion") ActivityManager messageListFooterActivityManager,
+ @Named("MessageContentRegion") ActivityManager messageContentActivityManager,
+ @Named("StatusRegion") ActivityManager statusActivityManager,
+ @Named("ComposeToolBarRegion") ActivityManager composeToolBarActivityManager,
+ @Named("SearchBoxRegion") ActivityManager searchBoxActivityManager,
+ @Named("ComposeRegion") ActivityManager composeActivityManager) {
+ contactsListActivityManager.setDisplay(hupaLayout.getContactsListView());
+ contactPropertiesActivityManager.setDisplay(hupaLayout.getContactPropertiesView());
+ labelPropertiesActivityManager.setDisplay(hupaLayout.getLabelPropertiesView());
+ labelListActivityManager.setDisplay(hupaLayout.getLabelListView());
+<<<<<<< HEAD
+=======
+ settingNavActivityManager.setDisplay(hupaLayout.getSettingNavView());
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ loginActivityManager.setDisplay(loginLayout.getLoginView());
+ topBarActivityManager.setDisplay(hupaLayout.getTopBarView());
+ logoActivityManager.setDisplay(hupaLayout.getLogoView());
+ notificationActivityManager.setDisplay(hupaLayout.getNotificationView());
+ navigationActivityManager.setDisplay(hupaLayout.getNavigationView());
+ toolBarActivityManager.setDisplay(hupaLayout.getToolBarView());
+ folderListActivityManager.setDisplay(hupaLayout.getFolderListView());
+ messageListActivityManager.setDisplay(hupaLayout.getMessageListView());
+ messageListFooterActivityManager.setDisplay(hupaLayout.getMessageListFooterView());
+ messageContentActivityManager.setDisplay(hupaLayout.getMessageContentView());
+ statusActivityManager.setDisplay(hupaLayout.getStatusView());
+ composeToolBarActivityManager.setDisplay(hupaLayout.getComposeToolBarView());
+ searchBoxActivityManager.setDisplay(hupaLayout.getSearchBoxView());
+ composeActivityManager.setDisplay(hupaLayout.getComposeView());
+ }
+
+}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/AppPlaceHistoryMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/gin/HupaGinjector.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/AppPlaceHistoryMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/AppPlaceHistoryMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/gin/HupaGinjector.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/gin/HupaGinjector.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/AppPlaceHistoryMapper.java Wed Aug 21 14:08:19 2013
@@ -1,37 +1,51 @@
-/****************************************************************
- * 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.client.gin;
-
-import net.customware.gwt.dispatch.client.gin.StandardDispatchModule;
-import net.customware.gwt.presenter.client.EventBus;
-import net.customware.gwt.presenter.client.place.PlaceManager;
-
-import org.apache.hupa.client.mvp.AppPresenter;
-import org.apache.hupa.client.rf.HupaRequestFactory;
-
-import com.google.gwt.inject.client.GinModules;
-import com.google.gwt.inject.client.Ginjector;
-
-@GinModules({/*StandardDispatchModule.class,*/ HupaClientModule.class})
-public interface HupaGinjector extends Ginjector {
- AppPresenter getAppPresenter();
- PlaceManager getPlaceManager();
- EventBus getEventBus();
- HupaRequestFactory getRequestFactory();
-}
+/****************************************************************
+ * 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.client.mapper;
+
+import org.apache.hupa.client.place.ComposePlace;
+import org.apache.hupa.client.place.ContactPlace;
+import org.apache.hupa.client.place.DefaultPlace;
+<<<<<<< HEAD
+import org.apache.hupa.client.place.MessagePlace;
+import org.apache.hupa.client.place.FolderPlace;
+import org.apache.hupa.client.place.MessageSendPlace;
+=======
+import org.apache.hupa.client.place.FolderPlace;
+import org.apache.hupa.client.place.MessagePlace;
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+import org.apache.hupa.client.place.SettingPlace;
+
+import com.google.gwt.place.shared.PlaceHistoryMapper;
+import com.google.gwt.place.shared.WithTokenizers;
+
+@WithTokenizers({
+ DefaultPlace.Tokenizer.class,
+ FolderPlace.Tokenizer.class,
+<<<<<<< HEAD
+ MessageSendPlace.Tokenizer.class,
+=======
+>>>>>>> 7635f4a0e76a4bbbeb6a4029aff92087f00eb09f
+ MessagePlace.Tokenizer.class,
+ ComposePlace.Tokenizer.class,
+ SettingPlace.Tokenizer.class,
+ ContactPlace.Tokenizer.class
+})
+public interface AppPlaceHistoryMapper extends PlaceHistoryMapper {
+}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingMessageListActivityMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingMessageListActivityMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingMessageListActivityMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingMessageListActivityMapper.java Wed Aug 21 14:08:19 2013
@@ -17,34 +17,40 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.client.mvp.place;
+package org.apache.hupa.client.mapper;
-import org.apache.hupa.client.mvp.LoginPresenter;
+import org.apache.hupa.client.place.FolderPlace;
+import org.apache.hupa.client.place.MessagePlace;
+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;
-import com.google.inject.Provider;
-import net.customware.gwt.presenter.client.gin.ProvidedPresenterPlace;
-import net.customware.gwt.presenter.client.place.PlaceRequest;
+public class CachingMessageListActivityMapper implements ActivityMapper {
-public class LoginPresenterPlace extends ProvidedPresenterPlace<LoginPresenter>{
+ private ActivityMapper filteredActivityMapper;
- @Inject
- public LoginPresenterPlace(Provider<LoginPresenter> presenter) {
- super(presenter);
- }
-
- @Override
- public String getName() {
- return "Login";
- }
-
- @Override
- protected void preparePresenter(PlaceRequest request, LoginPresenter presenter) {
- String user = request.getParameter("user", null);
- if (user != null) {
- presenter.getDisplay().getUserNameValue().setValue(user);
- }
- }
+ @Inject
+ public CachingMessageListActivityMapper(MessageListActivityMapper messageListActivityMapper) {
+
+ FilteredActivityMapper.Filter filter = new FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return place instanceof MessagePlace ? new FolderPlace(((MessagePlace) place).getTokenWrapper()
+ .getFolder()) : place;
+ }
+ };
+
+ filteredActivityMapper = new FilteredActivityMapper(filter,
+ new CachingActivityMapper(messageListActivityMapper));
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingToolBarActivityMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingToolBarActivityMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingToolBarActivityMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingToolBarActivityMapper.java Wed Aug 21 14:08:19 2013
@@ -17,34 +17,38 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.client.mvp.place;
+package org.apache.hupa.client.mapper;
-import org.apache.hupa.client.mvp.LoginPresenter;
+import org.apache.hupa.client.place.MessagePlace;
+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;
-import com.google.inject.Provider;
-import net.customware.gwt.presenter.client.gin.ProvidedPresenterPlace;
-import net.customware.gwt.presenter.client.place.PlaceRequest;
+public class CachingToolBarActivityMapper implements ActivityMapper {
-public class LoginPresenterPlace extends ProvidedPresenterPlace<LoginPresenter>{
+ private ActivityMapper filteredActivityMapper;
- @Inject
- public LoginPresenterPlace(Provider<LoginPresenter> presenter) {
- super(presenter);
- }
-
- @Override
- public String getName() {
- return "Login";
- }
-
- @Override
- protected void preparePresenter(PlaceRequest request, LoginPresenter presenter) {
- String user = request.getParameter("user", null);
- if (user != null) {
- presenter.getDisplay().getUserNameValue().setValue(user);
- }
- }
+ @Inject
+ public CachingToolBarActivityMapper(ToolBarActivityMapper toolBarActivityMapper) {
+
+ FilteredActivityMapper.Filter filter = new FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return place instanceof MessagePlace ? Place.NOWHERE : place;
+ }
+ };
+
+ CachingActivityMapper cachingActivityMapper = new CachingActivityMapper(toolBarActivityMapper);
+ filteredActivityMapper = new FilteredActivityMapper(filter, cachingActivityMapper);
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopActivityMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopActivityMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopActivityMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopActivityMapper.java Wed Aug 21 14:08:19 2013
@@ -17,34 +17,36 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.client.mvp.place;
-
-import org.apache.hupa.client.mvp.LoginPresenter;
+package org.apache.hupa.client.mapper;
+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;
-import com.google.inject.Provider;
-import net.customware.gwt.presenter.client.gin.ProvidedPresenterPlace;
-import net.customware.gwt.presenter.client.place.PlaceRequest;
+public class CachingTopActivityMapper implements ActivityMapper {
+
+ private ActivityMapper filteredActivityMapper;
-public class LoginPresenterPlace extends ProvidedPresenterPlace<LoginPresenter>{
+ @Inject
+ public CachingTopActivityMapper(TopActivityMapper topActivityMapper) {
- @Inject
- public LoginPresenterPlace(Provider<LoginPresenter> presenter) {
- super(presenter);
- }
-
- @Override
- public String getName() {
- return "Login";
- }
-
- @Override
- protected void preparePresenter(PlaceRequest request, LoginPresenter presenter) {
- String user = request.getParameter("user", null);
- if (user != null) {
- presenter.getDisplay().getUserNameValue().setValue(user);
- }
- }
+ 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);
+ }
}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopBarActivityMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopBarActivityMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopBarActivityMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingTopBarActivityMapper.java Wed Aug 21 14:08:19 2013
@@ -17,34 +17,36 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.client.mvp.place;
-
-import org.apache.hupa.client.mvp.LoginPresenter;
+package org.apache.hupa.client.mapper;
+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;
-import com.google.inject.Provider;
-import net.customware.gwt.presenter.client.gin.ProvidedPresenterPlace;
-import net.customware.gwt.presenter.client.place.PlaceRequest;
+public class CachingTopBarActivityMapper implements ActivityMapper {
+
+ private ActivityMapper filteredActivityMapper;
-public class LoginPresenterPlace extends ProvidedPresenterPlace<LoginPresenter>{
+ @Inject
+ public CachingTopBarActivityMapper(TopBarActivityMapper topBarActivityMapper) {
- @Inject
- public LoginPresenterPlace(Provider<LoginPresenter> presenter) {
- super(presenter);
- }
-
- @Override
- public String getName() {
- return "Login";
- }
-
- @Override
- protected void preparePresenter(PlaceRequest request, LoginPresenter presenter) {
- String user = request.getParameter("user", null);
- if (user != null) {
- presenter.getDisplay().getUserNameValue().setValue(user);
- }
- }
+ FilteredActivityMapper.Filter filter = new FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return place;
+ }
+ };
+
+ CachingActivityMapper cachingActivityMapper = new CachingActivityMapper(topBarActivityMapper);
+ filteredActivityMapper = new FilteredActivityMapper(filter, cachingActivityMapper);
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
}
Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingWestActivityMapper.java (from r1375909, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java)
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingWestActivityMapper.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingWestActivityMapper.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java&r1=1375909&r2=1516164&rev=1516164&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/place/LoginPresenterPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/CachingWestActivityMapper.java Wed Aug 21 14:08:19 2013
@@ -17,34 +17,40 @@
* under the License. *
****************************************************************/
-package org.apache.hupa.client.mvp.place;
+package org.apache.hupa.client.mapper;
-import org.apache.hupa.client.mvp.LoginPresenter;
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.place.FolderPlace;
+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;
-import com.google.inject.Provider;
-import net.customware.gwt.presenter.client.gin.ProvidedPresenterPlace;
-import net.customware.gwt.presenter.client.place.PlaceRequest;
+public class CachingWestActivityMapper implements ActivityMapper {
-public class LoginPresenterPlace extends ProvidedPresenterPlace<LoginPresenter>{
+ private ActivityMapper filteredActivityMapper;
- @Inject
- public LoginPresenterPlace(Provider<LoginPresenter> presenter) {
- super(presenter);
- }
-
- @Override
- public String getName() {
- return "Login";
- }
-
- @Override
- protected void preparePresenter(PlaceRequest request, LoginPresenter presenter) {
- String user = request.getParameter("user", null);
- if (user != null) {
- presenter.getDisplay().getUserNameValue().setValue(user);
- }
- }
+ @Inject
+ public CachingWestActivityMapper(WestActivityMapper westActivityMapper) {
+
+ FilteredActivityMapper.Filter filter = new FilteredActivityMapper.Filter() {
+ @Override
+ public Place filter(Place place) {
+ return (place instanceof DefaultPlace || place instanceof FolderPlace) ? place
+ : new FolderPlace("");
+ }
+ };
+
+ CachingActivityMapper cachingActivityMapper = new CachingActivityMapper(westActivityMapper);
+ filteredActivityMapper = new FilteredActivityMapper(filter, cachingActivityMapper);
+ }
+
+ @Override
+ public Activity getActivity(Place place) {
+ return filteredActivityMapper.getActivity(place);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org