public Usuario onLogin() throws LoginException, SQLException, DBException {
    System.out.println("On login");

    String u = login.getUsernameInput();
    String p = login.getPasswordInput();

    System.out.println(u + p);

    Usuario user = this.login(u, p);
    System.out.println(logAttemp);

    System.out.println(user);

    if (user != null) {

      login.loginSuccessful(user);
      PrincipalInterface pi = new PrincipalView();
      PrincipalController pc = new PrincipalController(user, pi, conn);
      pc.showPrincipal();
    } else {
      logAttemp++;
      login.loginFailed();
    }

    return unUsuario;
  }
  public Usuario login(String usuario, String password) throws DBException {
    System.out.println("login");

    try {
      Usuario u = logindb.findId(usuario);
      System.out.println(password + "-" + u.getPassword());

      if (u.getBloqueo()) {
        System.out.println("Usuario bloqueado");
        login.loginOut();
        System.exit(0);

      } else {

        if (password.equals(u.getPassword())) {
          System.out.println("LoginOK");
          return u;
        }
      }
    } catch (Exception e) {
      try {
        throw new LoginException("Usuario o contraseña incorrectos");
      } catch (LoginException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
      }
    }

    if (logAttemp == 2) {

      Usuario u = logindb.findId(usuario);
      u.setBloqueo(true);
      logindb.update(u);
      login.loginOut();

      System.exit(0);
    }

    return null;
  }
 public void showLogin() {
   logAttemp = 0;
   login.viewLogin(this);
 }
 public void onCancel() {
   login.closeLogin();
 }
  public Usuario getUser() throws SQLException {

    login.closeLogin();
    return unUsuario;
  }