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 06:18:58 UTC
svn commit: r1522329 - in
/james/hupa/trunk/client/src/main/java/org/apache/hupa/client: ./ activity/
ioc/ mapper/ place/ ui/
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org