You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/09/06 12:26:12 UTC

svn commit: r811798 - in /labs/hupa/trunk: client/src/main/java/org/apache/hupa/client/ client/src/main/java/org/apache/hupa/client/mvp/ shared/src/main/java/org/apache/hupa/shared/events/

Author: norman
Date: Sun Sep  6 10:26:11 2009
New Revision: 811798

URL: http://svn.apache.org/viewvc?rev=811798&view=rev
Log:
Logout the user and show an error message if the session expires (LABS-437)

Added:
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/SessionAsyncCallback.java
      - copied, changed from r811490, labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/MyAsyncCallback.java
    labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEvent.java
    labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEventHandler.java
Removed:
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/MyAsyncCallback.java
Modified:
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.java Sun Sep  6 10:26:11 2009
@@ -101,4 +101,6 @@
 	public String backButton();
 
 	public String rawButton();
+	
+	public String sessionTimedOut();
 }

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaConstants.properties Sun Sep  6 10:26:11 2009
@@ -40,3 +40,4 @@
 loginAs=Login as
 backButton=Back
 rawButton=Show raw message
+sessionTimedOut=Your session is timed out. Please login again!

Copied: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/SessionAsyncCallback.java (from r811490, labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/MyAsyncCallback.java)
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/SessionAsyncCallback.java?p2=labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/SessionAsyncCallback.java&p1=labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/MyAsyncCallback.java&r1=811490&r2=811798&rev=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/MyAsyncCallback.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/SessionAsyncCallback.java Sun Sep  6 10:26:11 2009
@@ -22,27 +22,45 @@
 import net.customware.gwt.presenter.client.EventBus;
 
 import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.events.LogoutEvent;
+import org.apache.hupa.shared.events.SessionExpireEvent;
 import org.apache.hupa.shared.exception.InvalidSessionException;
 
-import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 
-public abstract class MyAsyncCallback<T> implements AsyncCallback<T>{
+/**
+ * AsyncCallback which wraps an other AsyncCallback and checks if an InvalidSessionException was thrown. If so
+ * it will fire an InvalidSessionEvent, if not it will just call the wrapped AsyncCallback
+ */
+public class SessionAsyncCallback<T> implements AsyncCallback<T>{
 
 	private EventBus bus;
 	private User user;
+	private AsyncCallback<T> callBack; 
 	
-	public MyAsyncCallback(EventBus bus,User user) {
+	public SessionAsyncCallback(AsyncCallback<T> callBack, EventBus bus,User user) {
+		this.callBack = callBack;
 		this.bus = bus;
 		this.user = user;
 	}
 	
+	/*
+	 * (non-Javadoc)
+	 * @see com.google.gwt.user.client.rpc.AsyncCallback#onFailure(java.lang.Throwable)
+	 */
 	public void onFailure(Throwable caught) {
 		if (caught instanceof InvalidSessionException) {
-			bus.fireEvent(new LogoutEvent(user));
+			bus.fireEvent(new SessionExpireEvent(user));
+		} else {
+			callBack.onFailure(caught);
 		}
-		GWT.log("Error while executing remote service", caught);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see com.google.gwt.user.client.rpc.AsyncCallback#onSuccess(java.lang.Object)
+	 */
+	public void onSuccess(T result) {
+		callBack.onSuccess(result);
 	}
 
 }

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/AppPresenter.java Sun Sep  6 10:26:11 2009
@@ -27,11 +27,14 @@
 import net.customware.gwt.presenter.client.widget.WidgetDisplay;
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.events.LoginEvent;
 import org.apache.hupa.shared.events.LoginEventHandler;
 import org.apache.hupa.shared.events.LogoutEvent;
 import org.apache.hupa.shared.events.LogoutEventHandler;
+import org.apache.hupa.shared.events.SessionExpireEvent;
+import org.apache.hupa.shared.events.SessionExpireEventHandler;
 import org.apache.hupa.shared.rpc.LoginSession;
 import org.apache.hupa.shared.rpc.LoginUserResult;
 import org.apache.hupa.shared.rpc.LogoutUser;
@@ -112,7 +115,7 @@
 
 					@Override
 					public void run() {
-						dispatcher.execute(new Noop(user.getSessionId()), new AsyncCallback<NoopResult>() {
+						dispatcher.execute(new Noop(user.getSessionId()), new SessionAsyncCallback<NoopResult>(new AsyncCallback<NoopResult>() {
 
 							public void onFailure(Throwable caught) {
 								GWT.log("Error while NOOP", caught);
@@ -121,7 +124,7 @@
 							public void onSuccess(NoopResult result) {
 							}
 							
-						});
+						}, eventBus, user));
 					}
 					
 				};
@@ -154,6 +157,13 @@
 			}
 			
 		}));
+		registerHandler(eventBus.addHandler(SessionExpireEvent.TYPE, new SessionExpireEventHandler() {
+
+			public void onSessionExpireEvent(SessionExpireEvent event) {
+				doLogout();
+			}
+			
+		}));
 		
 		checkForCookie();
 	}

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderPresenter.java Sun Sep  6 10:26:11 2009
@@ -32,6 +32,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetDisplay;
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.client.widgets.IMAPTreeItem;
 import org.apache.hupa.shared.data.IMAPFolder;
@@ -95,7 +96,7 @@
 	}
 
 	protected void loadTreeItems() {
-		dispatcher.execute(new FetchFolders(user.getSessionId()), new DisplayCallback<FetchFoldersResult>(display) {
+		dispatcher.execute(new FetchFolders(user.getSessionId()), new SessionAsyncCallback<FetchFoldersResult>(new DisplayCallback<FetchFoldersResult>(display) {
 
 			@Override
 			protected void handleFailure(Throwable e) {
@@ -112,7 +113,7 @@
 			}
 
 			
-		});
+		},eventBus,user));
 	}
 	
 	
@@ -137,7 +138,7 @@
 						IMAPFolder iFolder = new IMAPFolder((String)event.getOldValue());
 						final String newName = (String)event.getNewValue();
 						if (iFolder.getFullName().equalsIgnoreCase(newName) == false) {
-							dispatcher.execute(new RenameFolder(user.getSessionId(), iFolder, newName), new AsyncCallback<EmptyResult>() {
+							dispatcher.execute(new RenameFolder(user.getSessionId(), iFolder, newName), new SessionAsyncCallback<EmptyResult>(new AsyncCallback<EmptyResult>() {
 
 								public void onFailure(Throwable caught) {
 									record.cancelEdit();
@@ -147,7 +148,7 @@
 									folder.setFullName(newName);
 								}
 								
-							});
+							},eventBus,user));
 						}
 
 					}

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java Sun Sep  6 10:26:11 2009
@@ -28,7 +28,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetDisplay;
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
-import org.apache.hupa.client.MyAsyncCallback;
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.Message;
@@ -105,7 +105,7 @@
 
 			public void onMoveMessageHandler(MoveMessageEvent event) {
 				final Message message = event.getMessage();
-				dispatcher.execute(new MoveMessage(event.getUser().getSessionId(),event.getOldFolder(),event.getNewFolder(),message.getUid()), new AsyncCallback<MoveMessageResult>() {
+				dispatcher.execute(new MoveMessage(event.getUser().getSessionId(),event.getOldFolder(),event.getNewFolder(),message.getUid()), new SessionAsyncCallback<MoveMessageResult>(new AsyncCallback<MoveMessageResult>() {
 
 					public void onFailure(Throwable caught) {
 						GWT.log("ERROR while moving",caught);
@@ -117,7 +117,7 @@
 						display.removeMessages(messageArray);
 					}
 					
-				});
+				},eventBus,user));
 			}
 			
 		}));
@@ -177,14 +177,18 @@
 		for (int i = 0; i < selectedMessages.size(); i++) {
 			uids.add(selectedMessages.get(i).getUid());
 		}
-		dispatcher.execute(new DeleteMessage(user.getSessionId(),folder,uids), new MyAsyncCallback<DeleteMessageResult>(eventBus,user) {
+		dispatcher.execute(new DeleteMessage(user.getSessionId(),folder,uids), new SessionAsyncCallback<DeleteMessageResult>(new AsyncCallback<DeleteMessageResult>() {
+
+			public void onFailure(Throwable caught) {
+				// TODO Auto-generated method stub
+				
+			}
 
 			public void onSuccess(DeleteMessageResult result) {
 				display.removeMessages(selectedMessages);
 				eventBus.fireEvent(new DecreaseUnseenEvent(user,folder,result.getMessageUids().size()));
 			}
-			
-		});
+		}, eventBus,user));
 	}
 	
 	public void bind(User user, IMAPFolder folder, String searchValue) {

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java Sun Sep  6 10:26:11 2009
@@ -30,7 +30,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
 import org.apache.hupa.client.CachingDispatchAsync;
-import org.apache.hupa.client.MyAsyncCallback;
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.client.widgets.HasDialog;
 import org.apache.hupa.shared.Util;
 import org.apache.hupa.shared.data.IMAPFolder;
@@ -50,6 +50,7 @@
 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.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.HasHTML;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.inject.Inject;
@@ -127,13 +128,18 @@
 			public void onClick(ClickEvent event) {
 				ArrayList<Long> uidList = new ArrayList<Long>();
 				uidList.add(message.getUid());
-				dispatcher.execute(new DeleteMessage(user.getSessionId(),folder,uidList), new MyAsyncCallback<DeleteMessageResult>(eventBus,user) {
+				dispatcher.execute(new DeleteMessage(user.getSessionId(),folder,uidList), new SessionAsyncCallback<DeleteMessageResult>(new AsyncCallback<DeleteMessageResult>() {
+
+					public void onFailure(Throwable caught) {
+						// TODO Auto-generated method stub
+						
+					}
 
 					public void onSuccess(DeleteMessageResult result) {
 						eventBus.fireEvent(new LoadMessagesEvent(user,folder));
 					}
 					
-				});
+				}, eventBus,user));
 			}
 			
 		}));
@@ -171,7 +177,7 @@
 		registerHandler(display.getShowRawMessageClick().addClickHandler(new ClickHandler() {
 
 			public void onClick(ClickEvent event) {
-				dispatcher.executeWithCache(new RawMessage(user.getSessionId(),folder,message.getUid()), new DisplayCallback<RawMessageResult>(display) {
+				dispatcher.executeWithCache(new RawMessage(user.getSessionId(),folder,message.getUid()), new SessionAsyncCallback<RawMessageResult>(new DisplayCallback<RawMessageResult>(display) {
 
 					@Override
 					protected void handleFailure(Throwable e) {
@@ -186,7 +192,7 @@
 					}
 
 					
-				});
+				},eventBus,user));
 			}
 			
 		}));

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/LoginPresenter.java Sun Sep  6 10:26:11 2009
@@ -29,6 +29,8 @@
 
 import org.apache.hupa.client.HupaConstants;
 import org.apache.hupa.shared.events.LoginEvent;
+import org.apache.hupa.shared.events.SessionExpireEvent;
+import org.apache.hupa.shared.events.SessionExpireEventHandler;
 import org.apache.hupa.shared.rpc.LoginUser;
 import org.apache.hupa.shared.rpc.LoginUserResult;
 
@@ -116,6 +118,14 @@
 			}
 			
 		}));
+		
+		registerHandler(eventBus.addHandler(SessionExpireEvent.TYPE, new SessionExpireEventHandler() {
+
+			public void onSessionExpireEvent(SessionExpireEvent event) {
+				display.getErrorText().setText(constants.sessionTimedOut());
+			}
+			
+		}));
 	}
 
 	@Override

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java Sun Sep  6 10:26:11 2009
@@ -29,6 +29,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
 import org.apache.hupa.client.CachingDispatchAsync;
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.client.mvp.MessageSendPresenter.Type;
 import org.apache.hupa.shared.data.IMAPFolder;
 import org.apache.hupa.shared.data.Message;
@@ -206,7 +207,7 @@
 				} else {
 					decreaseUnseen = false;
 				}
-				cachingDispatcher.executeWithCache(new GetMessageDetails(event.getUser().getSessionId(),event.getFolder(),message.getUid()), new DisplayCallback<GetMessageDetailsResult>(display) {
+				cachingDispatcher.executeWithCache(new GetMessageDetails(event.getUser().getSessionId(),event.getFolder(),message.getUid()), new SessionAsyncCallback<GetMessageDetailsResult>(new DisplayCallback<GetMessageDetailsResult>(display) {
 
 					@Override
 					protected void handleFailure(Throwable e) {
@@ -224,7 +225,7 @@
 					}
 
 					
-				});
+				}, eventBus, user));
 			}
 			
 		}));

Modified: labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=811798&r1=811797&r2=811798&view=diff
==============================================================================
--- labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java (original)
+++ labs/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java Sun Sep  6 10:26:11 2009
@@ -28,7 +28,7 @@
 import net.customware.gwt.presenter.client.widget.WidgetDisplay;
 import net.customware.gwt.presenter.client.widget.WidgetPresenter;
 
-import org.apache.hupa.client.MyAsyncCallback;
+import org.apache.hupa.client.SessionAsyncCallback;
 import org.apache.hupa.client.validation.EmailListValidator;
 import org.apache.hupa.client.validation.NotEmptyValidator;
 import org.apache.hupa.shared.Util;
@@ -55,6 +55,7 @@
 import com.google.gwt.event.dom.client.HasClickHandlers;
 import com.google.gwt.event.logical.shared.ValueChangeEvent;
 import com.google.gwt.event.logical.shared.ValueChangeHandler;
+import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.inject.Inject;
 
@@ -190,34 +191,49 @@
 					message.setMessageAttachments(aList);
 				
 					if (type.equals(Type.NEW)) {
-						dispatcher.execute(new SendMessage(user.getSessionId(),message), new MyAsyncCallback<EmptyResult>(eventBus,user) {
+						dispatcher.execute(new SendMessage(user.getSessionId(),message), new SessionAsyncCallback<EmptyResult>(new AsyncCallback<EmptyResult>() {
+
+							public void onFailure(Throwable caught) {
+								// TODO Auto-generated method stub
+								
+							}
 
 							public void onSuccess(EmptyResult result) {
 								reset();
 								eventBus.fireEvent(new SentMessageEvent());
 							}
-						
-						});
+							
+						}, eventBus,user));
 					} else if(type.equals(Type.FORWARD)) {
-						dispatcher.execute(new ForwardMessage(user.getSessionId(),message,folder,oldmessage.getUid()), new MyAsyncCallback<EmptyResult>(eventBus,user) {
+						dispatcher.execute(new ForwardMessage(user.getSessionId(),message,folder,oldmessage.getUid()), new SessionAsyncCallback<EmptyResult>(new AsyncCallback<EmptyResult>() {
+
+							public void onFailure(Throwable caught) {
+								// TODO Auto-generated method stub
+								
+							}
 
 							public void onSuccess(EmptyResult result) {
 								reset();
 								eventBus.fireEvent(new SentMessageEvent());
 							}
-						
-						});
+							
+						}, eventBus,user));
 					} else if(type.equals(Type.REPLY) || type.equals(Type.REPLY_ALL)) {
 					
 						boolean replyAll = type.equals(Type.REPLY_ALL);
-						dispatcher.execute(new ReplyMessage(user.getSessionId(),message,folder,oldmessage.getUid(),replyAll), new MyAsyncCallback<EmptyResult>(eventBus,user) {
+						dispatcher.execute(new ReplyMessage(user.getSessionId(),message,folder,oldmessage.getUid(),replyAll),new SessionAsyncCallback<EmptyResult>(new AsyncCallback<EmptyResult>() {
+
+							public void onFailure(Throwable caught) {
+								// TODO Auto-generated method stub
+								
+							}
 
 							public void onSuccess(EmptyResult result) {
 								reset();
 								eventBus.fireEvent(new SentMessageEvent());
 							}
-						
-						});
+							
+						}, eventBus,user));
 					
 					}
 				}

Added: labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEvent.java?rev=811798&view=auto
==============================================================================
--- labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEvent.java (added)
+++ labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEvent.java Sun Sep  6 10:26:11 2009
@@ -0,0 +1,47 @@
+/****************************************************************
+ * 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.events;
+
+import org.apache.hupa.shared.data.User;
+
+import com.google.gwt.event.shared.GwtEvent;
+
+public class SessionExpireEvent extends GwtEvent<SessionExpireEventHandler>{
+
+	public final static Type<SessionExpireEventHandler> TYPE = new Type<SessionExpireEventHandler>();
+	private User user;
+	@Override
+	protected void dispatch(SessionExpireEventHandler handler) {
+		handler.onSessionExpireEvent(this);
+	}
+
+	@Override
+	public com.google.gwt.event.shared.GwtEvent.Type<SessionExpireEventHandler> getAssociatedType() {
+		return TYPE;
+	}
+	
+	public SessionExpireEvent(User user) {
+		this.user = user;
+	}
+	
+	public User getUser() {
+		return user;
+	}
+}

Added: labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEventHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEventHandler.java?rev=811798&view=auto
==============================================================================
--- labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEventHandler.java (added)
+++ labs/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/events/SessionExpireEventHandler.java Sun Sep  6 10:26:11 2009
@@ -0,0 +1,27 @@
+/****************************************************************
+ * 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.events;
+
+import com.google.gwt.event.shared.EventHandler;
+
+public interface SessionExpireEventHandler extends EventHandler{
+
+	public void onSessionExpireEvent(SessionExpireEvent event);
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org