Author: dongxu
Date: Thu Sep 12 04:18:58 2013
New Revision: 1522329

URL: http://svn.apache.org/r1522329
Log:
fixed issue#46 and issue#32

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/AppBaseActivity.java
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.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/TopBarActivity.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/mapper/TopBarActivityMapper.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/TopBarView.java

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -69,6 +69,8 @@ import org.apache.hupa.client.rf.HupaReq
 import org.apache.hupa.client.ui.HupaLayoutable;
 import org.apache.hupa.client.ui.LoginLayoutable;
 import org.apache.hupa.client.ui.LoginView;
+import org.apache.hupa.shared.domain.User;
+import org.apache.hupa.shared.events.LoginEvent;
 
 >>>>>>> move new theme ui from experiment to hupa evo
 import com.google.gwt.dom.client.StyleInjector;
@@ -113,14 +115,16 @@ import com.google.web.bindery.requestfac
 
 public class HupaController {
 
-       @Inject private PlaceHistoryHandler placeHistoryHandler;
+       private PlaceController placeController;
+       private PlaceHistoryHandler placeHistoryHandler;
        @Inject private HupaLayoutable hupaLayout;
-       @Inject private PlaceController placeController;
        @Inject private HupaRequestFactory requestFactory;
        @Inject private LoginLayoutable loginLayout;
+       private EventBus eventBus;
 
        @Inject
 <<<<<<< HEAD
+<<<<<<< HEAD
        public HupaController(EventBus eventBus) {
 >>>>>>> move new theme ui from experiment to hupa evo
 =======
@@ -131,6 +135,15 @@ public class HupaController {
 =======
                        ActivityManagerInitializer 
initializeActivityManagerByGin) {
 >>>>>>> use GinFactoryModuleBuilder to inject multiple displayable instances 
 >>>>>>> of some activities
+=======
+       public HupaController(PlaceController placeController,
+                       PlaceHistoryHandler placeHistoryHandler,
+                       EventBus eventBus, 
+                       ActivityManagerInitializer 
initializeActivityManagerByGin) {
+               this.placeController = placeController;
+               this.placeHistoryHandler = placeHistoryHandler;
+               this.eventBus = eventBus;
+>>>>>>> fixed issue#46 and issue#32
                eventBus.addHandler(PlaceChangeEvent.TYPE, new 
PlaceChangHandler());
        }
 
@@ -268,7 +281,6 @@ public class HupaController {
 =======
 >>>>>>> cope with issue #36, the default place and and the mail folder place, 
 >>>>>>> we would always come up with the default place whenever giving a empty 
 >>>>>>> string token
                placeHistoryHandler.handleCurrentHistory();
-               checkSession();
        }
 
        private void bindCss() {
@@ -281,6 +293,7 @@ public class HupaController {
                @Override
                public void onPlaceChange(PlaceChangeEvent event) {
                        adjustLayout(event);
+                       checkSession();
                }
        }
 
@@ -298,15 +311,16 @@ public class HupaController {
 =======
        private void checkSession() {
                CheckSessionRequest checkSession = 
requestFactory.sessionRequest();
-               checkSession.isValid().fire(new Receiver<Boolean>() {
+               checkSession.getUser().fire(new Receiver<User>() {
                        @Override
-                       public void onSuccess(Boolean sessionValid) {
-                               if (!sessionValid) {
+                       public void onSuccess(User user) {
+                               if (user == null) {
                                        RootLayoutPanel.get().clear();
                                        
RootLayoutPanel.get().add(loginLayout.get());
                                } else {
                                        RootLayoutPanel.get().clear();
                                        
RootLayoutPanel.get().add(hupaLayout.get());
+                    eventBus.fireEvent(new LoginEvent(user));
                                }
                        }
 
@@ -316,6 +330,24 @@ public class HupaController {
                                RootLayoutPanel.get().add(loginLayout.get());
                        }
                });
+//             checkSession.isValid().fire(new Receiver<Boolean>() {
+//                     @Override
+//                     public void onSuccess(Boolean sessionValid) {
+//                             if (!sessionValid) {
+//                                     RootLayoutPanel.get().clear();
+//                                     
RootLayoutPanel.get().add(loginLayout.get());
+//                             } else {
+//                                     RootLayoutPanel.get().clear();
+//                                     
RootLayoutPanel.get().add(hupaLayout.get());
+//                             }
+//                     }
+//
+//                     @Override
+//                     public void onFailure(ServerFailure error) {
+//                             RootLayoutPanel.get().clear();
+//                             RootLayoutPanel.get().add(loginLayout.get());
+//                     }
+//             });
        }
 >>>>>>> integrate them as a whole one - first: make the default place work
 }

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/AppBaseActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/AppBaseActivity.java?rev=1522329&r1=1522328&r2=1522329&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/AppBaseActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/AppBaseActivity.java
 Thu Sep 12 04:18:58 2013
@@ -111,6 +111,10 @@ public abstract class AppBaseActivity ex
                registrations.add(handlerRegistration);
        }
 
+       public String mayStop() {
+               return null;
+       }
+
        public void onCancel() {
        }
 >>>>>>> scrub code

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522329&r1=1522328&r2=1522329&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 Thu Sep 12 04:18:58 2013
@@ -67,6 +67,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.hupa.client.place.ComposePlace;
+import org.apache.hupa.client.place.DefaultPlace;
 import org.apache.hupa.client.rf.SendForwardMessageRequest;
 import org.apache.hupa.client.rf.SendMessageRequest;
 import org.apache.hupa.client.rf.SendReplyMessageRequest;
@@ -135,6 +136,7 @@ public class ComposeActivity extends App
        private List<MessageAttachment> attachments = new 
ArrayList<MessageAttachment>();
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
        private Type type = Type.NEW;
 <<<<<<< HEAD
 >>>>>>> make send text mail work excellently
@@ -146,6 +148,9 @@ public class ComposeActivity extends App
 =======
        static private User user;
 >>>>>>> beautify the multiuploader
+=======
+       private User user;
+>>>>>>> fixed issue#46 and issue#32
        private ComposePlace place;
 >>>>>>> coping with reply and forward sending message
 
@@ -412,6 +417,24 @@ public class ComposeActivity extends App
                bindTo(eventBus);
                fillHeader();
        }
+       
+       @Override
+       public String mayStop(){
+               super.mayStop();
+               return null;
+//             return "Do you want to leave this page?";
+       }
+       
+       @Override
+       public void onStop(){
+               super.onStop();
+//             placeController.goTo(new DefaultPlace("@"));
+       }
+       
+       @Override
+       public void onCancel(){
+               
+       }
 
        private void fillHeader() {
                if (place == null)

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -485,7 +485,8 @@ public class LoginActivity extends Abstr
                        public void onSuccess(User response) {
                                RootLayoutPanel.get().clear();
                                RootLayoutPanel.get().add(hupaLayout.get());
-                               placeController.goTo(new 
MailFolderPlace(response.getSettings().getDraftsFolderName()));
+//                             placeController.goTo(new 
MailFolderPlace(response.getSettings().getDraftsFolderName()));
+                               placeController.goTo(new 
MailFolderPlace(response));
                                eventBus.fireEvent(new LoginEvent(response));
                                display.setLoading(false);
                        }

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -168,26 +168,45 @@ public class TopBarActivity extends AppB
 
        @Override
        public void start(AcceptsOneWidget container, EventBus eventBus) {
-               eventBus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
-                       public void onLogin(LoginEvent event) {
-                               user = event.getUser();
-                       }
-               });
                container.setWidget(display.asWidget());
                bindTo(eventBus);
-               if (user != null && !isOccupied()) {
-                       display.getUserLabel().add(new HTML(user.getName()));
+               if (isNotOccupied()) {
+                       try {
+                               checkSessionUser();
+                       } catch (Exception e) {
+                               e.printStackTrace();
+                       }
                }
+
        }
 
 <<<<<<< HEAD
+<<<<<<< HEAD
        @Inject private Displayable display;
        
        public interface Displayable extends WidgetDisplayable {}
 >>>>>>> integrate all of the views to their corresponding activities and 
 >>>>>>> mappers
 =======
+=======
+       private void checkSessionUser() {
+               CheckSessionRequest checkSession = 
requestFactory.sessionRequest();
+               checkSession.getUser().fire(new Receiver<User>() {
+                       @Override
+                       public void onSuccess(User user) {
+                               if (user != null) {
+                                       display.getUserLabel().add(new 
HTML(user.getName()));
+                                       eventBus.fireEvent(new 
LoginEvent(user));
+                               }
+                       }
+               });
+       }
+>>>>>>> fixed issue#46 and issue#32
        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();
@@ -217,13 +236,13 @@ public class TopBarActivity extends AppB
                }
        }
 
-       private boolean isOccupied() {
+       private boolean isNotOccupied() {
                return display.getUserLabel().getWidgetCount() < 1;
        }
 
        public interface Displayable extends WidgetDisplayable {
                HasClickHandlers getLogoutClick();
-
+               void showUserName(String userName);
                HTMLPanel getUserLabel();
        }
 >>>>>>> add logout support

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -162,6 +162,7 @@ import org.apache.hupa.client.mapper.App
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.client.mapper.CachingTopActivityMapper;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -213,6 +214,9 @@ import org.apache.hupa.client.mapper.Com
 >>>>>>> make compose panel managed by activity manager, there is a problem 
 >>>>>>> here that whether the hidden view will be lazy loaded regarding the 
 >>>>>>> code split mechnism
 =======
 =======
+=======
+import org.apache.hupa.client.mapper.CachingTopBarActivityMapper;
+>>>>>>> fixed issue#46 and issue#32
 import org.apache.hupa.client.mapper.ComposeActivityMapper;
 >>>>>>> make send text mail work excellently
 import org.apache.hupa.client.mapper.ComposeToolBarActivityMapper;
@@ -326,6 +330,7 @@ public class AppGinModule extends Abstra
                // Activities
                bind(LoginActivity.Displayable.class).to(LoginView.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
                
bind(TopBarActivity.Displayable.class).to(TopBarView.class).in(Singleton.class);
                
bind(LogoActivity.Displayable.class).to(LogoView.class).in(Singleton.class);
                
bind(NotificationActivity.Displayable.class).to(NotificationView.class).in(Singleton.class);
@@ -501,6 +506,10 @@ public class AppGinModule extends Abstra
 =======
                bind(TopBarActivity.Displayable.class).to(TopBarView.class);
                bind(LogoActivity.Displayable.class).to(LogoView.class);
+=======
+               
bind(TopBarActivity.Displayable.class).to(TopBarView.class).in(Singleton.class);
+               
bind(LogoActivity.Displayable.class).to(LogoView.class).in(Singleton.class);
+>>>>>>> fixed issue#46 and issue#32
                
bind(NavigationActivity.Displayable.class).to(NavigationView.class);
                bind(ToolBarActivity.Displayable.class).to(ToolBarView.class);
                // 
bind(FolderListActivity.Displayable.class).to(FolderListView.class);
@@ -641,7 +650,7 @@ public class AppGinModule extends Abstra
        @Provides
        @Singleton
        @Named("TopBarRegion")
-       public ActivityManager getTopBarActivityMapper(TopBarActivityMapper 
activityMapper, EventBus eventBus) {
+       public ActivityManager 
getTopBarActivityMapper(CachingTopBarActivityMapper activityMapper, EventBus 
eventBus) {
                return new ActivityManager(activityMapper, eventBus);
        }
 

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/TopBarActivityMapper.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/TopBarActivityMapper.java?rev=1522329&r1=1522328&r2=1522329&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/TopBarActivityMapper.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mapper/TopBarActivityMapper.java
 Thu Sep 12 04:18:58 2013
@@ -79,8 +79,12 @@ public class TopBarActivityMapper extend
 =======
 =======
        @Override
+<<<<<<< HEAD
        Activity getAppActivity(Place place) {
 >>>>>>> try to fix some issues by reorganize the activity mapper and place 
 >>>>>>> controller
+=======
+       Activity getAppActivity(final Place place) {
+>>>>>>> fixed issue#46 and issue#32
                return new ActivityAsyncProxy() {
                        @Override
                        protected void doAsync(RunAsyncCallback callback) {

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -19,11 +19,14 @@
 
 package org.apache.hupa.client.place;
 
+import org.apache.hupa.shared.domain.User;
+
 import com.google.gwt.place.shared.PlaceTokenizer;
 import com.google.gwt.place.shared.Prefix;
 
 public class MailFolderPlace extends AbstractPlace {
 
+       private User user;
        private String uid;
        private String fullName;
        private static final String DELIMITER = "/";
@@ -43,6 +46,16 @@ public class MailFolderPlace extends Abs
                }
        }
 
+       public MailFolderPlace(User user) {
+               String token = user.getSettings().getInboxFolderName();
+               if (isMessagePlace(token)) {
+                       initPlace4Message(token);
+               } else {
+                       initPlace4Folder(token);
+               }
+               this.user = user;
+       }
+
        private boolean isMessagePlace(String token) {
                return token.contains(DELIMITER) && isEndWIthDigit(token);
        }
@@ -69,6 +82,9 @@ public class MailFolderPlace extends Abs
                return fullName;
        }
 
+       public User getUser(){
+               return user;
+       }
        // the main place use empty string such that colon'd disappear
        @Prefix("")
        public static class Tokenizer implements 
PlaceTokenizer<MailFolderPlace> {

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=1522329&r1=1522328&r2=1522329&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 04:18:58 2013
@@ -141,6 +141,11 @@ public class TopBarView extends Composit
        public HTMLPanel getUserLabel() {
                return userLabel;
        }
+       
+       @Override
+       public void showUserName(String userName){
+               userLabel.add(new HTML(userName));
+       }
 
        interface TopBarUiBinder extends UiBinder<DockLayoutPanel, TopBarView> {
        }



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

Reply via email to