Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sonc.client;
- import sonc.shared.FieldVerifier;
- 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.event.dom.client.KeyCodes;
- import com.google.gwt.event.dom.client.KeyUpEvent;
- import com.google.gwt.event.dom.client.KeyUpHandler;
- import com.google.gwt.user.client.rpc.AsyncCallback;
- import com.google.gwt.user.client.ui.Button;
- import com.google.gwt.user.client.ui.DeckPanel;
- import com.google.gwt.user.client.ui.DialogBox;
- import com.google.gwt.user.client.ui.HTML;
- import com.google.gwt.user.client.ui.Label;
- import com.google.gwt.user.client.ui.RootPanel;
- import com.google.gwt.user.client.ui.TextBox;
- import com.google.gwt.user.client.ui.VerticalPanel;
- /**
- * Entry point classes define <code>onModuleLoad()</code>.
- */
- public class App implements EntryPoint {
- /**
- * The message displayed to the user when the server cannot be reached or
- * returns an error.
- */
- private static final String SERVER_ERROR = "An error occurred while "
- + "attempting to contact the server. Please check your network " + "connection and try again.";
- /**
- * Create a remote service proxy to talk to the server-side Greeting service.
- */
- private final GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
- /**
- * This is the entry point method.
- */
- public void onModuleLoad() {
- final Button loginButton = new Button("Login!");
- loginButton.setText("Login");
- final Button signupButton = new Button("Sign Up!");
- signupButton.setText("Sign Up");
- final TextBox userField = new TextBox();
- userField.setText("");
- final TextBox pwdField = new TextBox();
- pwdField.setText("");
- final Label errorLabel = new Label();
- final Label errorLabelRegister = new Label();
- //DeckPanel deck = new DeckPanel();
- RootPanel.get("userDiv").add(userField);
- RootPanel.get("passwordDiv").add(pwdField);
- RootPanel.get("buttonLogin").add(loginButton);
- RootPanel.get("buttonsignUp").add(signupButton);
- // Focus the cursor on the name field when the app loads
- userField.setFocus(true);
- userField.selectAll();
- // Create the popup dialog box
- final DialogBox dialogBox = new DialogBox();
- final DialogBox passBox = new DialogBox();
- final DialogBox usernameRegisterBox = new DialogBox();
- final DialogBox passRegisterBox = new DialogBox();
- dialogBox.setText("Remote Procedure Call");
- dialogBox.setAnimationEnabled(true);
- passBox.setText("Please enter at least four characters");
- final Button closeButton = new Button("Close");
- final Button passButton = new Button("Close");
- // We can set the id of a widget by accessing its Element
- closeButton.getElement().setId("closeButton");
- passButton.getElement().setId("passButton");
- final Label textToServerLabel = new Label();
- final HTML serverResponseLabel = new HTML();
- VerticalPanel dialogVPanel = new VerticalPanel();
- VerticalPanel passVPanel = new VerticalPanel();
- dialogVPanel.addStyleName("dialogVPanel");
- dialogVPanel.add(new HTML("<b>Sending name to the server:</b>"));
- dialogVPanel.add(textToServerLabel);
- dialogVPanel.add(new HTML("<br><b>Server replies:</b>"));
- dialogVPanel.add(serverResponseLabel);
- dialogVPanel.setHorizontalAlignment(VerticalPanel.ALIGN_RIGHT);
- dialogVPanel.add(closeButton);
- dialogBox.setWidget(dialogVPanel);
- passVPanel.addStyleName("passVPanel");
- passVPanel.add(new HTML("<b>Pass>4:</b>"));
- passVPanel.add(textToServerLabel);
- passVPanel.add(passButton);
- passBox.setWidget(passVPanel);
- // Add a handler to close the DialogBox
- closeButton.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- dialogBox.hide();
- loginButton.setEnabled(true);
- loginButton.setFocus(true);
- }
- });
- signupButton.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- dialogBox.hide();
- }
- });
- passButton.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent event) {
- passBox.hide();
- //loginButton.setEnabled(true);
- //loginButton.setFocus(true);
- }
- });
- // Create a handler for the loginButton and userField
- class MyHandler implements ClickHandler, KeyUpHandler {
- /**
- * Fired when the user clicks on the sendButton.
- */
- public void onClick(ClickEvent event) {
- sendNameToServer();
- }
- /**
- * Fired when the user types in the userField.
- */
- public void onKeyUp(KeyUpEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
- sendNameToServer();
- }
- }
- /**
- * Send the name from the userField to the server and wait for a response.
- */
- public void sendNameToServer() {
- // First, we validate the input.
- errorLabel.setText("");
- String user = userField.getText();
- String pass = pwdField.getText();
- if (!FieldVerifier.isValidName(user)) {
- errorLabel.setText("Please enter at least four characters");
- passBox.setAnimationEnabled(true);
- passBox.center();
- return;
- }
- if (!FieldVerifier.isValidName(pass)) {
- errorLabel.setText("Please enter at least four characters");
- passBox.setAnimationEnabled(true);
- passBox.center();
- return;
- }
- // Then, we send the input to the server.
- loginButton.setEnabled(false);
- textToServerLabel.setText(user);
- textToServerLabel.setText(pass);
- System.out.println("user " + user + " pass " + pass);
- serverResponseLabel.setText("");
- greetingService.greetServer(user,pass, new AsyncCallback<String>() {
- public void onFailure(Throwable caught) {
- // Show the RPC error message to the user
- dialogBox.setText("Remote Procedure Call - Failure");
- serverResponseLabel.addStyleName("serverResponseLabelError");
- serverResponseLabel.setHTML(SERVER_ERROR);
- dialogBox.center();
- closeButton.setFocus(true);
- }
- public void onSuccess(String result) {
- dialogBox.setText("Remote Procedure Call");
- serverResponseLabel.removeStyleName("serverResponseLabelError");
- serverResponseLabel.setHTML(result);
- dialogBox.center();
- closeButton.setFocus(true);
- }
- });
- greetingService.authenticate(user, pass, new AsyncCallback<Boolean>() {
- @Override
- public void onFailure(Throwable caught) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onSuccess(Boolean result) {
- // TODO Auto-generated method stub
- if(result){
- System.out.println("TOP");
- }
- else
- {
- System.out.println("TOP+wfdsfsfsfsdfssfdfsd");
- }
- }
- });
- }
- }
- class signupHandler implements ClickHandler, KeyUpHandler {
- /**
- * Fired when the user clicks on the sendButton.
- */
- public void onClick(ClickEvent event) {
- register();
- }
- /**
- * Fired when the user types in the userField.
- */
- public void onKeyUp(KeyUpEvent event) {
- if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
- register();
- }
- }
- /**
- * Send the name from the userField to the server and wait for a response.
- */
- public void register() {
- // First, we validate the input.
- errorLabelRegister.setText("");
- String user = userField.getText();
- String pass = pwdField.getText();
- if (!FieldVerifier.isValidName(user)) {
- errorLabelRegister.setText("Please enter at least four characters");
- passBox.setAnimationEnabled(true);
- passBox.center();
- return;
- }
- if (!FieldVerifier.isValidName(pass)) {
- errorLabelRegister.setText("Please enter at least four characters");
- passBox.setAnimationEnabled(true);
- passBox.center();
- return;
- }
- // Then, we send the input to the server.
- signupButton.setEnabled(false);
- greetingService.register(user, pass, new AsyncCallback<Boolean>(){
- @Override
- public void onFailure(Throwable caught){
- errorLabelRegister.setText(SERVER_ERROR);
- return;
- }
- @Override
- public void onSuccess(Boolean result){
- if(result){
- errorLabelRegister.setText(usernameRegisterBox.getText() + ", registado com sucesso.");
- }
- else{
- }
- }
- });
- }
- }
- // Add a handler to send the name to the server
- MyHandler handler = new MyHandler();
- loginButton.addClickHandler(handler);
- userField.addKeyUpHandler(handler);
- pwdField.addKeyUpHandler(handler);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement