Package com.project1.client

Source Code of com.project1.client.BENBooks

package com.project1.client;


import com.project1.client.ui.BuscarLibros;
import com.project1.client.ui.VenderLibros;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Anchor;
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.TabPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

/**
* BENBooks.java
* @author Oscar Casta�eda    11086
* @author Jorge Lainfiesta   11142
* @author Benito Maza        11088
* @author Luis Valdeavellano 11218
* @since  03/08/2012
* @lastModified 03/08/2012
* @version 0.5
* Descripci�n: Clase que act�a como EntryPoint, mostrando la interfaz de usuario y permitiendo interactuar con el servidor.
*/
public class BENBooks implements EntryPoint {
 
  //TODO Crear Timer para actualizar el servicio cada cierto tiempo.
 
  /**
   * Mensaje mostrado al usuario cuando no se completa una comunicaci�n exitosa con el servidor.
   */
  private static final String SERVER_ERROR = "A ocurrido un error mientras se intentaba comunicar "
      + "con el servidor. Revise su conexi�n a internet e intente de nuevo.";

  /**
   * Crea un servicio remoto para comunicarse con el Book service del lado del servidor.
   */
//  private final BookServiceAsync bookService = GWT
//      .create(BookService.class);

  private LoginInfo loginInfo = null;
  private VerticalPanel loginPanel = new VerticalPanel();
  private Label loginLabel = new Label("Por favor inicie sesi�n con su cuenta de Google para poder utilizar la aplicaci�n BENBooks.");
  private Anchor signInLink = new Anchor("Iniciar sesi�n");
  private Anchor signOutLink = new Anchor("Cerrar sesi�n");
 
  private BuscarLibros buscarLibros = new BuscarLibros();
  private VenderLibros venderLibros = new VenderLibros();
 
  /**
   * Este es el m�todo de Entry Point.
   */
  public void onModuleLoad() {
    //Se revisa el estado de inicio de sesi�n.
      LoginServiceAsync loginService = GWT.create(LoginService.class);
      loginService.login(GWT.getHostPageBaseURL(), new AsyncCallback<LoginInfo>() {
        public void onFailure(Throwable error) {
          //Indicar que no se ha logrado el inicio de sesi�n.
        }
        public void onSuccess(LoginInfo result) {
          loginInfo = result;
          if(loginInfo.isLoggedIn()) {
          //A�adiendo elementos al RootPanel
          RootPanel rootPanel = RootPanel.get();
          TabPanel tabpanel = new TabPanel();
          signOutLink.setHref(loginInfo.getLogoutUrl());
          buscarLibros = new BuscarLibros();
          tabpanel.add(buscarLibros, "Buscar Libros");
          tabpanel.add(venderLibros, "Vender Libros");
          tabpanel.selectTab(0);
          rootPanel.add(new HTML(loginInfo.getNickname()));
          rootPanel.add(signOutLink);
          rootPanel.add(tabpanel);
          } else {
        //A�adiendo elementos al RootPanel
        RootPanel rootPanel = RootPanel.get();
        TabPanel tabpanel = new TabPanel();
        buscarLibros = new BuscarLibros();
        loadLogin();
          tabpanel.add(buscarLibros, "Buscar Libros");
          tabpanel.add(loginPanel, "Inicia Sesion");
          tabpanel.selectTab(0);
          rootPanel.add(tabpanel);
          }
        }
      });
   
   
   
    //test
//    Libro libro1 = new Libro("Titulo", "Autor", "Edici�n", "2010", "Nuevo", "310", "Curso", "Profesor");
//    Vendedor vendedor1 = new Vendedor("Due�o", "mail@gmail.com");
//    libro1.setVendedor(vendedor1);
//    ArrayList<Libro> librolist = new ArrayList<Libro>();
//    librolist.add(libro1);
//    Libro libro2 = new Libro("Titulo 2", "Autor", "Ed 2", "2010", "Nuevo", "310", "Curso", "Profesor");
//    libro1.setTitulo("LOLOL TITULO");
//    libro2.setVendedor(vendedor1);
//    librolist.add(libro2);
//    buscarLibros.mostrarLibros(librolist);
   
   
   
    /**
     * A partir de ahora, lo dem�s es c�digo del ejemplo. Puede servir de referencia.
    final Button sendButton = new Button("Send");
    final TextBox nameField = new TextBox();
    nameField.setText("GWT User");
    final Label errorLabel = new Label();

    // We can add style names to widgets
    sendButton.addStyleName("sendButton");

    // Add the nameField and sendButton to the RootPanel
    // Use RootPanel.get() to get the entire body element
    RootPanel.get("nameFieldContainer").add(nameField);
    RootPanel.get("sendButtonContainer").add(sendButton);
    RootPanel.get("errorLabelContainer").add(errorLabel);

    // Focus the cursor on the name field when the app loads
    nameField.setFocus(true);
    nameField.selectAll();

    // Create the popup dialog box
    final DialogBox dialogBox = new DialogBox();
    dialogBox.setText("Remote Procedure Call");
    dialogBox.setAnimationEnabled(true);
    final Button closeButton = new Button("Close");
    // We can set the id of a widget by accessing its Element
    closeButton.getElement().setId("closeButton");
    final Label textToServerLabel = new Label();
    final HTML serverResponseLabel = new HTML();
    VerticalPanel dialogVPanel = 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);

    // Add a handler to close the DialogBox
    closeButton.addClickHandler(new ClickHandler() {
      public void onClick(ClickEvent event) {
        dialogBox.hide();
        sendButton.setEnabled(true);
        sendButton.setFocus(true);
      }
    });
    */

    /**
    // Create a handler for the sendButton and nameField
    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 nameField.
       */
      /**
      public void onKeyUp(KeyUpEvent event) {
        if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
          sendNameToServer();
        }
      }
      */

      /**
       * Send the name from the nameField to the server and wait for a response.
       */
      /**
      private void sendNameToServer() {
        // First, we validate the input.
        errorLabel.setText("");
        String textToServer = nameField.getText();
        if (!FieldVerifier.isValidName(textToServer)) {
          errorLabel.setText("Please enter at least four characters");
          return;
        }

        // Then, we send the input to the server.
        sendButton.setEnabled(false);
        textToServerLabel.setText(textToServer);
        serverResponseLabel.setText("");
        greetingService.greetServer(textToServer,
            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);
              }
            });
      }
    }

    // Add a handler to send the name to the server
    MyHandler handler = new MyHandler();
    sendButton.addClickHandler(handler);
    nameField.addKeyUpHandler(handler);
    */
  }

  private void loadLogin() {
    //Se arma el loginPanel.
    signInLink.setHref(loginInfo.getLoginUrl());
    loginPanel.add(loginLabel);
    loginPanel.add(signInLink);
    //TODO Colocarlo en el contenedor.
  }
}
TOP

Related Classes of com.project1.client.BENBooks

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.