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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to