public Usuario BuscarUsuarioDevolver(Usuario objeto) { boolean encontrado = false; Usuario auxiliar = null; /* * Se define un iterador inicializado con el iterador de la colección */ Iterator iterador = UsuariosRegistrados.iterator(); /* * Mientras no se encuentre el elemento y existan mas elementos en la * colección, se sigue entrando en el ciclo */ while (!encontrado && iterador.hasNext()) { /* * Se obtiene el siguiente objeto del iterador y se le hace un cast * para asignarlo al objeto de tipo Nodo */ auxiliar = (Usuario) iterador.next(); /* * Se invoca al método equals de la clase Nodo para determinar si son * iguales. En caso de serlo, se encontró el elemento buscado */ // if (objeto.equals(auxiliar)) if ((objeto.getNickname().contentEquals(auxiliar.getNickname())) && (objeto.getClave().contentEquals(auxiliar.getClave()))) return (auxiliar); } return (objeto); }
public void ImprimirColeccion() { int i; Usuario registro; /* * Se define un arreglo de tipo Object (la clase genérica Java) */ Object[] arreglo; /* * Se convierte la colección pasada como parámetro a un array, que * es asignado al arreglo de tipo Object */ arreglo = UsuariosRegistrados.toArray(); System.out.println("DATOS"); /* * Se hace un recorrido del arreglo de tipo Object y se imprime * la información de la casilla i */ for (i = 0; i < arreglo.length; i++) { registro = (Usuario) arreglo[i]; System.out.println("Nick: " + registro.getNickname()); System.out.println("Clave: " + registro.getClave()); System.out.println("Nombre" + registro.getNombre()); System.out.println(); } System.out.println("\n\n"); }
/** * Funcion que utiliza el servidor de autenticacion para autenticar a los usuarios provistos * * @param usuarios Lista con los usuarios a autenticar * @param puerto El puerto para conectarse al servidor de autenticacion * @return Booleano que indica si se pudo autenticar. * @throws MalformeURLException En caso de una URL mal formada * @throws RemoteException En caso de que el objeto remoto no este disponible * @throws NotBoundException En caso de que no se logre hacer el lookup */ public static boolean autenticarCliente(ArrayList<Usuario> usuarios, int puerto) { // Acceder al servidor remoto de autenticacion String nActual = null; String cActual = null; boolean autenticado = false; try { s_rmifs_Interface auth = (s_rmifs_Interface) Naming.lookup("rmi://" + servidor + ":" + puerto + "/s_rmifs"); for (Usuario usuActual : usuarios) { nActual = usuActual.getUsuario(); cActual = usuActual.getClave(); if (auth.autenticar(nActual, cActual)) { autenticado = true; break; } } // Manejo de excepciones. } catch (MalformedURLException murle) { System.out.println(); System.out.println("MalformedURLException"); System.out.println(murle); } catch (RemoteException re) { System.out.println(); System.out.println("RemoteException"); System.out.println(re); } catch (NotBoundException nbe) { System.out.println(); System.out.println("NotBoundException"); System.out.println(nbe); } // Si el usuario fue autenticado, guardar sus datos if (autenticado) { nombreCliente = nActual; claveCliente = cActual; } return autenticado; }
/** * Método public static void guardarArchivoXML(ListaUsuarios listaDeUsuarios): Este método permite * guardar la lista de usuarios en un archivo XML. El procesamiento se hace con jdom */ public static void guardarArchivoXML(ListaUsuario listaDeUsuarios) { Usuario nodoAuxiliar; /* Se crea una raiz de la estructura */ Element root = new Element("usuarios"); /* Es posible agregar atributos a la estructura inicial */ root.setAttribute("tipo", "lista de usuarios"); Iterator iterador = listaDeUsuarios.getIterator(); while (iterador.hasNext()) { /* Se crea la etiqueta "usuario" */ Element usuarios = new Element("usuario"); nodoAuxiliar = (Usuario) iterador.next(); /* Se crean las etiquetas nombre, apellido y cargo */ Element nick = new Element("nick"); Element clave = new Element("clave"); Element nombre = new Element("nombre"); Element apellido = new Element("apellido"); Element fechanac = new Element("fechanac"); Element avatar = new Element("avatar"); /* Se inicializa cada etiqueta con sus valores de la lista */ nick.setText(nodoAuxiliar.getNickname()); clave.setText(nodoAuxiliar.getClave()); nombre.setText(nodoAuxiliar.getNombre()); apellido.setText(nodoAuxiliar.getApellido()); fechanac.setText(nodoAuxiliar.getFechanaci()); avatar.setText(nodoAuxiliar.getAvatar()); /* Se añaden las etiquetas a la etiqueta principal (usuario) */ /* estableciendo que un usuario tiene nombre, apellido y cargo */ usuarios.addContent(nick); usuarios.addContent(clave); usuarios.addContent(nombre); usuarios.addContent(apellido); usuarios.addContent(fechanac); usuarios.addContent(avatar); /* Se añade el nuevo usuario a la estructura XML */ root.addContent(usuarios); } /* Se crea un documento nuevo */ Document doc = new Document(root); try { /* Se genera un flujo de salida de datos XML */ XMLOutputter out = new XMLOutputter(); /* Se asocia el flujo de salida con el archivo donde se guardaran los datos */ FileOutputStream file = new FileOutputStream(nombreArchivo); /* Se manda el documento generado hacia el archivo XML */ out.output(doc, file); /* Se limpia el buffer ocupado por el objeto file y se manda a cerrar el archivo */ file.flush(); file.close(); /* En este caso se manda a imprimir el archivo por la consola */ /* ESTE PROCESO NO ES OBLIGATORIO PARA PROCESAR EL XML */ out.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } }