|
package com.aayush.hangman.client; |
|
|
|
import com.google.gwt.core.client.EntryPoint; |
|
import com.google.gwt.core.client.GWT; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
|
import com.google.gwt.event.dom.client.ClickHandler; |
|
import com.google.gwt.http.client.Request; |
|
import com.google.gwt.http.client.RequestBuilder; |
|
import com.google.gwt.http.client.RequestCallback; |
|
import com.google.gwt.http.client.RequestException; |
|
import com.google.gwt.http.client.Response; |
|
import com.google.gwt.user.client.Random; |
|
import com.google.gwt.user.client.Window; |
|
import com.google.gwt.user.client.rpc.AsyncCallback; |
|
import com.google.gwt.user.client.ui.Button; |
|
import com.google.gwt.user.client.ui.FlowPanel; |
|
import com.google.gwt.user.client.ui.HTML; |
|
import com.google.gwt.user.client.ui.Image; |
|
import com.google.gwt.user.client.ui.Label; |
|
import com.google.gwt.user.client.ui.RootPanel; |
|
|
|
public class HangMan implements EntryPoint { |
|
|
|
final LoginServicesAsync logininfo = GWT.create(LoginServices.class); |
|
|
|
public void onModuleLoad() { |
|
|
|
// Create Interface |
|
RootPanel hangman_login = RootPanel.get("signon"); |
|
createloginScreen(hangman_login); |
|
} |
|
|
|
private void createloginScreen(final RootPanel hangman_login) { |
|
|
|
logininfo.isLoggenIn(new AsyncCallback<Boolean>() { |
|
|
|
@Override |
|
public void onFailure(Throwable caught) { |
|
Window.alert("Error : Sorry Cannot Connect to Google Services"); |
|
hangman_login.add(new Label("Cannot Connect to Google Services")); |
|
|
|
} |
|
|
|
@Override |
|
public void onSuccess(Boolean result) { |
|
|
|
if (result) { |
|
getEmail(); |
|
} else { |
|
getsigninurl(); |
|
} |
|
|
|
} |
|
|
|
private void getsigninurl() { |
|
logininfo.createLoginURL(GWT.getHostPageBaseURL(),new AsyncCallback<String>() { |
|
|
|
@Override |
|
public void onSuccess(String result) { |
|
Window.alert(result); |
|
String login_url = "<a href=\" " + result + "\">SignIn</a>"; |
|
hangman_login.add(new HTML(login_url)); |
|
|
|
} |
|
|
|
@Override |
|
public void onFailure(Throwable caught) { |
|
hangman_login.add(new Label("Cannot Connect to Google Services")); |
|
|
|
} |
|
}); |
|
|
|
} |
|
|
|
private void getEmail() { |
|
|
|
logininfo.getEmail(new AsyncCallback<String>() { |
|
|
|
@Override |
|
public void onSuccess(String result) { |
|
String userwelcome = "<h4>Welcome, " + result + "</h4>"; |
|
hangman_login.add(new HTML(userwelcome)); |
|
|
|
// Get SignOut URL |
|
logininfo.createLogoutURL(GWT.getHostPageBaseURL(), |
|
new AsyncCallback<String>() { |
|
|
|
@Override |
|
public void onSuccess(String result) { |
|
String logout = "<a href=\"" + result+ "\">LogOff</a><br><br>"; |
|
hangman_login.add(new HTML(logout)); |
|
|
|
} |
|
|
|
@Override |
|
public void onFailure(Throwable caught) { |
|
hangman_login.add(new Label("Cannot Connect to Google Services")); |
|
|
|
} |
|
}); |
|
|
|
} |
|
|
|
@Override |
|
public void onFailure(Throwable caught) { |
|
Window.alert("Cannot Perform RPC Call"); |
|
hangman_login.add(new Label("Cannot Connect to Google Services")); |
|
|
|
} |
|
}); |
|
|
|
} |
|
}); |
|
|
|
} |