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

svn commit: r1522270 - in /james/hupa/trunk/client/src/main/java/org/apache/hupa/client: ./ activity/ place/ ui/

Author: dongxu
Date: Thu Sep 12 03:54:37 2013
New Revision: 1522270

URL: http://svn.apache.org/r1522270
Log:
add logout support

Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/DefaultPlace.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java Thu Sep 12 03:54:37 2013
@@ -264,7 +264,7 @@ public class HupaController {
 	private final class PlaceChangHandler implements PlaceChangeEvent.Handler {
 		@Override
 		public void onPlaceChange(PlaceChangeEvent event) {
-			log.fine("place changed to " + event.getNewPlace());
+//			log.fine("place changed to " + event.getNewPlace());
 			// if (placeChange(event)) {
 			// checkSession();
 			// }
@@ -279,7 +279,6 @@ public class HupaController {
 					if (!(RootLayoutPanel.get().getLayoutData() instanceof HupaLayoutable)) {
 						RootLayoutPanel.get().clear();
 						RootLayoutPanel.get().add(hupaLayout.get());
-						RootLayoutPanel.get().setLayoutData(hupaLayout);
 
 					}
 				} else if (newPlace instanceof DefaultPlace) {
@@ -288,7 +287,6 @@ public class HupaController {
 					if (!(RootLayoutPanel.get().getLayoutData() instanceof LoginLayoutable)) {
 						RootLayoutPanel.get().clear();
 						RootLayoutPanel.get().add(loginLayout.get());
-						RootLayoutPanel.get().setLayoutData(loginLayout);
 					}
 				}
 				currentPlace = newPlace;
@@ -334,7 +332,7 @@ public class HupaController {
 				if (!sessionValid) {
 					RootLayoutPanel.get().clear();
 					RootLayoutPanel.get().add(loginLayout.get());
-					log.fine("session invalid");
+//					log.fine("session invalid");
 //					HupaController.this.placeController
 //							.goTo(new DefaultPlace());
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/TopBarActivity.java Thu Sep 12 03:54:37 2013
@@ -20,6 +20,7 @@
 package org.apache.hupa.client.activity;
 
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.rf.CheckSessionRequest;
 import org.apache.hupa.client.rf.LogoutUserRequest;
@@ -132,21 +133,80 @@ public class TopBarActivity extends AppB
 		return user;
 	}
 =======
+=======
+import org.apache.hupa.client.place.DefaultPlace;
+import org.apache.hupa.client.rf.LogoutUserRequest;
+import org.apache.hupa.client.ui.LoginLayoutable;
+>>>>>>> add logout support
 import org.apache.hupa.client.ui.WidgetDisplayable;
+import org.apache.hupa.shared.domain.LogoutUserResult;
+import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.LoginEventHandler;
+import org.apache.hupa.shared.events.LogoutEvent;
 
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.shared.EventBus;
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
+import com.google.gwt.user.client.ui.HTMLPanel;
+import com.google.gwt.user.client.ui.RootLayoutPanel;
 import com.google.inject.Inject;
+import com.google.web.bindery.requestfactory.shared.Receiver;
 
 public class TopBarActivity extends AppBaseActivity {
 
+	@Inject private Displayable display;
+	@Inject private LoginLayoutable loginLayout;
+	private User user;
+
 	@Override
 	public void start(AcceptsOneWidget container, EventBus eventBus) {
 		container.setWidget(display.asWidget());
+		bindTo(eventBus);
 	}
 
+<<<<<<< HEAD
 	@Inject private Displayable display;
 	
 	public interface Displayable extends WidgetDisplayable {}
 >>>>>>> integrate all of the views to their corresponding activities and mappers
+=======
+	private void bindTo(EventBus eventBus) {
+
+		eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
+			public void onLogin(LoginEvent event) {
+				user = event.getUser();
+			}
+		});
+		registerHandler(display.getLogoutClick().addClickHandler(
+				new ClickHandler() {
+					public void onClick(ClickEvent event) {
+						doLogout();
+					}
+				}));
+	}
+
+	private void doLogout() {
+		if (user != null) {
+			LogoutUserRequest req = requestFactory.logoutRequest();
+			req.logout().fire(new Receiver<LogoutUserResult>() {
+				@Override
+				public void onSuccess(LogoutUserResult response) {
+					eventBus.fireEvent(new LogoutEvent(response.getUser()));
+					RootLayoutPanel.get().clear();
+					RootLayoutPanel.get().add(loginLayout.get());
+					TopBarActivity.this.placeController.goTo(new DefaultPlace());
+				}
+			});
+		}
+	}
+
+	public interface Displayable extends WidgetDisplayable {
+		HasClickHandlers getLogoutClick();
+
+		HTMLPanel getUserLabel();
+	}
+>>>>>>> add logout support
 }

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/DefaultPlace.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/DefaultPlace.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/DefaultPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/DefaultPlace.java Thu Sep 12 03:54:37 2013
@@ -68,7 +68,7 @@ import com.google.gwt.place.shared.Prefi
 
 public class DefaultPlace extends AbstractPlace {
 
-  @Prefix("!")
+  @Prefix("")
   public static class Tokenizer implements PlaceTokenizer<DefaultPlace> {
 
     @Override

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/MailFolderPlace.java Thu Sep 12 03:54:37 2013
@@ -28,7 +28,7 @@ import com.google.gwt.place.shared.Prefi
 public class MailFolderPlace extends AbstractPlace {
 
 	// this can remove the colon ":"
-	private static final String PREFIX = "";
+	private static final String PREFIX = "folder";
 	private User user;
 	private String folderName = "";
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.java Thu Sep 12 03:54:37 2013
@@ -269,6 +269,8 @@ public class LoginView extends Composite
 
 	interface Style extends CssResource {
 		String loading();
+		String hidden();
+		String display();
 	}
 
 	@Inject
@@ -472,8 +474,12 @@ public class LoginView extends Composite
 			message.addStyleName(style.display());
 		} else {
 			message.removeStyleName(style.loading());
+<<<<<<< HEAD
 			message.removeStyleName(style.display());
 			message.addStyleName(style.hidden());
+=======
+			message.removeStyleName(style.hidden());
+>>>>>>> add logout support
 		}
 =======
 =======

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/LoginView.ui.xml Thu Sep 12 03:54:37 2013
@@ -154,6 +154,13 @@
 			white-space: nowrap;
 			text-align: center;
 			cursor: default;
+		}
+		
+		.hidden {
+			display: none;
+		}
+		
+		.display {
 			display: inline-block;
 		}
 		
@@ -173,9 +180,7 @@
 		</g:FlowPanel>
 		<g:FlowPanel ui:field="boxBottom" styleName="{style.boxBottom}">
 			<g:FlowPanel ui:field="messageBox" addStyleNames="{style.message}">
-				<g:HTMLPanel ui:field="message" addStyleNames="{style.notice}">You have successfully
-					terminated the
-					session. Good bye!
+				<g:HTMLPanel ui:field="message" addStyleNames="{style.notice}{style.hidden}">
 				</g:HTMLPanel>
 			</g:FlowPanel>
 		</g:FlowPanel>

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.java Thu Sep 12 03:54:37 2013
@@ -24,6 +24,7 @@ package org.apache.hupa.client.ui;
 import org.apache.hupa.client.activity.TopBarActivity;
 
 import com.google.gwt.core.client.GWT;
+<<<<<<< HEAD
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.resources.client.CssResource;
@@ -67,6 +68,20 @@ public class TopBarView extends Composit
 =======
 public class TopBarView extends Composite implements TopBarActivity.Displayable{
 >>>>>>> integrate all of the views to their corresponding activities and mappers
+=======
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.Anchor;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.DockLayoutPanel;
+import com.google.gwt.user.client.ui.HTMLPanel;
+
+public class TopBarView extends Composite implements TopBarActivity.Displayable {
+
+	@UiField Anchor logout;
+	@UiField HTMLPanel userLabel;
+>>>>>>> add logout support
 
 	public TopBarView() {
 		initWidget(binder.createAndBindUi(this));
@@ -108,6 +123,16 @@ public class TopBarView extends Composit
 =======
 >>>>>>> make login page as one part of the overall layout & splite layout to little one
 
+	@Override
+	public HasClickHandlers getLogoutClick() {
+		return logout;
+	}
+
+	@Override
+	public HTMLPanel getUserLabel() {
+		return userLabel;
+	}
+
 	interface TopBarUiBinder extends UiBinder<DockLayoutPanel, TopBarView> {
 	}
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml?rev=1522270&r1=1522269&r2=1522270&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/TopBarView.ui.xml Thu Sep 12 03:54:37 2013
@@ -124,9 +124,8 @@
 		</g:west>
 		<g:center>
 			<g:FlowPanel>
-				<g:Anchor addStyleNames="{style.right} {style.logout}">Logout</g:Anchor>
-				<g:HTMLPanel tag="span" addStyleNames="{style.right} {style.username}">echowdx@gmail.com
-				</g:HTMLPanel>
+				<g:Anchor ui:field="logout" addStyleNames="{style.right} {style.logout}">Logout</g:Anchor>
+				<g:HTMLPanel ui:field="userLabel" tag="span" addStyleNames="{style.right} {style.username}" />
 			</g:FlowPanel>
 		</g:center>
 >>>>>>> make login page as one part of the overall layout & splite layout to little one



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