public static void performLogin(final AsyncCallback<Boolean> callback) { // let's only login if we are not actually logged in try { final String url = GWT.getHostPageBaseURL() + "api/mantle/isAuthenticated"; // $NON-NLS-1$ RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url); requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); requestBuilder.setHeader("accept", "text/plain"); requestBuilder.sendRequest( null, new RequestCallback() { public void onError(Request request, Throwable caught) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } public void onResponseReceived(Request request, Response response) { if (!"true".equalsIgnoreCase(response.getText())) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } } }); } catch (RequestException e) { MantleLoginDialog dialog = new MantleLoginDialog(callback, false); dialog.show(); } }
private void doLogin() { MantleLoginDialog.performLogin( new AsyncCallback<Object>() { public void onFailure(Throwable caught) { MessageDialogBox dialogBox = new MessageDialogBox( Messages.getString("error"), Messages.getString("invalidLogin"), false, false, true) {}; //$NON-NLS-1$ //$NON-NLS-2$ dialogBox.setCallback( new IDialogCallback() { public void cancelPressed() { // do nothing } public void okPressed() { doLogin(); } }); dialogBox.center(); } public void onSuccess(Object result) { fetchOverlays(); } }); }