Bean.CAT.ModifTestBean.java Source code

Java tutorial

Introduction

Here is the source code for Bean.CAT.ModifTestBean.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Bean.CAT;

import Model.CAT.Termino;
import Model.CAT.TerminoLamina;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import org.apache.commons.collections.ListUtils;

/**
 *
 * @author jean
 */
@ManagedBean(name = "modifTestBean")
@ViewScoped

public class ModifTestBean {

    List<Termino>[] listEliminTest;
    List<Termino>[] listModifTest;
    List<TerminoLamina>[] listNuevosTermAsocDicc;
    List<TerminoLamina>[] listNuevosTermDicc;

    List<TerminoLamina>[] listNuevosTermAsocDiccGlobal;
    List<TerminoLamina>[] listNuevosTermDiccGlobal;

    List<TerminoLamina>[] listNuevosTermAsocDiccGlobalTemp;
    List<TerminoLamina>[] listNuevosTermDiccGlobalTemp;

    List<TerminoLamina>[] diccionarioTemp;

    @ManagedProperty("#{adminTerminosBean}")
    private AdminTerminosBean adminTerminos;

    /**
     * Creates a new instance of ModifTestBean
     */
    public ModifTestBean() throws IOException, FileNotFoundException, ClassNotFoundException {

        listEliminTest = new ArrayList[10];
        for (int i = 0; i < 10; i++) {
            if (listEliminTest[i] == null) {
                listEliminTest[i] = new ArrayList<>();

            }

        }

        listNuevosTermAsocDicc = new ArrayList[10];

        for (int i = 0; i < 10; i++) {
            if (listNuevosTermAsocDicc[i] == null) {
                listNuevosTermAsocDicc[i] = new ArrayList<>();

            }

        }

        listNuevosTermDicc = new ArrayList[10];

        for (int i = 0; i < 10; i++) {
            if (listNuevosTermDicc[i] == null) {
                listNuevosTermDicc[i] = new ArrayList<>();

            }

        }

        listModifTest = new ArrayList[10];

        listNuevosTermDiccGlobal = new ArrayList[10];

        for (int i = 0; i < 10; i++) {
            if (listNuevosTermDiccGlobal[i] == null) {
                listNuevosTermDiccGlobal[i] = new ArrayList<>();

            }

        }

        listNuevosTermAsocDiccGlobal = new ArrayList[10];

        for (int i = 0; i < 10; i++) {
            if (listNuevosTermAsocDiccGlobal[i] == null) {
                listNuevosTermAsocDiccGlobal[i] = new ArrayList<>();

            }

        }

        if (diccionarioTemp == null) {
            diccionarioTemp = RI.deserializarTerminos();

        }

        //  listNuevosTermDiccGlobalTemp= new ArrayList[10];
        //   listNuevosTermDiccGlobalTemp=deserializarlistNuevosTermDiccGlobal();

        //   listNuevosTermAsocDiccGlobalTemp= new ArrayList[10];
        //   listNuevosTermAsocDiccGlobalTemp=deserializarNuevosTermAsocDiccGlobal();
    }

public void aadirTerminoAsocNuevoTerm(int idLam, Termino term) {

    for (TerminoLamina termLam : listNuevosTermDicc[idLam]) {
        if (termLam.getTermino().equals(term.getTerminoAsociado()) &&(!termLam.getTerminosAsociados().contains(term.getPalabra()))) {
            termLam.getTerminosAsociados().add(term.getPalabra());
            
        System.out.println("se aadio un termino asociado a " + termLam.getTermino());
        }
            
    }

}

public void aadirTerminoAsocNuevoTerminAsoc(int idLam, Termino term) {

    for (TerminoLamina termLam : listNuevosTermAsocDicc[idLam]) {
        if (termLam.getTermino().equals(term.getTerminoAsociado()) &&(!termLam.getTerminosAsociados().contains(term.getPalabra()))) {
            termLam.getTerminosAsociados().add(term.getPalabra());
            
        System.out.println("se aadio un termino asociado a " + termLam.getTermino());
        }
            
    }

}

    public void removeNuevosTerminos(TerminoLamina termino, int idLamina) {
        try {

            //System.out.println(" se quiere eliminar de la lista de terminos ");
            //System.out.println("termino "+termino.getTermino());
            //System.out.println("id de la lamina" + idLamina);
            //hay que borrar tambien los terminos del tesauro
            listNuevosTermDiccGlobalTemp[idLamina].remove(termino);

            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO,
                            "Exito! El trmino fue aceptado en el diccionario de trminos,",
                            "El trmino fue Aceptado "));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void rechazarNuevoTermino(TerminoLamina termino, int idLamina)
            throws IOException, FileNotFoundException, ClassNotFoundException {

        // List<TerminoLamina>[] diccionario= RI.deserializarTerminos(); 
        TerminoLamina terminoEliminar = null;
        for (TerminoLamina termLam : diccionarioTemp[idLamina]) {
            if (termLam.getTermino().equals(termino.getTermino())) {
                terminoEliminar = termLam;
            }
            break;

        }
        diccionarioTemp[idLamina].remove(terminoEliminar);
        listNuevosTermDiccGlobalTemp[idLamina].remove(termino);
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
                "Exito! El trmino fue rechazado, por lo tanto se eliminar del diccionario de trminos.", " "));

        // adminTerminos.serializarTerminos(diccionario);

    }

    public void guardarCambiosDiccionario() throws IOException {
        adminTerminos.serializarTerminos(diccionarioTemp);

        //esta contiene los cambios locales hechos en la lista temp
        serializarListaTemp();

    }

    public void removeNuevosTermAsoc(TerminoLamina termino, int idLamina) {

        if (listNuevosTermAsocDiccGlobalTemp[idLamina].size() == 1) {
            listNuevosTermAsocDiccGlobalTemp[idLamina].clear();

        } else {
            try {

                //System.out.println(" se quiere eliminar de la lista de terminos ");
                //System.out.println("termino "+termino.getTermino());
                //System.out.println("id de la lamina" + idLamina);
                //hay que borrar tambien los terminos del tesauro
                listNuevosTermAsocDiccGlobalTemp[idLamina].remove(termino);
                System.out.println("se elimin el trmino");

                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,
                        "Exito! El trmino Aceptado", "El trmino fue Aceptado "));

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    }

    public void unirListas() throws IOException, FileNotFoundException, ClassNotFoundException {

        System.out.println(" ingresando unir listas");
        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String pathTermNuevos = (String) servletContext.getRealPath("/") + "/Terminos/NuevosTermDiccGlobal.obj";
        String pathTermNuevosAsoc = (String) servletContext.getRealPath("/")
                + "/Terminos/NuevosTermAsocDiccGlobal.obj";
        File f = new File(pathTermNuevos);
        File e = new File(pathTermNuevosAsoc);
        // if(f.exists() && !f.isDirectory()) { 

        if (f.exists() && e.exists()) {

            System.out.println(" la lista de cambios ya existe por lo que se deserializarn");
            listNuevosTermAsocDiccGlobal = deserializarNuevosTermAsocDiccGlobal();
            listNuevosTermDiccGlobal = deserializarlistNuevosTermDiccGlobal();

        }

        List<TerminoLamina>[] terminosTempGlobal = new ArrayList[10];
        System.out.println("comenzando union de listas asoc");
        for (int i = 0; i < 10; i++) {
            System.out.println("union " + i);
            List<TerminoLamina> terminosTemp = ListUtils.union(listNuevosTermAsocDicc[i],
                    listNuevosTermAsocDiccGlobal[i]);
            terminosTempGlobal[i] = terminosTemp;

        }
        System.out.println("comenzando union de listas nuevos terminos");
        List<TerminoLamina>[] terminosTempGlobal2 = new ArrayList[10];
        for (int i = 0; i < 10; i++) {
            System.out.println("union " + i);
            List<TerminoLamina> terminosTemp2 = ListUtils.union(listNuevosTermDicc[i], listNuevosTermDiccGlobal[i]);
            terminosTempGlobal2[i] = terminosTemp2;

        }
        listNuevosTermAsocDiccGlobal = terminosTempGlobal;
        listNuevosTermDiccGlobal = terminosTempGlobal2;

        //serializamos los cambios en las listas del diccionario
        serializarListasCambiosDiccionario();
        System.out.println(" se serializaron las listas globales de cambios en diccionario");

    }

    public List<Termino>[] getListEliminTest() {

        return listEliminTest;
    }

    public void setListEliminTest(List<Termino>[] listEliminTest) {

        if (listEliminTest == null) {
            listEliminTest = new ArrayList[10];

            for (int i = 0; i < 10; i++) {
                if (listEliminTest[i] == null) {
                    listEliminTest[i] = new ArrayList<>();

                }

            }
        }

        this.listEliminTest = listEliminTest;
    }

    public List<Termino>[] getListModifTest() {
        return listModifTest;
    }

    public void setListModifTest(List<Termino>[] listModifTest) {
        this.listModifTest = listModifTest;
    }

    public List<Termino> TermElimID(int idLamina) {
        return listEliminTest[idLamina];
    }

    public List<TerminoLamina>[] getListNuevosTermAsocDicc() {
        return listNuevosTermAsocDicc;
    }

    public void setListNuevosTermAsocDicc(List<TerminoLamina>[] listNuevosTermAsocDicc) {
        this.listNuevosTermAsocDicc = listNuevosTermAsocDicc;
    }

    public List<TerminoLamina>[] getListNuevosTermDicc() {
        return listNuevosTermDicc;
    }

    public void setListNuevosTermDicc(List<TerminoLamina>[] listNuevosTermDicc) {
        this.listNuevosTermDicc = listNuevosTermDicc;
    }

    public List<TerminoLamina>[] getListNuevosTermAsocDiccGlobal() {
        return listNuevosTermAsocDiccGlobal;
    }

    public void setListNuevosTermAsocDiccGlobal(List<TerminoLamina>[] listNuevosTermAsocDiccGlobal) {

        if (listNuevosTermAsocDiccGlobal == null) {
            this.listNuevosTermAsocDiccGlobal = new ArrayList[10];

            for (int i = 0; i < 10; i++) {
                if (this.listNuevosTermAsocDiccGlobal[i] == null) {
                    this.listNuevosTermAsocDiccGlobal[i] = new ArrayList<>();

                }

            }
        }

        this.listNuevosTermAsocDiccGlobal = listNuevosTermAsocDiccGlobal;
    }

    public List<TerminoLamina>[] getListNuevosTermDiccGlobal()
            throws IOException, FileNotFoundException, ClassNotFoundException {

        return listNuevosTermDiccGlobal;
    }

    public void setListNuevosTermDiccGlobal(List<TerminoLamina>[] listNuevosTermDiccGlobal) {

        if (listNuevosTermDiccGlobal == null) {
            this.listNuevosTermDiccGlobal = new ArrayList[10];

            for (int i = 0; i < 10; i++) {
                if (this.listNuevosTermDiccGlobal[i] == null) {
                    this.listNuevosTermDiccGlobal[i] = new ArrayList<>();

                }

            }
        }

        this.listNuevosTermDiccGlobal = listNuevosTermDiccGlobal;
    }

    public void serializarListasCambiosDiccionario() throws FileNotFoundException, IOException {
        System.out.println(" entrando a serializar listas cambios diccionario");
        //serializacin
        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String realPath = (String) servletContext.getRealPath("/"); // Sustituye "/" por el directorio ej: "/upload"

        //serializacin
        try (ObjectOutputStream salida = new ObjectOutputStream(
                new FileOutputStream(realPath + "/Terminos/NuevosTermAsocDiccGlobal.obj"))) {
            salida.writeObject(listNuevosTermAsocDiccGlobal);
            // RecuperacionInformacion.setListaTerminosLaminas2(term);
            System.out.println(" se serializ lista de  nuevos terminos asoc Global");

        }

        try (ObjectOutputStream salida = new ObjectOutputStream(
                new FileOutputStream(realPath + "/Terminos/NuevosTermDiccGlobal.obj"))) {
            salida.writeObject(listNuevosTermDiccGlobal);
            // RecuperacionInformacion.setListaTerminosLaminas2(term);
            System.out.println(" se serializ nuevos terminos global dicc");

        }
        System.out.println(" saliendo serializar listas cambios diccionario");
    }

    public void serializarListaTemp() throws FileNotFoundException, IOException {
        System.out.println(" entrando a serializar listas cambios diccionario");
        //serializacin
        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String realPath = (String) servletContext.getRealPath("/"); // Sustituye "/" por el directorio ej: "/upload"

        //serializacin
        try (ObjectOutputStream salida = new ObjectOutputStream(
                new FileOutputStream(realPath + "/Terminos/NuevosTermAsocDiccGlobal.obj"))) {
            salida.writeObject(listNuevosTermAsocDiccGlobalTemp);
            // RecuperacionInformacion.setListaTerminosLaminas2(term);
            System.out.println(" se serializ lista de  nuevos terminos asoc Global");

        }

        try (ObjectOutputStream salida = new ObjectOutputStream(
                new FileOutputStream(realPath + "/Terminos/NuevosTermDiccGlobal.obj"))) {
            salida.writeObject(listNuevosTermDiccGlobalTemp);
            // RecuperacionInformacion.setListaTerminosLaminas2(term);
            System.out.println(" se serializ nuevos terminos global dicc");

        }
        System.out.println(" saliendo serializar listas cambios diccionario");
    }

    public List<TerminoLamina>[] deserializarNuevosTermAsocDiccGlobal()
            throws FileNotFoundException, IOException, ClassNotFoundException {

        List<TerminoLamina>[] term;

        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String realPath = (String) servletContext.getRealPath("/"); // Sustituye "/" por el directorio ej: "/upload"

        //recuperar los terminos // setearle el rut del examinado para obtenerlo
        ObjectInputStream entrada = new ObjectInputStream(
                new FileInputStream(realPath + "/Terminos/NuevosTermAsocDiccGlobal.obj"));
        term = (List<TerminoLamina>[]) entrada.readObject();

        return term;
    }

    public List<TerminoLamina>[] deserializarlistNuevosTermDiccGlobal()
            throws FileNotFoundException, IOException, ClassNotFoundException {

        List<TerminoLamina>[] term;

        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String realPath = (String) servletContext.getRealPath("/"); // Sustituye "/" por el directorio ej: "/upload"

        //recuperar los terminos // setearle el rut del examinado para obtenerlo
        ObjectInputStream entrada = new ObjectInputStream(
                new FileInputStream(realPath + "/Terminos/NuevosTermDiccGlobal.obj"));
        term = (List<TerminoLamina>[]) entrada.readObject();

        return term;
    }

    public List<TerminoLamina>[] getListNuevosTermAsocDiccGlobalTemp()
            throws IOException, FileNotFoundException, ClassNotFoundException {

        if (listNuevosTermAsocDiccGlobalTemp == null)
            //  terminosTest=deserializarTerminosTest();
            listNuevosTermAsocDiccGlobalTemp = deserializarNuevosTermAsocDiccGlobal();

        return listNuevosTermAsocDiccGlobalTemp;
    }

    public void setListNuevosTermAsocDiccGlobalTemp(List<TerminoLamina>[] listNuevosTermAsocDiccGlobalTemp) {
        this.listNuevosTermAsocDiccGlobalTemp = listNuevosTermAsocDiccGlobalTemp;
    }

    // public List<TerminoLamina>[] getListNuevosTermDiccGlobalTemp() {
    //     return listNuevosTermDiccGlobalTemp;
    // }

    public List<TerminoLamina>[] getListNuevosTermDiccGlobalTemp()
            throws IOException, FileNotFoundException, ClassNotFoundException {

        if (listNuevosTermDiccGlobalTemp == null)
            //  terminosTest=deserializarTerminosTest();
            listNuevosTermDiccGlobalTemp = deserializarlistNuevosTermDiccGlobal();

        return listNuevosTermDiccGlobalTemp;
    }

    public void setListNuevosTermDiccGlobalTemp(List<TerminoLamina>[] listNuevosTermDiccGlobalTemp) {
        this.listNuevosTermDiccGlobalTemp = listNuevosTermDiccGlobalTemp;
    }

    public AdminTerminosBean getAdminTerminos() {
        return adminTerminos;
    }

    public void setAdminTerminos(AdminTerminosBean adminTerminos) {
        this.adminTerminos = adminTerminos;
    }

    public List<TerminoLamina>[] getDiccionarioTemp() {
        return diccionarioTemp;
    }

    public void setDiccionarioTemp(List<TerminoLamina>[] diccionarioTemp) {
        this.diccionarioTemp = diccionarioTemp;
    }

}