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

svn commit: r1522144 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: ./ activity/ ioc/ mvp/ ui/

Author: dongxu
Date: Thu Sep 12 02:48:50 2013
New Revision: 1522144

URL: http://svn.apache.org/r1522144
Log:
introduce the top activity

Added:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.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/ioc/AppGinModule.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ActivityManagerInitializer.java Thu Sep 12 02:48:50 2013
@@ -7,17 +7,19 @@ 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
+ * 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,
-                                    @Named("WestRegion") ActivityManager verticalMasterActivityManager,
-                                    @Named("MainContentRegion") ActivityManager mainContentActivityManager) {
-    verticalMasterActivityManager.setDisplay(appPanelView.getWestContainer());
-    mainContentActivityManager.setDisplay(appPanelView.getMainContainer());
-  }
+	@Inject
+	public ActivityManagerInitializer(AppLayout appPanelView, 
+			@Named("TopRegion") ActivityManager topActivityManager,
+			@Named("WestRegion") ActivityManager westActivityManager,
+			@Named("MainContentRegion") ActivityManager mainContentActivityManager) {
+		topActivityManager.setDisplay(appPanelView.getTopContainer());
+		westActivityManager.setDisplay(appPanelView.getWestContainer());
+		mainContentActivityManager.setDisplay(appPanelView.getMainContainer());
+	}
 
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/AppController.java Thu Sep 12 02:48:50 2013
@@ -15,54 +15,57 @@ import com.google.inject.Inject;
 /**
  * This is the main controller of the application.
  */
-public class AppController{
+public class AppController {
 
-  private final PlaceController placeController;
-  private final PlaceHistoryHandler placeHistoryHandler;
-  private final AppLayout appPanelView;
-  private Place currentPlace;
-
-  /**
-   * All parameters are injected by GIN
-   *
-   * @param placeController the application's PlaceController
-   * @param eventBus the application's EventBus
-   * @param placeHistoryHandler the application's PlaceHistoryHandler
-   * @param appLayout this is the application's main panel
-   * @param mainMenuView this is the application's navigation top bar
-   * @param activityManagerInitializer unused parameter, it's here just to force GIN's initialization of ActivityManagers
-   */
-  @Inject
-  public AppController(PlaceController placeController,
-                           EventBus eventBus,
-                           PlaceHistoryHandler placeHistoryHandler,
-                           AppLayout appLayout,
-                           ActivityManagerInitializer activityManagerInitializer) {
-    this.placeController = placeController;
-    this.placeHistoryHandler = placeHistoryHandler;
-    this.appPanelView = appLayout;
-    eventBus.addHandler(PlaceChangeEvent.TYPE, new PlaceLayoutHandler());
-  }
-
-  public void start() {
-    RootLayoutPanel.get().add(appPanelView.getMainLayoutPanel());
-    placeHistoryHandler.handleCurrentHistory();
-  }
-
-
-  private final class PlaceLayoutHandler implements PlaceChangeEvent.Handler {
-    @Override
-    public void onPlaceChange(PlaceChangeEvent event) {
-      Place newPlace = event.getNewPlace();
-      if (newPlace != currentPlace) {
-        if (newPlace instanceof MailInboxPlace) {
-          appPanelView.setDefaultLayout();
-        } else if (newPlace instanceof DefaultPlace){
-          appPanelView.setLoginLayout();
-        }
-        currentPlace = newPlace;
-      }
-    }
-  }
+	private final PlaceController placeController;
+	private final PlaceHistoryHandler placeHistoryHandler;
+	private final AppLayout appPanelView;
+	private Place currentPlace;
+
+	/**
+	 * All parameters are injected by GIN
+	 * 
+	 * @param placeController
+	 *            the application's PlaceController
+	 * @param eventBus
+	 *            the application's EventBus
+	 * @param placeHistoryHandler
+	 *            the application's PlaceHistoryHandler
+	 * @param appLayout
+	 *            this is the application's main panel
+	 * @param mainMenuView
+	 *            this is the application's navigation top bar
+	 * @param activityManagerInitializer
+	 *            unused parameter, it's here just to force GIN's initialization
+	 *            of ActivityManagers
+	 */
+	@Inject
+	public AppController(PlaceController placeController, EventBus eventBus, PlaceHistoryHandler placeHistoryHandler,
+			AppLayout appLayout, ActivityManagerInitializer activityManagerInitializer) {
+		this.placeController = placeController;
+		this.placeHistoryHandler = placeHistoryHandler;
+		this.appPanelView = appLayout;
+		eventBus.addHandler(PlaceChangeEvent.TYPE, new PlaceLayoutHandler());
+	}
+
+	public void start() {
+		RootLayoutPanel.get().add(appPanelView.getMainLayoutPanel());
+		placeHistoryHandler.handleCurrentHistory();
+	}
+
+	private final class PlaceLayoutHandler implements PlaceChangeEvent.Handler {
+		@Override
+		public void onPlaceChange(PlaceChangeEvent event) {
+			Place newPlace = event.getNewPlace();
+			if (newPlace != currentPlace) {
+				if (newPlace instanceof MailInboxPlace) {
+					appPanelView.setDefaultLayout();
+				} else if (newPlace instanceof DefaultPlace) {
+					appPanelView.setLoginLayout();
+				}
+				currentPlace = newPlace;
+			}
+		}
+	}
 
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java Thu Sep 12 02:48:50 2013
@@ -20,21 +20,29 @@
 package org.apache.hupa.client;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 import com.google.gwt.i18n.client.Constants;
 
 import eu.maydu.gwt.validation.client.i18n.StandardValidationMessagesImpl;
 >>>>>>> first commit
+=======
+>>>>>>> introduce the top activity
 import gwtupload.client.IUploader.UploaderConstants;
 
 import org.apache.hupa.widgets.PagingOptionsConstants;
 import org.apache.hupa.widgets.editor.ToolbarConstants;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import com.google.gwt.i18n.client.Constants;
 
 =======
 >>>>>>> first commit
+=======
+import com.google.gwt.i18n.client.Constants;
+
+>>>>>>> introduce the top activity
 public interface HupaConstants extends Constants, UploaderConstants, PagingOptionsConstants, ToolbarConstants {
 
     public String usernameLabel();

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/LoginActivity.java Thu Sep 12 02:48:50 2013
@@ -135,7 +135,6 @@ public class LoginActivity extends Abstr
 			DispatchAsync dispatcher) {
 =======
 import com.google.gwt.place.shared.PlaceController;
-import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.Focusable;
 import com.google.gwt.user.client.ui.HasValue;
@@ -150,7 +149,7 @@ public class LoginActivity extends Abstr
 	private final PlaceController placeController;
 	private final Provider<MailInboxPlace> mailInboxPlaceProvider;
 	private DispatchAsync dispatcher;
-    private HupaConstants constants = GWT.create(HupaConstants.class);
+	private HupaConstants constants = GWT.create(HupaConstants.class);
 
 	@Inject
 <<<<<<< HEAD
@@ -232,19 +231,25 @@ public class LoginActivity extends Abstr
 =======
 		display.getResetClick().addClickHandler(new ClickHandler() {
 
-            public void onClick(ClickEvent event) {
-                doReset();
-            }
-            
-        });
+			public void onClick(ClickEvent event) {
+				doReset();
+			}
+
+		});
 		eventBus.addHandler(SessionExpireEvent.TYPE, new SessionExpireEventHandler() {
 
+<<<<<<< HEAD
             public void onSessionExpireEvent(SessionExpireEvent event) {
                 eventBus.fireEvent(new FlashEvent(constants.sessionTimedOut(), 4000));
             }
             
         });
 >>>>>>> decorate the theme
+=======
+			public void onSessionExpireEvent(SessionExpireEvent event) {
+				eventBus.fireEvent(new FlashEvent(constants.sessionTimedOut(), 4000));
+			}
+>>>>>>> introduce the top activity
 
 		});
 
@@ -332,6 +337,7 @@ public class LoginActivity extends Abstr
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 				Window.alert("error");
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -348,6 +354,9 @@ public class LoginActivity extends Abstr
 =======
 				// eventBus.fireEvent(new FlashEvent(constants.loginInvalid(),4000));
 >>>>>>> decorate the theme
+=======
+				eventBus.fireEvent(new FlashEvent(constants.loginInvalid(), 4000));
+>>>>>>> introduce the top activity
 				doReset();
 			}
 		});

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=1522144&r1=1522143&r2=1522144&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:48:50 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 *
@@ -29,16 +30,24 @@ import org.apache.hupa.shared.domain.Idl
 import org.apache.hupa.shared.domain.LogoutUserResult;
 import org.apache.hupa.shared.domain.User;
 =======
+=======
+>>>>>>> introduce the top activity
 package org.apache.hupa.client.activity;
 
 import net.customware.gwt.dispatch.client.DispatchAsync;
 
 import org.apache.hupa.client.HupaConstants;
+<<<<<<< HEAD
 import org.apache.hupa.client.evo.HupaEvoCallback;
 import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.ui.WidgetDisplayable;
 import org.apache.hupa.shared.data.User;
 >>>>>>> introduce the top activity
+=======
+import org.apache.hupa.client.HupaEvoCallback;
+import org.apache.hupa.client.mvp.WidgetDisplayable;
+import org.apache.hupa.shared.data.User;
+>>>>>>> introduce the top activity
 import org.apache.hupa.shared.events.FlashEvent;
 import org.apache.hupa.shared.events.FlashEventHandler;
 import org.apache.hupa.shared.events.LoginEvent;
@@ -49,8 +58,11 @@ import org.apache.hupa.shared.events.Ser
 import org.apache.hupa.shared.events.ServerStatusEvent.ServerStatus;
 import org.apache.hupa.shared.events.ServerStatusEventHandler;
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 =======
+=======
+>>>>>>> introduce the top activity
 import org.apache.hupa.shared.rpc.CheckSession;
 import org.apache.hupa.shared.rpc.CheckSessionResult;
 import org.apache.hupa.shared.rpc.Idle;
@@ -59,6 +71,9 @@ import org.apache.hupa.shared.rpc.Logout
 import org.apache.hupa.shared.rpc.LogoutUserResult;
 
 import com.google.gwt.activity.shared.AbstractActivity;
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
@@ -66,6 +81,7 @@ import com.google.gwt.event.dom.client.C
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.shared.EventBus;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasText;
@@ -77,24 +93,36 @@ public class TopActivity extends AppBase
 	private static final int IDLE_INTERVAL = 150000;
 
 =======
+=======
+>>>>>>> introduce the top activity
 import com.google.gwt.place.shared.PlaceController;
 import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.inject.Inject;
+<<<<<<< HEAD
 import com.google.inject.Provider;
+=======
+>>>>>>> introduce the top activity
 
 public class TopActivity extends AbstractActivity {
 
 	private static final int IDLE_INTERVAL = 150000;
 	HupaConstants constants;
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 	@Override
 	public void start(AcceptsOneWidget container, EventBus eventBus) {
 		container.setWidget(display.asWidget());
 		bind();
 <<<<<<< HEAD
+<<<<<<< HEAD
+=======
+		checkSession();
+>>>>>>> introduce the top activity
 =======
 		checkSession();
 >>>>>>> introduce the top activity
@@ -110,13 +138,19 @@ public class TopActivity extends Abstrac
 				display.showMessage(constants.welcome(), 3000);
 			}
 <<<<<<< HEAD
+<<<<<<< HEAD
 		});
 		eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
 =======
+=======
+>>>>>>> introduce the top activity
 
 		});
 		eventBus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
 
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 			public void onLogout(LogoutEvent event) {
 				User u = event.getUser();
@@ -126,6 +160,7 @@ public class TopActivity extends Abstrac
 				}
 				showLogin(username);
 				noopTimer.cancel();
+<<<<<<< HEAD
 				TopActivity.this.placeController.goTo(defaultPlaceProvider.get());
 			}
 <<<<<<< HEAD
@@ -147,6 +182,9 @@ public class TopActivity extends Abstrac
 		}));
 		eventBus.addHandler(ServerStatusEvent.TYPE, new ServerStatusEventHandler() {
 =======
+=======
+			}
+>>>>>>> introduce the top activity
 
 		});
 		display.getLogoutClick().addClickHandler(new ClickHandler() {
@@ -172,6 +210,9 @@ public class TopActivity extends Abstrac
 		});
 		eventBus.addHandler(ServerStatusEvent.TYPE, new ServerStatusEventHandler() {
 
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 			public void onServerStatusChange(ServerStatusEvent event) {
 				if (event.getStatus() != serverStatus) {
@@ -181,6 +222,7 @@ public class TopActivity extends Abstrac
 				}
 			}
 <<<<<<< HEAD
+<<<<<<< HEAD
 		});
 		eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
 			public void onFlash(FlashEvent event) {
@@ -197,6 +239,8 @@ public class TopActivity extends Abstrac
 				public void onSuccess(LogoutUserResult response) {
 					eventBus.fireEvent(new LogoutEvent(response.getUser()));
 =======
+=======
+>>>>>>> introduce the top activity
 
 		});
 		eventBus.addHandler(FlashEvent.TYPE, new FlashEventHandler() {
@@ -231,6 +275,9 @@ public class TopActivity extends Abstrac
 			dispatcher.execute(new LogoutUser(), new HupaEvoCallback<LogoutUserResult>(dispatcher, eventBus) {
 				public void callback(LogoutUserResult result) {
 					eventBus.fireEvent(new LogoutEvent(result.getUser()));
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 				}
 			});
@@ -245,9 +292,12 @@ public class TopActivity extends Abstrac
 	private void showLogin(String username) {
 		display.showTopNavigation(false);
 <<<<<<< HEAD
+<<<<<<< HEAD
 //		placeController.goTo(new DefaultPlace());
 =======
 >>>>>>> introduce the top activity
+=======
+>>>>>>> introduce the top activity
 	}
 
 	private void showContacts() {
@@ -255,6 +305,7 @@ public class TopActivity extends Abstrac
 		display.showMainButton();
 	}
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 	private Timer noopTimer = new IdleTimer();
 
@@ -269,15 +320,27 @@ public class TopActivity extends Abstrac
 
 	@Inject
 	public TopActivity(Displayable display, EventBus eventBus, PlaceController placeController, Provider<DefaultPlace> defaultPlaceProvider,
+=======
+	private Timer noopTimer = new IdleTimer();
+
+	@Inject
+	public TopActivity(Displayable display, EventBus eventBus, PlaceController placeController,
+>>>>>>> introduce the top activity
 			HupaConstants constants, DispatchAsync dispatcher) {
 		this.dispatcher = dispatcher;
 		this.display = display;
 		this.eventBus = eventBus;
+<<<<<<< HEAD
 		this.defaultPlaceProvider = defaultPlaceProvider;
+=======
+>>>>>>> introduce the top activity
 		this.constants = constants;
 		this.placeController = placeController;
 
 	}
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 	public interface Displayable extends WidgetDisplayable {
 		public HasClickHandlers getLogoutClick();
@@ -292,6 +355,7 @@ public class TopActivity extends Abstrac
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 	private class IdleTimer extends Timer {
 		boolean running = false;
 
@@ -305,11 +369,16 @@ public class TopActivity extends Abstrac
 					@Override
 					public void onSuccess(IdleResult response) {
 =======
+=======
+>>>>>>> introduce the top activity
 	private final Displayable display;
 	private final EventBus eventBus;
 	private final PlaceController placeController;
 	private final DispatchAsync dispatcher;
+<<<<<<< HEAD
 	private final Provider<DefaultPlace> defaultPlaceProvider;
+=======
+>>>>>>> introduce the top activity
 
 	private User user;
 	private ServerStatus serverStatus = ServerStatus.Available;
@@ -321,25 +390,35 @@ public class TopActivity extends Abstrac
 				running = true;
 				dispatcher.execute(new Idle(), new HupaEvoCallback<IdleResult>(dispatcher, eventBus) {
 					public void callback(IdleResult result) {
+<<<<<<< HEAD
+>>>>>>> introduce the top activity
+=======
 >>>>>>> introduce the top activity
 						running = false;
 						// check if the server is not supporting the Idle
 						// command.
 						// if so cancel this Timer
 <<<<<<< HEAD
+<<<<<<< HEAD
 						if (response.isSupported() == false) {
 =======
 						if (result.isSupported() == false) {
 >>>>>>> introduce the top activity
+=======
+						if (result.isSupported() == false) {
+>>>>>>> introduce the top activity
 							IdleTimer.this.cancel();
 						}
 						// Noop
 						// TODO: put code here to read new events from server
 						// (new messages ...)
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 =======
 >>>>>>> introduce the top activity
+=======
+>>>>>>> introduce the top activity
 					}
 				});
 			}

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=1522144&r1=1522143&r2=1522144&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:48:50 2013
@@ -124,10 +124,12 @@ import org.apache.hupa.client.AppControl
 import org.apache.hupa.client.CachingDispatchAsync;
 import org.apache.hupa.client.activity.IMAPMessageListActivity;
 import org.apache.hupa.client.activity.LoginActivity;
+import org.apache.hupa.client.activity.TopActivity;
 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.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;
@@ -145,6 +147,7 @@ import com.google.gwt.activity.shared.Ac
 >>>>>>> Change to new mvp framework - first step
 =======
 import org.apache.hupa.client.ui.LoginView;
+import org.apache.hupa.client.ui.TopView;
 import org.apache.hupa.client.ui.WestView;
 
 import com.google.gwt.activity.shared.ActivityManager;
@@ -344,12 +347,16 @@ public class AppGinModule extends Abstra
 		// Activities
 		bind(LoginActivity.Displayable.class).to(LoginView.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
 		bind(TopActivity.Displayable.class).to(TopView.class);
 		bind(WestActivity.Displayable.class).to(WestView.class);
 		bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
 		bind(MessageSendActivity.Displayable.class).to(MessageSendView.class);
 		bind(IMAPMessageActivity.Displayable.class).to(IMAPMessageView.class);
 =======
+=======
+		bind(TopActivity.Displayable.class).to(TopView.class);
+>>>>>>> introduce the top activity
 		bind(WestActivity.Displayable.class).to(WestView.class);
 		bind(IMAPMessageListActivity.Displayable.class).to(IMAPMessageListView.class);
 >>>>>>> Change to new mvp framework - first step
@@ -373,6 +380,17 @@ public class AppGinModule extends Abstra
 
 
 
+<<<<<<< HEAD
+=======
+	@Provides
+	@Singleton
+	@Named("TopRegion")
+	public ActivityManager getTopRegionActivityMapper(TopActivityMapper activityMapper,
+			EventBus eventBus) {
+		return new ActivityManager(activityMapper, eventBus);
+	}
+	
+>>>>>>> introduce the top activity
 	@Provides
 	@Singleton
 	@Named("TopRegion")
@@ -390,6 +408,7 @@ public class AppGinModule extends Abstra
 	@Named("WestRegion")
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	public ActivityManager getVerticalMasterRegionActivityMapper(WestActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
 =======
@@ -406,6 +425,9 @@ public class AppGinModule extends Abstra
 	@Named("WestRegion")
 	public ActivityManager getVerticalMasterRegionActivityMapper(WestActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
+=======
+	public ActivityManager getWestRegionActivityMapper(WestActivityMapper activityMapper,
+>>>>>>> introduce the top activity
 			EventBus eventBus) {
 		return new ActivityManager(activityMapper, eventBus);
 	}
@@ -440,8 +462,12 @@ public class AppGinModule extends Abstra
 >>>>>>> introduce the top activity
 =======
 	@Named("MainContentRegion")
+<<<<<<< HEAD
 	public ActivityManager getVerticalMasterRegionActivityMapper(MainContentActivityMapper activityMapper,
 >>>>>>> Change to new mvp framework - first step
+=======
+	public ActivityManager getMainContentRegionActivityMapper(MainContentActivityMapper activityMapper,
+>>>>>>> introduce the top activity
 			EventBus eventBus) {
 		return new ActivityManager(activityMapper, eventBus);
 	}

Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java?rev=1522144&view=auto
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java (added)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/TopActivityMapper.java Thu Sep 12 02:48:50 2013
@@ -0,0 +1,22 @@
+package org.apache.hupa.client.mvp;
+
+import org.apache.hupa.client.activity.TopActivity;
+
+import com.google.gwt.activity.shared.Activity;
+import com.google.gwt.activity.shared.ActivityMapper;
+import com.google.gwt.place.shared.Place;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class TopActivityMapper implements ActivityMapper {
+	private final Provider<TopActivity> topActivityProvider;
+
+	@Inject
+	public TopActivityMapper(Provider<TopActivity> topActivityProvider) {
+		this.topActivityProvider = topActivityProvider;
+	}
+
+	public Activity getActivity(Place place) {
+		return topActivityProvider.get();
+	}
+}

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayout.java Thu Sep 12 02:48:50 2013
@@ -36,14 +36,18 @@ package org.apache.hupa.client.ui;
 =======
 package org.apache.hupa.client.ui;
 
+<<<<<<< HEAD
 >>>>>>> Change to new mvp framework - first step
 
+=======
+>>>>>>> introduce the top activity
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.LayoutPanel;
 
 public interface AppLayout {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 >>>>>>> Change to new mvp framework - first step
 
@@ -60,13 +64,18 @@ public interface AppLayout {
 <<<<<<< HEAD
 >>>>>>> Change to new mvp framework - first step
 =======
+=======
+>>>>>>> introduce the top activity
 	LayoutPanel getMainLayoutPanel();
 	AcceptsOneWidget getTopContainer();
 	AcceptsOneWidget getWestContainer();
 	AcceptsOneWidget getMainContainer();
 	void setLoginLayout();
 	void setDefaultLayout();
+<<<<<<< HEAD
 >>>>>>> introduce the top activity
 =======
 >>>>>>> Change to new mvp framework - first step
+=======
+>>>>>>> introduce the top activity
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.java Thu Sep 12 02:48:50 2013
@@ -104,8 +104,12 @@ public class AppLayoutImpl implements Ap
 	SimplePanel topPanel;
 =======
 	@UiField
+<<<<<<< HEAD
 	FlowPanel topPanel;
 >>>>>>> decorate the theme
+=======
+	SimplePanel topPanel;
+>>>>>>> introduce the top activity
 
 	@UiField
 	SimplePanel westPanel;
@@ -151,7 +155,21 @@ public class AppLayoutImpl implements Ap
 	}
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 
+=======
+
+	@Override
+	public AcceptsOneWidget getTopContainer() {
+		return new AcceptsOneWidget() {
+			@Override
+			public void setWidget(IsWidget w) {
+				Widget widget = Widget.asWidgetOrNull(w);
+				topPanel.setWidget(widget);
+			}
+		};
+	}
+>>>>>>> introduce the top activity
 	@Override
 	public AcceptsOneWidget getTopContainer() {
 		return new AcceptsOneWidget() {

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/AppLayoutImpl.ui.xml Thu Sep 12 02:48:50 2013
@@ -188,6 +188,7 @@
 	<g:LayoutPanel addStyleNames="{style.Hupa}">
 		<g:layer>
 <<<<<<< HEAD
+<<<<<<< HEAD
 			<g:SimplePanel ui:field="topPanel" addStyleNames="{style.topPanel}">
 			</g:SimplePanel>
 =======
@@ -196,6 +197,10 @@
 				<my:TopView ui:field="topView" addStyleNames="{style.topView}" />
 			</g:FlowPanel>
 >>>>>>> decorate the theme
+=======
+			<g:SimplePanel ui:field="topPanel" addStyleNames="{style.topPanel}">
+			</g:SimplePanel>
+>>>>>>> introduce the top activity
 		</g:layer>
 		<g:layer>
 			<g:SimplePanel ui:field="westPanel" addStyleNames="{style.westPanel}" />

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.java Thu Sep 12 02:48:50 2013
@@ -163,14 +163,31 @@ public class TopView extends Composite i
 =======
 package org.apache.hupa.client.ui;
 
+import org.apache.hupa.client.HupaCSS;
+import org.apache.hupa.client.HupaConstants;
+import org.apache.hupa.client.activity.TopActivity;
+import org.apache.hupa.shared.events.ServerStatusEvent.ServerStatus;
+import org.apache.hupa.widgets.ui.RndPanel;
+
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiConstructor;
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.FlowPanel;
-import com.google.gwt.user.client.ui.IsWidget;
+import com.google.gwt.user.client.ui.HasText;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Hyperlink;
+import com.google.gwt.user.client.ui.Label;
+import com.google.inject.Inject;
 
+<<<<<<< HEAD
 public class TopView extends Composite implements IsWidget {
 >>>>>>> decorate the theme
+=======
+public class TopView extends Composite implements TopActivity.Displayable {
+>>>>>>> introduce the top activity
 
 	interface TopViewUiBinder extends UiBinder<FlowPanel, TopView> {
 	}
@@ -180,10 +197,13 @@ public class TopView extends Composite i
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 	public TopView() {
 		FlowPanel panel = binder.createAndBindUi(this);
 =======
+=======
+>>>>>>> introduce the top activity
 	FlowPanel panel = binder.createAndBindUi(this);
 	private HorizontalPanel buttonContainer = new HorizontalPanel();
 	private HorizontalPanel infoContainer = new HorizontalPanel();
@@ -238,6 +258,7 @@ public class TopView extends Composite i
 		panel.add(infoContainer);
 		panel.add(flashContainer);
 		flashContainer.add(flashLabel);
+<<<<<<< HEAD
 >>>>>>> introduce the top activity
 		initWidget(panel);
 		showTopNavigation(false);
@@ -310,8 +331,74 @@ public class TopView extends Composite i
 =======
 	public TopView() {
 		FlowPanel panel = binder.createAndBindUi(this);
+=======
+>>>>>>> introduce the top activity
 		initWidget(panel);
+		showTopNavigation(false);
 	}
 
+	@Override
+	public HasClickHandlers getLogoutClick() {
+		return logoutButton;
+	}
+
+	@Override
+	public HasClickHandlers getContactsClick() {
+		return contactsButton;
+	}
+
+	@Override
+	public HasClickHandlers getMainClick() {
+		return mainButton;
+	}
+
+<<<<<<< HEAD
 >>>>>>> decorate the theme
+=======
+	@Override
+	public void showTopNavigation(boolean show) {
+		buttonContainer.setVisible(show);
+	}
+
+	@Override
+	public void showContactsButton() {
+		mainButton.setVisible(false);
+		contactsButton.setVisible(true);
+	}
+
+	@Override
+	public void showMainButton() {
+		mainButton.setVisible(true);
+		contactsButton.setVisible(false);
+	}
+
+	@Override
+	public HasText getUserText() {
+		return loginUserLabel;
+	}
+
+	@Override
+	public void setServerStatus(ServerStatus status) {
+		if (status == ServerStatus.Available)
+			showMessage("Server available.", 20000);
+		else
+			showMessage("Server unavailable", 0);
+	}
+
+	@Override
+	public void showMessage(String message, int millisecs) {
+		flashLabel.setText(message);
+		flashContainer.setVisible(true);
+		if (millisecs > 0)
+			hideMessage.schedule(millisecs);
+	}
+
+	private final Timer hideMessage = new Timer() {
+		public void run() {
+			flashContainer.setVisible(false);
+			flashLabel.setText("");
+		}
+	};
+
+>>>>>>> introduce the top activity
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml?rev=1522144&r1=1522143&r2=1522144&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopView.ui.xml Thu Sep 12 02:48:50 2013
@@ -47,6 +47,7 @@
 	</ui:style>
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	<g:FlowPanel addStyleNames="{style.round-corner-panel}">
 >>>>>>> decorate the theme
 =======
@@ -55,5 +56,8 @@
 =======
 	<g:FlowPanel addStyleNames="{style.round-corner-panel}">
 >>>>>>> decorate the theme
+=======
+	<g:FlowPanel ui:field="topWrapper" addStyleNames="{style.round-corner-panel}">
+>>>>>>> introduce the top activity
 	</g:FlowPanel>
 </ui:UiBinder>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org