Merge branch 'design2015-user-management' of ssh://sapsailing.com/home/trac/git into design2015-user-management

This commit is contained in:
Papick Garcia Taboada
2016-01-12 10:00:12 +01:00
33 changed files with 85 additions and 97 deletions
@@ -10,18 +10,15 @@ import com.sap.sailing.gwt.home.desktop.places.sponsoring.SponsoringClientFactor
import com.sap.sailing.gwt.home.desktop.places.start.StartClientFactory;
import com.sap.sailing.gwt.home.desktop.places.user.profile.UserProfileClientFactory;
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewClientFactory;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.places.error.ErrorClientFactory;
import com.sap.sailing.gwt.home.shared.places.searchresult.SearchResultClientFactory;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationClientFactory;
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
public interface DesktopClientFactory extends AboutUsClientFactory, ContactClientFactory, EventClientFactory,
EventsClientFactory, StartClientFactory, SponsoringClientFactory, SolutionsClientFactory,
SearchResultClientFactory, WhatsNewClientFactory, SeriesClientFactory, UserProfileClientFactory,
ErrorClientFactory, ClientFactoryWithUserManagementContext, ClientFactoryWithUserManagementService,
ConfirmationClientFactory, PasswordResetClientFactory {
ErrorClientFactory, UserManagementClientFactory, PasswordResetClientFactory {
DesktopPlacesNavigator getHomePlacesNavigator();
@@ -19,8 +19,6 @@ import com.sap.sailing.gwt.home.desktop.places.whatsnew.TabletAndDesktopWhatsNew
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewPlace.WhatsNewNavigationTabs;
import com.sap.sailing.gwt.home.desktop.places.whatsnew.WhatsNewView;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.app.UserManagementContextImpl;
import com.sap.sailing.gwt.home.shared.framework.WrappedPlaceManagementController;
import com.sap.sailing.gwt.home.shared.partials.busy.BusyViewImpl;
import com.sap.sailing.gwt.home.shared.places.searchresult.SearchResultView;
@@ -34,6 +32,8 @@ import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementContextEvent
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementPlaceManagementController;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementPlaceManagementController.SignInSuccessfulEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementRequestEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContextImpl;
import com.sap.sailing.gwt.home.shared.usermanagement.info.LoggedInUserInfoPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.view.UserManagementViewDesktop;
import com.sap.sailing.gwt.ui.client.refresh.BusyView;
@@ -75,7 +75,7 @@ public class TabletAndDesktopApplicationClientFactory extends AbstractApplicatio
});
final UserManagementViewDesktop userManagementDisplay = new UserManagementViewDesktop();
this.userManagementWizardController = new UserManagementPlaceManagementController<TabletAndDesktopApplicationClientFactory>(
this.userManagementWizardController = new UserManagementPlaceManagementController(
this, getHomePlacesNavigator().getMailVerifiedConfirmationNavigation(),
getHomePlacesNavigator().getPasswordResetNavigation(),
getHomePlacesNavigator().getUserProfileNavigation(), userManagementDisplay, getEventBus());
@@ -160,7 +160,7 @@ public class TabletAndDesktopApplicationClientFactory extends AbstractApplicatio
}
@Override
public void resetUserManagementContext() {
public void didLogout() {
uCtx = new UserManagementContextImpl();
securityProvider.getUserService().updateUser(true);
getEventBus().fireEvent(new UserManagementRequestEvent());
@@ -6,7 +6,7 @@ import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
public class UserHeader extends Composite {
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
@@ -11,7 +11,7 @@ import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sse.security.ui.client.i18n.StringMessages;
import com.sap.sse.security.ui.shared.UserDTO;
@@ -14,8 +14,8 @@ import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.desktop.partials.userHeader.UserHeader;
import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.ui.client.StringMessages;
public class TabletAndDesktopUserProfileView extends Composite implements UserProfileView<AbstractUserProfilePlace, UserProfileView.Presenter> {
@@ -1,6 +1,6 @@
package com.sap.sailing.gwt.home.desktop.places.user.profile;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.ui.client.SailingClientFactory;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
@@ -1,8 +1,8 @@
package com.sap.sailing.gwt.home.desktop.places.user.profile;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
public interface UserProfileTabView<PLACE extends AbstractUserProfilePlace> extends TabView<PLACE, UserProfileView.Presenter> {
@@ -6,10 +6,10 @@ import com.google.gwt.user.client.ui.IsWidget;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.home.desktop.partials.useraccountDetails.UserAccountDetails;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.places.fakeseries.AbstractSeriesPlace;
import com.sap.sailing.gwt.home.shared.places.start.StartPlace;
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.decorator.NotLoggedInPresenter;
public interface UserProfileView<PLACE extends AbstractUserProfilePlace, PRES extends UserProfileView.Presenter> extends IsWidget {
@@ -10,8 +10,8 @@ import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.home.desktop.partials.useraccountDetails.UserAccountDetails;
import com.sap.sailing.gwt.home.desktop.places.user.profile.UserProfileTabView;
import com.sap.sailing.gwt.home.desktop.places.user.profile.UserProfileView;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.places.user.profile.UserProfileDetailsPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.decorator.AuthorizedContentDecoratorDesktop;
/**
@@ -10,17 +10,12 @@ import com.sap.sailing.gwt.home.communication.SailingDispatchSystemImpl;
import com.sap.sailing.gwt.home.desktop.app.ApplicationTopLevelView;
import com.sap.sailing.gwt.home.mobile.places.error.ErrorViewImpl;
import com.sap.sailing.gwt.home.mobile.places.searchresult.SearchResultViewImpl;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.app.ResettableNavigationPathDisplay;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.app.UserManagementContextImpl;
import com.sap.sailing.gwt.home.shared.partials.busy.BusyViewImpl;
import com.sap.sailing.gwt.home.shared.places.searchresult.SearchResultClientFactory;
import com.sap.sailing.gwt.home.shared.places.searchresult.SearchResultView;
import com.sap.sailing.gwt.home.shared.places.start.StartPlace;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationClientFactory;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationView;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationViewImpl;
@@ -29,6 +24,9 @@ import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetVi
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetViewImpl;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementContextEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementRequestEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContextImpl;
import com.sap.sailing.gwt.ui.client.refresh.BusyView;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
import com.sap.sse.gwt.client.mvp.ErrorView;
@@ -48,8 +46,7 @@ import com.sap.sse.security.ui.shared.UserDTO;
*/
public class MobileApplicationClientFactory extends
SecureClientFactoryImpl<ApplicationTopLevelView<ResettableNavigationPathDisplay>> implements
ErrorAndBusyClientFactory, SearchResultClientFactory, ClientFactoryWithUserManagementContext,
ClientFactoryWithUserManagementService, ConfirmationClientFactory, PasswordResetClientFactory {
ErrorAndBusyClientFactory, SearchResultClientFactory, UserManagementClientFactory, PasswordResetClientFactory {
private final MobilePlacesNavigator navigator;
private final SailingDispatchSystem dispatch = new SailingDispatchSystemImpl();
private WithSecurity securityProvider;
@@ -90,12 +87,12 @@ public class MobileApplicationClientFactory extends
getUserManagementService().logout(new AsyncCallback<SuccessInfo>() {
@Override
public void onSuccess(SuccessInfo result) {
resetUserManagementContext();
didLogout();
}
@Override
public void onFailure(Throwable caught) {
resetUserManagementContext();
didLogout();
}
});
}
@@ -141,7 +138,7 @@ public class MobileApplicationClientFactory extends
}
@Override
public void resetUserManagementContext() {
public void didLogout() {
uCtx = new UserManagementContextImpl();
securityProvider.getUserService().updateUser(true);
getEventBus().fireEvent(new UserManagementRequestEvent());
@@ -10,7 +10,7 @@ import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sse.security.ui.client.i18n.StringMessages;
import com.sap.sse.security.ui.shared.UserDTO;
@@ -7,7 +7,7 @@ import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sse.security.ui.shared.UserDTO;
public class UserHeader extends Composite {
@@ -23,7 +23,7 @@ public class AuthenticationActivity extends AbstractActivity {
public void start(final AcceptsOneWidget panel, EventBus eventBus) {
panel.setWidget(userManagementView);
WrappedPlaceManagementController userManagementController =
new UserManagementPlaceManagementController<MobileApplicationClientFactory>(clientFactory,
new UserManagementPlaceManagementController(clientFactory,
clientFactory.getNavigator().getMailVerifiedConfirmationNavigation(),
clientFactory.getNavigator().getPasswordResetNavigation(), clientFactory
.getNavigator().getUserProfileNavigation(), userManagementView, eventBus);
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.home.mobile.places.user.profile;
import com.google.gwt.user.client.ui.IsWidget;
import com.sap.sailing.gwt.home.mobile.partials.userdetails.UserDetails;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.decorator.NotLoggedInPresenter;
public interface UserProfileDetailsView extends IsWidget {
@@ -7,7 +7,7 @@ import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.mobile.partials.userdetails.UserDetails;
import com.sap.sailing.gwt.home.mobile.partials.userheader.UserHeader;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.decorator.AuthorizedContentDecoratorMobile;
public class UserProfileDetailsViewImpl extends Composite implements UserProfileDetailsView {
@@ -70,11 +70,11 @@ public class ExperimentalFeatures {
/**
* Enables/disables user management on desktop by showing/hiding the respective menu in the upper right corner.
*/
public static final boolean SHOW_USER_MANAGEMENT_ON_DESKTOP = false;
public static final boolean SHOW_USER_MANAGEMENT_ON_DESKTOP = true;
/**
* Enables/disables user management on mobile UI by showing/hiding the respective menu item(s) in the upper right menu.
*/
public static final boolean SHOW_USER_MANAGEMENT_ON_MOBILE = false;
public static final boolean SHOW_USER_MANAGEMENT_ON_MOBILE = true;
/**
* Provide buttons for user management login via social services like facebook or google.
*/
@@ -1,9 +0,0 @@
package com.sap.sailing.gwt.home.shared.app;
import com.sap.sse.security.ui.client.UserManagementServiceAsync;
import com.sap.sse.security.ui.shared.UserDTO;
public interface ClientFactoryWithUserManagementService {
UserManagementServiceAsync getUserManagement();
void didLogin(UserDTO user);
}
@@ -4,15 +4,16 @@ import com.google.gwt.activity.shared.AbstractActivity;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
import com.sap.sse.security.ui.client.i18n.StringMessages;
public class ConfirmationActivity extends AbstractActivity implements ConfirmationView.Presenter {
private final ConfirmationPlace place;
private final ConfirmationClientFactory clientFactory;
private final UserManagementClientFactory clientFactory;
private final StringMessages i18n_sec = StringMessages.INSTANCE;
public ConfirmationActivity(ConfirmationPlace place, ConfirmationClientFactory clientFactory) {
public ConfirmationActivity(ConfirmationPlace place, UserManagementClientFactory clientFactory) {
this.place = place;
this.clientFactory = clientFactory;
}
@@ -1,13 +1,14 @@
package com.sap.sailing.gwt.home.shared.places.user.confirmation;
import com.google.gwt.core.client.GWT;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sse.gwt.client.mvp.AbstractActivityProxy;
public class ConfirmationActivityProxy extends AbstractActivityProxy {
private final ConfirmationPlace place;
private final ConfirmationClientFactory clientFactory;
private final UserManagementClientFactory clientFactory;
public ConfirmationActivityProxy(ConfirmationPlace place, ConfirmationClientFactory clientFactory) {
public ConfirmationActivityProxy(ConfirmationPlace place, UserManagementClientFactory clientFactory) {
this.place = place;
this.clientFactory = clientFactory;
}
@@ -1,9 +1,8 @@
package com.sap.sailing.gwt.home.shared.places.user.confirmation;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
public interface ConfirmationClientFactory extends ClientFactoryWithUserManagementService, ErrorAndBusyClientFactory {
public interface ConfirmationClientFactory extends ErrorAndBusyClientFactory {
ConfirmationView createAccountConfirmationView(String message);
}
@@ -1,11 +1,11 @@
package com.sap.sailing.gwt.home.shared.places.user.passwordreset;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.ui.client.refresh.ErrorAndBusyClientFactory;
public interface PasswordResetClientFactory extends ClientFactoryWithUserManagementService, ErrorAndBusyClientFactory {
public interface PasswordResetClientFactory extends UserManagementClientFactory, ErrorAndBusyClientFactory {
PasswordResetView createPasswordResetView();
PlaceNavigation<ConfirmationPlace> getPasswordResettedConfirmationNavigation(String username);
}
@@ -2,19 +2,19 @@ package com.sap.sailing.gwt.home.shared.usermanagement;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementPlaceManagementController.SignInSuccessfulEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sse.security.ui.client.i18n.StringMessages;
import com.sap.sse.security.ui.shared.SuccessInfo;
public class AsyncLoginCallback implements AsyncCallback<SuccessInfo> {
private final ClientFactoryWithUserManagementService clientFactory;
private final UserManagementClientFactory clientFactory;
private final ErrorMessageView view;
private final EventBus eventBus;
private final boolean fireSignInSuccessfulEvent;
public AsyncLoginCallback(ClientFactoryWithUserManagementService clientFactory, ErrorMessageView view,
public AsyncLoginCallback(UserManagementClientFactory clientFactory, ErrorMessageView view,
EventBus eventBus, boolean fireSignInSuccessfulEvent) {
this.clientFactory = clientFactory;
this.view = view;
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.home.shared.usermanagement;
import com.google.gwt.event.shared.EventHandler;
import com.google.gwt.event.shared.GwtEvent;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
public class UserManagementContextEvent extends GwtEvent<UserManagementContextEvent.Handler> {
public static final Type<Handler> TYPE = new Type<UserManagementContextEvent.Handler>();
@@ -7,15 +7,13 @@ import com.google.gwt.place.shared.Place;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.web.bindery.event.shared.EventBus;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.framework.WrappedPlaceManagementController;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationActivity;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationClientFactory;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace;
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetPlace;
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.create.CreateAccountActivity;
import com.sap.sailing.gwt.home.shared.usermanagement.create.CreateAccountPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.info.LoggedInUserInfoActivity;
@@ -25,18 +23,15 @@ import com.sap.sailing.gwt.home.shared.usermanagement.recovery.PasswordRecoveryP
import com.sap.sailing.gwt.home.shared.usermanagement.signin.SignInActivity;
import com.sap.sailing.gwt.home.shared.usermanagement.signin.SignInPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.view.UserManagementView;
import com.sap.sse.gwt.client.mvp.ClientFactory;
public class UserManagementPlaceManagementController
<CF extends ClientFactory & ClientFactoryWithUserManagementContext & ClientFactoryWithUserManagementService & ConfirmationClientFactory>
extends WrappedPlaceManagementController {
public class UserManagementPlaceManagementController extends WrappedPlaceManagementController {
public UserManagementPlaceManagementController(CF clientFactory,
public UserManagementPlaceManagementController(UserManagementClientFactory clientFactory,
PlaceNavigation<ConfirmationPlace> createConfirmationNavigation,
PlaceNavigation<PasswordResetPlace> passwordResetPlaceNav,
PlaceNavigation<? extends AbstractUserProfilePlace> userProfileNavigation,
UserManagementView userManagementView, EventBus globalEventBus) {
super(new Configuration<CF>(clientFactory, createConfirmationNavigation, passwordResetPlaceNav, userProfileNavigation, userManagementView));
super(new Configuration(clientFactory, createConfirmationNavigation, passwordResetPlaceNav, userProfileNavigation, userManagementView));
globalEventBus.addHandler(UserManagementContextEvent.TYPE, new UserManagementContextEvent.Handler() {
@Override
public void onUserChangeEvent(UserManagementContextEvent event) {
@@ -45,17 +40,16 @@ public class UserManagementPlaceManagementController
});
}
private static class Configuration
<CF extends ClientFactory & ClientFactoryWithUserManagementContext & ClientFactoryWithUserManagementService & ConfirmationClientFactory>
implements PlaceManagementConfiguration {
private final CF clientFactory;
private static class Configuration implements PlaceManagementConfiguration {
private final UserManagementClientFactory clientFactory;
private final PlaceNavigation<ConfirmationPlace> createConfirmationNavigation;
private final PlaceNavigation<? extends AbstractUserProfilePlace> userProfileNavigation;
private final UserManagementView userManagementView;
private PlaceController placeController;
private final PlaceNavigation<PasswordResetPlace> passwordResetPlaceNav;
public Configuration(CF clientFactory, PlaceNavigation<ConfirmationPlace> createConfirmationNavigation,
public Configuration(UserManagementClientFactory clientFactory,
PlaceNavigation<ConfirmationPlace> createConfirmationNavigation,
PlaceNavigation<PasswordResetPlace> passwordResetPlaceNav,
PlaceNavigation<? extends AbstractUserProfilePlace> userProfileNavigation,
UserManagementView userManagementView) {
@@ -92,9 +86,10 @@ public class UserManagementPlaceManagementController
return new CreateAccountActivity((CreateAccountPlace) placeToUse, clientFactory,
createConfirmationNavigation, placeController);
} else if (placeToUse instanceof PasswordRecoveryPlace) {
return new PasswordRecoveryActivity<CF>((PasswordRecoveryPlace) placeToUse, clientFactory, passwordResetPlaceNav, placeController);
return new PasswordRecoveryActivity((PasswordRecoveryPlace) placeToUse, clientFactory,
passwordResetPlaceNav, placeController);
} else if (placeToUse instanceof LoggedInUserInfoPlace) {
return new LoggedInUserInfoActivity<CF>((LoggedInUserInfoPlace) placeToUse, clientFactory,
return new LoggedInUserInfoActivity((LoggedInUserInfoPlace) placeToUse, clientFactory,
userProfileNavigation, placeController);
} else if (placeToUse instanceof ConfirmationPlace) {
return new ConfirmationActivity((ConfirmationPlace) placeToUse, clientFactory);
@@ -1,8 +1,6 @@
package com.sap.sailing.gwt.home.shared.app;
package com.sap.sailing.gwt.home.shared.usermanagement.app;
public interface ClientFactoryWithUserManagementContext {
UserManagementContext getUserManagementContext();
void resetUserManagementContext();
}
@@ -0,0 +1,13 @@
package com.sap.sailing.gwt.home.shared.usermanagement.app;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationClientFactory;
import com.sap.sse.gwt.client.mvp.ClientFactory;
import com.sap.sse.security.ui.client.UserManagementServiceAsync;
import com.sap.sse.security.ui.shared.UserDTO;
public interface UserManagementClientFactory extends ClientFactory, ClientFactoryWithUserManagementContext, ConfirmationClientFactory {
UserManagementServiceAsync getUserManagement();
void didLogin(UserDTO user);
void didLogout();
}
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.home.shared.app;
package com.sap.sailing.gwt.home.shared.usermanagement.app;
import com.sap.sse.security.ui.shared.UserDTO;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.home.shared.app;
package com.sap.sailing.gwt.home.shared.usermanagement.app;
import java.util.ArrayList;
@@ -6,11 +6,11 @@ import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace.Action;
import com.sap.sailing.gwt.home.shared.usermanagement.AsyncLoginCallback;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.signin.SignInPlace;
import com.sap.sse.security.shared.UserManagementException;
import com.sap.sse.security.ui.client.component.NewAccountValidator;
@@ -19,7 +19,7 @@ import com.sap.sse.security.ui.shared.UserDTO;
public class CreateAccountActivity extends AbstractActivity implements CreateAccountView.Presenter {
private final ClientFactoryWithUserManagementService clientFactory;
private final UserManagementClientFactory clientFactory;
private final PlaceController placeController;
private final CreateAccountView view = new CreateAccountViewImpl();
@@ -28,7 +28,7 @@ public class CreateAccountActivity extends AbstractActivity implements CreateAcc
private final PlaceNavigation<ConfirmationPlace> confirmationPlaceNav;
private EventBus eventBus;
public CreateAccountActivity(CreateAccountPlace place, ClientFactoryWithUserManagementService clientFactory,
public CreateAccountActivity(CreateAccountPlace place, UserManagementClientFactory clientFactory,
PlaceNavigation<ConfirmationPlace> confirmationPlaceNav, PlaceController placeController) {
this.clientFactory = clientFactory;
this.confirmationPlaceNav = confirmationPlaceNav;
@@ -4,7 +4,7 @@ import com.google.gwt.uibinder.client.UiChild;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.shared.app.UserManagementContext;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementContext;
import com.sap.sse.security.ui.client.i18n.StringMessages;
public class AuthorizedContentDecorator extends Composite {
@@ -5,24 +5,21 @@ import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementContext;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.places.user.profile.AbstractUserProfilePlace;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementContextEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementRequestEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.signin.SignInPlace;
import com.sap.sse.gwt.client.mvp.ClientFactory;
import com.sap.sse.security.ui.shared.SuccessInfo;
public class LoggedInUserInfoActivity<CF extends ClientFactory & ClientFactoryWithUserManagementService & ClientFactoryWithUserManagementContext>
extends AbstractActivity implements LoggedInUserInfoView.Presenter {
public class LoggedInUserInfoActivity extends AbstractActivity implements LoggedInUserInfoView.Presenter {
private final CF clientFactory;
private final UserManagementClientFactory clientFactory;
private final PlaceNavigation<? extends AbstractUserProfilePlace> userProfileNavigation;
private final PlaceController placeController;
public LoggedInUserInfoActivity(LoggedInUserInfoPlace place, CF clientFactory,
public LoggedInUserInfoActivity(LoggedInUserInfoPlace place, UserManagementClientFactory clientFactory,
PlaceNavigation<? extends AbstractUserProfilePlace> userProfileNavigation, PlaceController placeController) {
this.clientFactory = clientFactory;
this.userProfileNavigation = userProfileNavigation;
@@ -58,12 +55,12 @@ public class LoggedInUserInfoActivity<CF extends ClientFactory & ClientFactoryWi
clientFactory.getUserManagement().logout(new AsyncCallback<SuccessInfo>() {
@Override
public void onSuccess(SuccessInfo result) {
clientFactory.resetUserManagementContext();
clientFactory.didLogout();
}
@Override
public void onFailure(Throwable caught) {
clientFactory.resetUserManagementContext();
clientFactory.didLogout();
}
});
}
@@ -8,23 +8,22 @@ import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace;
import com.sap.sailing.gwt.home.shared.places.user.confirmation.ConfirmationPlace.Action;
import com.sap.sailing.gwt.home.shared.places.user.passwordreset.PasswordResetPlace;
import com.sap.sse.gwt.client.mvp.ClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sse.security.shared.UserManagementException;
import com.sap.sse.security.ui.client.i18n.StringMessages;
public class PasswordRecoveryActivity<CF extends ClientFactoryWithUserManagementService & ClientFactory> extends AbstractActivity implements PasswordRecoveryView.Presenter {
public class PasswordRecoveryActivity extends AbstractActivity implements PasswordRecoveryView.Presenter {
private final CF clientFactory;
private final UserManagementClientFactory clientFactory;
private final PlaceController placeController;
private final PasswordRecoveryView view = new PasswordRecoveryViewImpl();
private final PlaceNavigation<PasswordResetPlace> passwordResetPlaceNav;
public PasswordRecoveryActivity(PasswordRecoveryPlace place, CF clientFactory,
public PasswordRecoveryActivity(PasswordRecoveryPlace place, UserManagementClientFactory clientFactory,
PlaceNavigation<PasswordResetPlace> passwordResetPlaceNav, PlaceController placeController) {
this.clientFactory = clientFactory;
this.passwordResetPlaceNav = passwordResetPlaceNav;
@@ -4,21 +4,21 @@ import com.google.gwt.activity.shared.AbstractActivity;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.sap.sailing.gwt.home.shared.app.ClientFactoryWithUserManagementService;
import com.sap.sailing.gwt.home.shared.usermanagement.AsyncLoginCallback;
import com.sap.sailing.gwt.home.shared.usermanagement.UserManagementContextEvent;
import com.sap.sailing.gwt.home.shared.usermanagement.app.UserManagementClientFactory;
import com.sap.sailing.gwt.home.shared.usermanagement.create.CreateAccountPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.info.LoggedInUserInfoPlace;
import com.sap.sailing.gwt.home.shared.usermanagement.recovery.PasswordRecoveryPlace;
public class SignInActivity extends AbstractActivity implements SignInView.Presenter {
private final ClientFactoryWithUserManagementService clientFactory;
private final UserManagementClientFactory clientFactory;
private final PlaceController placeController;
private final SignInView view = new SignInViewImpl();
private EventBus eventBus;
public SignInActivity(SignInPlace place, ClientFactoryWithUserManagementService clientFactory,
public SignInActivity(SignInPlace place, UserManagementClientFactory clientFactory,
PlaceController placeController) {
this.clientFactory = clientFactory;
this.placeController = placeController;