mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-16 09:11:02 +00:00
refactored UserService and LoginPanel so instances of UserService are injected
This commit is contained in:
1 parent
e42bcf8cee
commit
d3f03d26c3
28 files changed
+177
-137
No files matched your search
@@ -17,6 +17,7 @@ Require-Bundle: javax.servlet;bundle-version="2.5.0",
|
||||
com.sap.sse.security;bundle-version="1.0.0",
|
||||
org.json.simple
|
||||
Web-ContextPath: /security/ui
|
||||
Export-Package: com.sap.sse.security.ui.loginpanel,
|
||||
Export-Package: com.sap.sse.security.ui.client,
|
||||
com.sap.sse.security.ui.loginpanel,
|
||||
com.sap.sse.security.ui.server,
|
||||
com.sap.sse.security.ui.shared
|
||||
@@ -49,7 +49,7 @@
|
||||
<url-pattern>/redirect</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- remote logging -->
|
||||
<!-- enabling remote logging -->
|
||||
<servlet>
|
||||
<servlet-name>remoteLogging</servlet-name>
|
||||
<servlet-class>com.google.gwt.logging.server.RemoteLoggingServiceImpl</servlet-class>
|
||||
@@ -57,5 +57,6 @@
|
||||
<servlet-mapping>
|
||||
<servlet-name>remoteLogging</servlet-name>
|
||||
<url-pattern>/com.sap.sse.security.ui.OAuthLogin/remote_logging</url-pattern>
|
||||
<url-pattern>/com.sap.sse.security.ui.Login/remote_logging</url-pattern>
|
||||
</servlet-mapping>
|
||||
</web-app>
|
||||
+36
-24
@@ -2,6 +2,7 @@ package com.sap.sse.security.ui.client;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
@@ -9,11 +10,10 @@ import com.google.gwt.storage.client.Storage;
|
||||
import com.google.gwt.storage.client.StorageEvent;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.sap.sse.security.ui.loginpanel.LoginPanel;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.security.ui.oauth.client.util.ClientUtils;
|
||||
import com.sap.sse.security.ui.shared.SuccessInfo;
|
||||
import com.sap.sse.security.ui.shared.UserDTO;
|
||||
import com.sap.sse.security.ui.shared.UserManagementService;
|
||||
import com.sap.sse.security.ui.shared.UserManagementServiceAsync;
|
||||
|
||||
/**
|
||||
@@ -44,7 +44,7 @@ public class UserService {
|
||||
*/
|
||||
private static final String LOCAL_STORAGE_UPDATE_KEY = "current-user-has-changed";
|
||||
|
||||
private static final UserManagementServiceAsync userManagementService = GWT.create(UserManagementService.class);
|
||||
private final UserManagementServiceAsync userManagementService;
|
||||
|
||||
private final Storage localStorage;
|
||||
|
||||
@@ -52,13 +52,28 @@ public class UserService {
|
||||
|
||||
private UserDTO currentUser;
|
||||
|
||||
public UserService() {
|
||||
private final UUID id;
|
||||
|
||||
public UserService(UserManagementServiceAsync userManagementService) {
|
||||
this.id = UUID.randomUUID();
|
||||
this.userManagementService = userManagementService;
|
||||
localStorage = Storage.getLocalStorageIfSupported();
|
||||
handlers = new HashSet<>();
|
||||
registerStorageListener();
|
||||
updateUser(/* notifyOtherInstances */ false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to synchronize changes in the user status between all {@link UserService} instances across all browser
|
||||
* tabs/windows.
|
||||
*/
|
||||
public void fireUserUpdateEvent() {
|
||||
if (localStorage != null) {
|
||||
localStorage.setItem(LOCAL_STORAGE_UPDATE_KEY, id.toString());
|
||||
localStorage.setItem(LOCAL_STORAGE_UPDATE_KEY, "");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets this user service get notified if other tabs or browser windows update the logged-in user
|
||||
*/
|
||||
@@ -67,7 +82,9 @@ public class UserService {
|
||||
Storage.addStorageEventHandler(new StorageEvent.Handler() {
|
||||
@Override
|
||||
public void onStorageChange(StorageEvent event) {
|
||||
if (LOCAL_STORAGE_UPDATE_KEY.equals(event.getKey()) && Boolean.TRUE.toString().equals(event.getNewValue())) {
|
||||
// ignore update events coming from this object itself
|
||||
if (LOCAL_STORAGE_UPDATE_KEY.equals(event.getKey()) && event.getNewValue() != null
|
||||
&& !event.getNewValue().isEmpty() && !event.getNewValue().equals(id.toString())) {
|
||||
updateUser(/* Don't play endless ping-ping between instances! */ false);
|
||||
}
|
||||
}
|
||||
@@ -86,7 +103,8 @@ public class UserService {
|
||||
* if <code>true</code>, other instances of this class will be notified about the result of the call
|
||||
*/
|
||||
private void updateUser(final boolean notifyOtherInstances) {
|
||||
userManagementService.getCurrentUser(new AsyncCallback<UserDTO>() {
|
||||
userManagementService.getCurrentUser(new MarkedAsyncCallback<UserDTO>(
|
||||
new AsyncCallback<UserDTO>() {
|
||||
@Override
|
||||
public void onSuccess(UserDTO result) {
|
||||
setCurrentUser(result, notifyOtherInstances);
|
||||
@@ -96,7 +114,7 @@ public class UserService {
|
||||
public void onFailure(Throwable caught) {
|
||||
Window.alert(caught.getMessage());
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -105,7 +123,8 @@ public class UserService {
|
||||
* signed-in user will remain to be signed in.
|
||||
*/
|
||||
public void login(String username, String password, final AsyncCallback<SuccessInfo> callback) {
|
||||
userManagementService.login(username, password, new AsyncCallback<SuccessInfo>() {
|
||||
userManagementService.login(username, password,
|
||||
new MarkedAsyncCallback<SuccessInfo>(new AsyncCallback<SuccessInfo>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
callback.onFailure(caught);
|
||||
@@ -118,13 +137,14 @@ public class UserService {
|
||||
}
|
||||
callback.onSuccess(result);
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
public void verifySocialUser(final AsyncCallback<UserDTO> callback) throws Exception {
|
||||
final String authProviderName = ClientUtils.getAuthProviderNameFromCookie();
|
||||
logger.info("Verifying " + authProviderName + " user ...");
|
||||
userManagementService.verifySocialUser(ClientUtils.getCredential(), new AsyncCallback<UserDTO>() {
|
||||
userManagementService.verifySocialUser(ClientUtils.getCredential(),
|
||||
new MarkedAsyncCallback<UserDTO>(new AsyncCallback<UserDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
callback.onFailure(caught);
|
||||
@@ -136,11 +156,11 @@ public class UserService {
|
||||
logger.info(authProviderName + " user '" + result.getName() + "' is verified!\n");
|
||||
callback.onSuccess(result);
|
||||
}
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
public void logout() {
|
||||
LoginPanel.userManagementService.logout(new AsyncCallback<SuccessInfo>() {
|
||||
userManagementService.logout(new AsyncCallback<SuccessInfo>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Window.alert(stringMessages.couldNotSignOut(caught.getMessage()));
|
||||
@@ -165,8 +185,8 @@ public class UserService {
|
||||
|
||||
private void setCurrentUser(UserDTO result, final boolean notifyOtherInstances) {
|
||||
currentUser = result;
|
||||
logger.info("User changed to " + (result == null ? "No User" : result.getName()) + "roles: "
|
||||
+ result.getRoles());
|
||||
logger.info("User changed to " + (result == null ? "No User" : (result.getName() + " roles: "
|
||||
+ result.getRoles())));
|
||||
notifyUserStatusEventHandlers();
|
||||
if (notifyOtherInstances) {
|
||||
fireUserUpdateEvent();
|
||||
@@ -187,15 +207,7 @@ public class UserService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to synchronize changes in the user status between all {@link UserService} instances across all browser
|
||||
* tabs/windows.
|
||||
*/
|
||||
public void fireUserUpdateEvent() {
|
||||
if (localStorage != null) {
|
||||
localStorage.setItem(LOCAL_STORAGE_UPDATE_KEY, Boolean.TRUE.toString());
|
||||
localStorage.setItem(LOCAL_STORAGE_UPDATE_KEY, Boolean.FALSE.toString());
|
||||
}
|
||||
public UserManagementServiceAsync getUserManagementService() {
|
||||
return userManagementService;
|
||||
}
|
||||
|
||||
}
|
||||
+5
-7
@@ -28,24 +28,22 @@ import com.sap.sse.security.ui.shared.UserManagementService;
|
||||
import com.sap.sse.security.ui.shared.UserManagementServiceAsync;
|
||||
|
||||
public class LoginEntryPoint implements EntryPoint {
|
||||
|
||||
private final UserManagementServiceAsync userManagementService = GWT.create(UserManagementService.class);
|
||||
|
||||
private final StringMessages stringMessages = GWT.create(StringMessages.class);
|
||||
|
||||
private final UserService userService = new UserService();
|
||||
private UserManagementServiceAsync userManagementService;
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
public void onModuleLoad() {
|
||||
userManagementService = GWT.create(UserManagementService.class);
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) userManagementService,
|
||||
RemoteServiceMappingConstants.userManagementServiceRemotePath);
|
||||
|
||||
userService = new UserService(userManagementService);
|
||||
RootLayoutPanel rootPanel = RootLayoutPanel.get();
|
||||
DockLayoutPanel dockPanel = new DockLayoutPanel(Unit.PX);
|
||||
rootPanel.add(dockPanel);
|
||||
|
||||
FlowPanel fp = new FlowPanel();
|
||||
RootPanel.get().add(new LoginPanel(Resources.INSTANCE.css()));
|
||||
RootPanel.get().add(new LoginPanel(Resources.INSTANCE.css(), userService));
|
||||
|
||||
Label nameLabel = new Label(stringMessages.name()+": ");
|
||||
fp.add(nameLabel);
|
||||
|
||||
+10
-17
@@ -8,7 +8,6 @@ import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.rpc.ServiceDefTarget;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.FocusPanel;
|
||||
@@ -22,8 +21,6 @@ import com.google.gwt.user.client.ui.PasswordTextBox;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.SubmitButton;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.sap.sse.gwt.client.EntryPointHelper;
|
||||
import com.sap.sse.security.ui.client.RemoteServiceMappingConstants;
|
||||
import com.sap.sse.security.ui.client.Resources;
|
||||
import com.sap.sse.security.ui.client.StringMessages;
|
||||
import com.sap.sse.security.ui.client.UserService;
|
||||
@@ -31,19 +28,13 @@ import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
||||
import com.sap.sse.security.ui.oauth.client.component.OAuthLoginPanel;
|
||||
import com.sap.sse.security.ui.shared.SuccessInfo;
|
||||
import com.sap.sse.security.ui.shared.UserDTO;
|
||||
import com.sap.sse.security.ui.shared.UserManagementService;
|
||||
import com.sap.sse.security.ui.shared.UserManagementServiceAsync;
|
||||
|
||||
public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
public static final UserManagementServiceAsync userManagementService = GWT.create(UserManagementService.class);
|
||||
public final UserManagementServiceAsync userManagementService;
|
||||
|
||||
public static final StringMessages stringMessages = GWT.create(StringMessages.class);
|
||||
|
||||
static {
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) userManagementService,
|
||||
RemoteServiceMappingConstants.userManagementServiceRemotePath);
|
||||
}
|
||||
|
||||
private FormPanel loginPanel;
|
||||
private FlowPanel userPanel;
|
||||
private SimplePanel infoPanel;
|
||||
@@ -51,7 +42,7 @@ public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
private static int counter = 0;
|
||||
|
||||
private boolean expanded = false;
|
||||
private static UserService userService = new UserService();
|
||||
private UserService userService;
|
||||
|
||||
private Label loginTitle;
|
||||
private Anchor loginLink;
|
||||
@@ -66,7 +57,9 @@ public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
|
||||
private final Css css;
|
||||
|
||||
public LoginPanel(final Css css) {
|
||||
public LoginPanel(final Css css, UserService userService) {
|
||||
this.userManagementService = userService.getUserManagementService();
|
||||
this.userService = userService;
|
||||
this.css = css;
|
||||
id = counter++;
|
||||
css.ensureInjected();
|
||||
@@ -106,7 +99,8 @@ public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
loginPanel.addSubmitHandler(new SubmitHandler() {
|
||||
@Override
|
||||
public void onSubmit(SubmitEvent event) {
|
||||
userService.login(name.getText(), password.getText(), new AsyncCallback<SuccessInfo>() {
|
||||
userService.login(name.getText(), password.getText(),
|
||||
new AsyncCallback<SuccessInfo>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Window.alert(caught.getMessage());
|
||||
@@ -118,7 +112,6 @@ public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
Window.alert(result.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -198,15 +191,15 @@ public class LoginPanel extends FlowPanel implements UserStatusEventHandler {
|
||||
}
|
||||
}
|
||||
|
||||
public static UserDTO getCurrentUser() {
|
||||
public UserDTO getCurrentUser() {
|
||||
return userService.getCurrentUser();
|
||||
}
|
||||
|
||||
public static void addUserStatusEventHandler(UserStatusEventHandler handler) {
|
||||
public void addUserStatusEventHandler(UserStatusEventHandler handler) {
|
||||
userService.addUserStatusEventHandler(handler);
|
||||
}
|
||||
|
||||
public static void removeUserStatusEventHandler(UserStatusEventHandler handler) {
|
||||
public void removeUserStatusEventHandler(UserStatusEventHandler handler) {
|
||||
userService.removeUserStatusEventHandler(handler);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import com.sap.sse.security.ui.shared.UserManagementServiceAsync;
|
||||
public class OAuthLoginEntryPoint implements EntryPoint, UserChangeEventHandler {
|
||||
private final UserManagementServiceAsync userManagementService = GWT.create(UserManagementService.class);
|
||||
private final StringMessages stringMessages = GWT.create(StringMessages.class);
|
||||
private final UserService userService = new UserService();
|
||||
private final UserService userService = new UserService(userManagementService);
|
||||
|
||||
private OAuthLoginPanel loginScreen = new OAuthLoginPanel(userManagementService);
|
||||
private FlowPanel content = new FlowPanel();
|
||||
|
||||
+16
-19
@@ -17,12 +17,14 @@ import com.google.gwt.user.client.ui.Image;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.PopupPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sse.security.ui.client.StringMessages;
|
||||
import com.sap.sse.security.ui.oauth.client.CredentialDTO;
|
||||
import com.sap.sse.security.ui.oauth.client.resources.ImageResources;
|
||||
import com.sap.sse.security.ui.oauth.client.util.ClientUtils;
|
||||
import com.sap.sse.security.ui.shared.UserManagementServiceAsync;
|
||||
|
||||
public class OAuthLoginPanel extends Composite {
|
||||
private static final StringMessages stringMessages = GWT.create(StringMessages.class);
|
||||
private static final String SAP_SAILING_OAUTH_WINDOW = "sap_sailing_oauth_verification_window";
|
||||
private VerticalPanel verticalPanel;
|
||||
private FlexTable flexTableLeft;
|
||||
@@ -64,7 +66,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
dp.add(flexTableLeft);
|
||||
verticalPanel.add(dp);
|
||||
|
||||
Label loginWithLabel = new Label("Login With");
|
||||
Label loginWithLabel = new Label("Login With"); // TODO i18n
|
||||
loginWithLabel.setWordWrap(false);
|
||||
// loginWithLabel.setStyleName(labelStyle);
|
||||
flexTableLeft.setWidget(0, 0, loginWithLabel);
|
||||
@@ -77,7 +79,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
facebookImage = new Image(images.facebookIconImageData().getSafeUri());
|
||||
image = facebookImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Facebook");
|
||||
image.setTitle("Login with Facebook"); // TODO i18n
|
||||
flexTableLeft.setWidget(r, c, image);
|
||||
|
||||
r = 1;
|
||||
@@ -85,7 +87,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
googleImage = new Image(images.googleIconImageData().getSafeUri());
|
||||
image = googleImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Google");
|
||||
image.setTitle("Login with Google"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -94,7 +96,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
twitterImage = new Image(images.twitterIconImageData().getSafeUri());
|
||||
image = twitterImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Twitter");
|
||||
image.setTitle("Login with Twitter"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -103,7 +105,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
yahooImage = new Image(images.yahooIconImageData().getSafeUri());
|
||||
image = yahooImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Yahoo!");
|
||||
image.setTitle("Login with Yahoo!"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -113,7 +115,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
linkedinImage = new Image(images.linkedinIconImageData().getSafeUri());
|
||||
image = linkedinImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with LinkedIn");
|
||||
image.setTitle("Login with LinkedIn"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -122,7 +124,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
instagramImage = new Image(images.instagramIconImageData().getSafeUri());
|
||||
image = instagramImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Instagram");
|
||||
image.setTitle("Login with Instagram"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -131,7 +133,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
vimeoImage = new Image(images.vimeoIconImageData().getSafeUri());
|
||||
image = vimeoImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Vimeo");
|
||||
image.setTitle("Login with Vimeo"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -140,7 +142,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
githubImage = new Image(images.githubIconImageData().getSafeUri());
|
||||
image = githubImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with github");
|
||||
image.setTitle("Login with github"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -150,7 +152,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
flickrImage = new Image(images.flickrIconImageData().getSafeUri());
|
||||
image = flickrImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with flickr");
|
||||
image.setTitle("Login with flickr"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
|
||||
@@ -159,7 +161,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
liveImage = new Image(images.liveIconImageData().getSafeUri());
|
||||
image = liveImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with Microsoft Live Connect");
|
||||
image.setTitle("Login with Microsoft Live Connect"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
@@ -171,7 +173,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
tumblrImage = new Image(images.tumblrIconImageData().getSafeUri());
|
||||
image = tumblrImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with tumblr.");
|
||||
image.setTitle("Login with tumblr."); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
@@ -183,7 +185,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
foursquareImage = new Image(images.foursquareIconImageData().getSafeUri());
|
||||
image = foursquareImage;
|
||||
// image.setStyleName(imageStyle);
|
||||
image.setTitle("Login with foursquare");
|
||||
image.setTitle("Login with foursquare"); // TODO i18n
|
||||
// flexTableLeft.setWidget(r, c, image);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(r, c, har);
|
||||
flexTableLeft.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
@@ -198,8 +200,7 @@ public class OAuthLoginPanel extends Composite {
|
||||
popupFrame.setHeight("300px");
|
||||
popupFrame.getElement().getStyle().setBorderWidth(0, Unit.PX);
|
||||
popupContent.add(popupFrame);
|
||||
Button close = new Button("Close", new ClickHandler() {
|
||||
|
||||
Button close = new Button(stringMessages.close(), new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
popupPanel.hide();
|
||||
@@ -214,13 +215,10 @@ public class OAuthLoginPanel extends Composite {
|
||||
// String authProviderName = ClientUtils.getAuthProviderName(authProvider);
|
||||
final String callbackUrl = ClientUtils.getCallbackUrl();
|
||||
GWT.log("Getting authorization url");
|
||||
|
||||
final CredentialDTO credential = new CredentialDTO();
|
||||
credential.setRedirectUrl(callbackUrl);
|
||||
credential.setAuthProvider(authProvider);
|
||||
|
||||
userManagementService.getAuthorizationUrl(credential, new AsyncCallback<String>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
ClientUtils.handleException(caught);
|
||||
@@ -256,7 +254,6 @@ public class OAuthLoginPanel extends Composite {
|
||||
}-*/;
|
||||
|
||||
private void setupLoginScreenHandlers() {
|
||||
|
||||
facebookImage.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
+5
-4
@@ -32,6 +32,7 @@ import com.sap.sse.security.ui.client.RemoteServiceMappingConstants;
|
||||
import com.sap.sse.security.ui.client.Resources;
|
||||
import com.sap.sse.security.ui.client.StringMessages;
|
||||
import com.sap.sse.security.ui.client.UserChangeEventHandler;
|
||||
import com.sap.sse.security.ui.client.UserService;
|
||||
import com.sap.sse.security.ui.client.UserStatusEventHandler;
|
||||
import com.sap.sse.security.ui.client.component.CreateUserPanel;
|
||||
import com.sap.sse.security.ui.client.component.CreateUserPanel.UserCreationEventHandler;
|
||||
@@ -71,12 +72,13 @@ public class UserManagementEntryPoint implements EntryPoint {
|
||||
public void onModuleLoad() {
|
||||
EntryPointHelper.registerASyncService((ServiceDefTarget) userManagementService,
|
||||
RemoteServiceMappingConstants.userManagementServiceRemotePath);
|
||||
UserService userService = new UserService(userManagementService);
|
||||
center = new SimpleLayoutPanel();
|
||||
RootLayoutPanel rootPanel = RootLayoutPanel.get();
|
||||
DockLayoutPanel dockPanel = new DockLayoutPanel(Unit.PX);
|
||||
rootPanel.add(dockPanel);
|
||||
HorizontalPanel hp = new HorizontalPanel();
|
||||
LoginPanel.addUserStatusEventHandler(new UserStatusEventHandler() {
|
||||
userService.addUserStatusEventHandler(new UserStatusEventHandler() {
|
||||
@Override
|
||||
public void onUserStatusChange(UserDTO user) {
|
||||
if (user == null){
|
||||
@@ -98,11 +100,10 @@ public class UserManagementEntryPoint implements EntryPoint {
|
||||
public void onClick(ClickEvent event) {
|
||||
CreateUserPanel createUserPanel = new CreateUserPanel(userManagementService);
|
||||
createUserPanel.addUserCreationEventHandler(new UserCreationEventHandler() {
|
||||
|
||||
@Override
|
||||
public void onUserCreation(UserDTO user) {
|
||||
userListDataProvider.updateDisplays();
|
||||
if (user != null){
|
||||
if (user != null) {
|
||||
singleSelectionModel.setSelected(user, true);
|
||||
}
|
||||
}
|
||||
@@ -165,6 +166,6 @@ public class UserManagementEntryPoint implements EntryPoint {
|
||||
}
|
||||
});
|
||||
center.setWidget(createUserPanel);
|
||||
RootPanel.get().add(new LoginPanel(Resources.INSTANCE.css()));
|
||||
RootPanel.get().add(new LoginPanel(Resources.INSTANCE.css(), userService));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user