/**
  * Si el id de usuario no existe, se añade a la tabla hash y al arbol DOM (para que los cambios
  * queden reflejados en el fichero de registrados)
  *
  * @param id Id del usuario
  * @param psw Contraseña
  * @return Booleano que indica si el nombre de usuario es válido (no estaba repetido)
  */
 public boolean registraUsuario(String id, String psw) {
   if (!registrados.existeUsuario(id)) {
     registrados.insertaUsuario(id, psw);
     registrados.insertaEnDOM(id, psw);
     registrados.vuelcaEnFichero();
     super.addUsuario(id);
     AlmacenMensajes.getInstance().altaUsuario(id);
     return true;
   } else {
     return false;
   }
 }
 /**
  * Comprueba que el usuario esta dado de alta, que la contraseña es correcta y que no estaba ya
  * conectado.
  *
  * @param id Id de usuario
  * @param psw Contraseña
  * @return Un booleano que indica si la conexión puede realizarsa
  */
 public boolean conectaUsuario(String id, String psw) {
   // Si esta registrado y la contreseña coincide y no esta conectado,lo conecta
   if (registrados.existeUsuario(id)
       && registrados.compruebaPsw(id, psw)
       && !conectados.yaConectado(id)) {
     conectados.insertaUsuario(id);
     super.setEstadoUsuario(id, true);
     return true;
     // Si esta registrado y conectado y hace login otra vez, se desconecta
   } else if (registrados.existeUsuario(id) && conectados.yaConectado(id)) {
     conectados.quitarUsuario(id);
     this.desconectaUsuario(id);
     return true;
   } else {
     return false;
   }
 }
  /**
   * Constructor del objeto GestionUsuarios
   *
   * @param fichReg Ruta del fichero que contiene los datos de usuario registrados
   */
  public GestionUsuarios(String fichReg) {
    super();
    conectados = new UsuariosConectados();
    registrados = new UsuariosRegistrados(fichReg);

    Enumeration<String> usrRegs = registrados.dameUsuarios();
    while (usrRegs.hasMoreElements()) {
      String id = usrRegs.nextElement();
      super.addUsuario(id);
      AlmacenMensajes.getInstance().altaUsuario(id);
    }
  }