Bean.CAT.TerminosBean.java Source code

Java tutorial

Introduction

Here is the source code for Bean.CAT.TerminosBean.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 Dao.CAT.UsuarioDao;
   import Model.CAT.Termino;
   import Model.CAT.TerminoLamina;
   import Model.CAT.Test;
   import Model.CAT.Usuario;
   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.Collections;
   import java.util.Comparator;
   import java.util.List;
   import javax.faces.application.FacesMessage;
   import javax.faces.bean.ManagedBean;
   import javax.faces.bean.ManagedProperty;
   import javax.faces.bean.ViewScoped;
   import javax.faces.context.FacesContext;

   import javax.servlet.ServletContext;
   import org.apache.commons.collections.ListUtils;
   import org.apache.poi.util.ArrayUtil;
   import org.primefaces.context.RequestContext;
   import org.primefaces.event.CellEditEvent;
   import org.primefaces.util.ArrayUtils;

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

   public class TerminosBean {

       private Usuario usuario;
       private Test test;

       @ManagedProperty("#{calcularMetricas}")
       private CalcularMetricas metricas;

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

       @ManagedProperty("#{analisis}")
       private Analisis terminosAnalisis;

       @ManagedProperty("#{modifTestBean}")
       private ModifTestBean modifTestBean;

       //esto debe ir en un relatos bean
       private List<Termino>[] terminosTest;
       private int idRelato;

       private Termino terminoTemp;
       private Termino terminoTemp2;
       private Termino terminoTemp2Copia;

       private int relatoActual;

       public TerminosBean() throws IOException, FileNotFoundException, ClassNotFoundException {

           // terminosTest=new ArrayList[2];
           test = new Test();
           usuario = new Usuario();
           terminoTemp2 = new Termino();
           terminoTemp2Copia = new Termino();

       }

       //    public List<Termino> getTerminosRelato(int idRelato) throws IOException, FileNotFoundException, ClassNotFoundException{
       //        
       //        
       //        getTerminosTest();
       //       
       //           System.out.println(" el id test es "+test.getIdTest());
       //         System.out.println(" el rut examinado es "+test.getRutExaminado());
       //          System.out.println(" el id relato es "+idRelato);
       //        
       //        /*
       //        System.out.println(" el id test es "+test.getIdTest());
       //         System.out.println(" el rut examinado es "+test.getRutExaminado());
       //          System.out.println(" el id relato es "+idRelato);
       //          for (List termino : terminosTest){
       //              System.out.println(" hola ");
       //              
       //              for (Object term: termino){
       //                  Termino terminito= (Termino)term;
       //                  System.out.println(" la palabra que tiene es"+terminito.getPalabra());
       //   
       //              }
       //
       //          }
       //          */
       //        
       //        return terminosTest[idRelato];
       //
       //    }
       //

       public List<Termino>[] getTerminosTest() throws IOException, FileNotFoundException, ClassNotFoundException {

           if (terminosTest == null)
               //  terminosTest=deserializarTerminosTest();
               terminosTest = terminosAnalisis.getTerminosTest();

           return terminosTest;
       }

       public List<Termino> getTerminosRelato(int idRelato)
               throws IOException, FileNotFoundException, ClassNotFoundException {

           List<Termino>[] listaTerms = terminosAnalisis.getTerminosTest();

           return listaTerms[idRelato];
       }

       public List<Termino> getTerminosRelatoSerializado(int idRelato)
               throws IOException, FileNotFoundException, ClassNotFoundException {

           List<Termino>[] terminosTestLocal = deserializarTerminosTest();

           return terminosTestLocal[idRelato];

       }

       public List<Termino>[] deserializarTerminosTest()
               throws FileNotFoundException, IOException, ClassNotFoundException {

           List<Termino>[] terminos;
           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 + "/Tests/" + test.getIdTest() + ".obj"));
           terminos = (List<Termino>[]) entrada.readObject();

           return terminos;
       }

       public void guardarTerminosDiccionario() throws IOException {

           //hay que serializar los terminos;
           adminTerminos.serializarTerminos();

       }

   public void calcularMetricasTest() throws IOException, FileNotFoundException, ClassNotFoundException{
        
      // se setean como null y se calcularn de nuevo 
   //  modifTestBean.setListNuevosTermAsocDiccTest(null);
   //  modifTestBean.setListNuevosTermDiccTest(null);
      

      
  //calcularCambios me genera nuevas listas, hay que unirlas con la global
      
    // List<TerminoLamina>[] newList = new ArrayList[10];
   //  newList=modifTestBean.listNuevosTermAsocDicc;
   //CONCATENAR
    
      
        
        //guardamos el test
         
            UsuarioDao dao= new UsuarioDao();
         //aca debemos insertar en la bd el test y los relatos 
         // primero insertamos, luego seteamos el valor del idTest a analisis
             
            System.out.println("el test a ingresar es "+test.getIdTest());
       
            //ac hay que ver cuando se edita el test en la base de datos
             
            if(!dao.existeIdTest(test.getIdTest())){ 
               dao.insertarTest(terminosAnalisis.getRelatos(),terminosAnalisis.getRutExaminado(),terminosAnalisis.getRutUsuario()); 
               System.out.println("No existe el idTest as que se insert");
      
             // si es el primer test el que se insert
               if(terminosAnalisis.getIdTest()==1){
      
                   //No ocuparemos Analisis = analisis = new Analisis(); porque esto me lo crea de 0
                   //terminosAnalisis es una copia de Analisis.
                   terminosAnalisis.setIdTest(dao.getUltimoTest());
                   test.setIdTest(dao.getUltimoTest());
                   System.out.println(" el test =1 y se cambi a"+(dao.getUltimoTest())+1);
       }

             
            }else{
                   //si existe se actualizan los relatos
                    
                   dao.modificarRelatosTest(test.getIdTest(),terminosAnalisis.getRelatosEditar());
                   System.out.println("se modificaron los relatos");
               }
             
       
       
        
        
        
              
                  //serilizar el test
       //luego calcular las metricas
        
       serializarTest();
       //hay que serializar los terminos;
        
           
        
 
      
 //  estos no se debe guardar ya que se guardan antes
 //    adminTerminos.serializarTerminos();
        
       metricas.calcularMetricaTest(test.getIdTest());
       
           calcularCambiosDicc();
     
    //aade y serializa los terminos en diccionario
    aadirNuevosTerminosListaDicc();
    modifTestBean.unirListas();
     
       System.out.println("seteando listas no globales null");
    modifTestBean.setListNuevosTermAsocDicc(null);
    modifTestBean.setListNuevosTermDicc(null);
      
        
     
       modifTestBean.setListEliminTest(null);
        
       
       
         
        
        
        
      //Esto es importante ya que ac redireccionaremos una vez terminado el anlisis 
       FacesContext fc=FacesContext.getCurrentInstance();
        fc.getExternalContext().redirect("/Proyecto/faces/CATPages/consultarResultadoAnalisis.xhtml?idTest="+test.getIdTest());//redirecciona la pgina
        
        
        
   }

   public void calcularCambiosDicc() throws IOException, FileNotFoundException, ClassNotFoundException{
        
       System.out.println("calculando cambios");
        
    //   for (List<TerminoLamina> terminosLamina: adminTerminos.getTerm() ){
//
  //     }
        
       
       List<TerminoLamina>[] termLaminasTemp=RI.deserializarTerminos();
        
        // recorreremos todos los cambios que se hicieron en el diccionario en admin terminos // los cuales no guardaremos
       // porque se guardaran una vez se contabilizen todos y no mientras se vayan aadiendo
        
       for (int i = 0; i < 10; i++) {
           
           for(Termino termino:terminosTest[i]){
 
               // si el termino no tiene termino asociado
                
              if (!termino.getTerminoAsociado().equals("-")){
                
               if(!adminTerminos.existeTermino(termLaminasTemp[i],termino.getTerminoAsociado())){
                   System.out.println(" el termino no existe en el diccionario" +termino.getPalabra()+ "termino asociado: "+termino.getTerminoAsociado());
                 // no existe el trmino en el diccionario, hay que aadirlo a la lista de trminos
                   
                   if(!adminTerminos.existeTermino(modifTestBean.listNuevosTermDicc[i],termino.getTerminoAsociado())){
                   // si no existe en los nuevos terminos a aadir, lo aadimos a la lista 
                       System.out.println(" no existe el termino en la lista de nuevos terminos: "+termino.getPalabra()+" el termino asociado es: "+termino.getTerminoAsociado());
                   List termAsoc=new ArrayList();
                    
                   if(!termino.getTerminoAsociado().equals(termino.getPalabra())){
                       // si son distintos el termino y su asociado, se aade a la lista de asociados
                       termAsoc.add(termino.getPalabra());
                   }
                    
                   TerminoLamina nuevoTermLam= new TerminoLamina(termino.getTerminoAsociado(),termino.getConnotacion(), termAsoc);
                      modifTestBean.listNuevosTermDicc[i].add(nuevoTermLam);
                   }else{
                       System.out.println(" este termino ya se encontr en la lista de nuevos terminos: "+termino.getPalabra());
                        
                       System.out.println(" pasando a aadirlo a termino asociado");
                      // si ya existe en esta lista hay que aadirlo a termino asociado
                       modifTestBean.aadirTerminoAsocNuevoTerm(i, termino);
                        
                   }
                       
               }else{
                   // si el termino ya existe hay que aadirlo a terminos asociados
                   System.out.println(" el termino ya existe en el diccionario"+termino.getPalabra()+" asociado: "+termino.getTerminoAsociado());
                 for(TerminoLamina termiLami: termLaminasTemp[i]) {
                     if(termiLami.getTermino().equals(termino.getTerminoAsociado())&&(!termiLami.getTerminosAsociados().contains(termino.getPalabra()))){
                          
                                  
                               // si coinciden los terminos y no est el termino asociado ya en l se aadir un nuevo objeto
                        if(!adminTerminos.existeTermino(modifTestBean.listNuevosTermAsocDicc[i],termino.getTerminoAsociado())){
                            System.out.println(" no existe el termino "+ termino.getPalabra()+" en la nueva lista de terminos existentes");
                            System.out.println("creamos el objeto");
                            List terminosAsocExist= new ArrayList();
                             
                             if(!termino.getTerminoAsociado().equals(termino.getPalabra())){
                       // si son distintos el termino y su asociado, se aade a la lista de asociados
                        terminosAsocExist.add(termino.getPalabra());
                   }
                             
                         
                          
                         TerminoLamina nuevoTermAsocExist = new TerminoLamina(termiLami.getTermino(),termiLami.getConnotacion(), terminosAsocExist);
                         modifTestBean.listNuevosTermAsocDicc[i].add(nuevoTermAsocExist);
                          
                        }else{
                             
                            System.out.println(" ya existe el termino "+termino.getPalabra() + "y termino asoc"+termino.getTerminoAsociado() +"en terminos asociados de terminos asoc");
                          // si ya existe en esta lista hay que aadirlo a termino asociado
                       modifTestBean.aadirTerminoAsocNuevoTerminAsoc(i, termino);   
                        }
                         
                        break;
                     }
                 } 
                    
                    
                    
               }
                
            } 
           }
            
            
            
       }
        
        
   }

   public void aadirNuevosTerminosListaDicc() throws IOException, FileNotFoundException, ClassNotFoundException {
     //primero los de la lista de nuevos trminos
        
       System.out.println("aadiendo nuevos terminos en el diccionario");
        
  List<TerminoLamina>[] diccionario= RI.deserializarTerminos(); 
        
       //aadimos los nuevos trminos
       for (int i = 0; i < 10; i++) {
           for(TerminoLamina termLamAadir:modifTestBean.listNuevosTermDicc[i]){
               diccionario[i].add(termLamAadir);
               System.out.println("    aadiendo nuevo termino al diccionario encontrado"+termLamAadir.getTermino()+" y terminos asociados" +termLamAadir.getTerminosAsociadosString());
                }
    
           }
        
       //aadimos los trminos asociados
       for (int i = 0; i < 10; i++) {
           for(TerminoLamina termLamAadir:modifTestBean.listNuevosTermAsocDicc[i]){
                 for(TerminoLamina termLam:diccionario[i]){
                    if (termLam.getTermino().equals(termLamAadir.getTermino())){
                        //aadir los trminos asociados 
                   List<String> listaNueva =  ListUtils.union(termLamAadir.getTerminosAsociados(),termLam.getTerminosAsociados());
                       termLam.setTerminosAsociados(listaNueva);
                        
                        System.out.println("aadiendo al diccionario terminosasoc"+termLamAadir.getTerminosAsociadosString());

                    }

                 }

                }
           }
        
       //terminado el proceso se serializan los trminos que se modificaron
       adminTerminos.serializarTerminos(diccionario);
       System.out.println(" se serializaron nuevos terminos");
       System.out.println("finaliz aadir nuevos terminos");
        
   }

       public void serializarTest() throws IOException {

           //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 + "/Tests/" + test.getIdTest() + ".obj"))) {
               salida.writeObject(terminosTest);
               System.out.println(" se serializ");

           }

       }

       public void remove(Termino termino, int idLamina) {
           try {

               System.out.println("id lamina a eliminar " + idLamina);
               System.out.println("termino " + termino.getPalabra());

               if (terminosTest[idLamina].size() != 1) {
                   //hay que borrar tambien los terminos del tesauro
                   terminosTest[idLamina].remove(termino);

                   //aadir a los terminos eliminados para ese test
                   modifTestBean.listEliminTest[idLamina].add(termino);

                   System.out.println(" se ha eliminado");
                   //terminoTemp=new Termino();
               } else {
                   FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
                           "Error al eliminar el trmino! La cantidad de trminos para el relato no puede ser 0.",
                           ""));
               }

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

       public void devolverTermino(Termino termino, int idLamina) {
           //este mtodo devuelve los trminos a la lista y los quita de la lista de terminos eliminados

           for (Termino term : modifTestBean.listEliminTest[idLamina]) {

               if (term.equals(termino)) {
                   terminosTest[idLamina].add(termino);
                   modifTestBean.listEliminTest[idLamina].remove(term);

                   //ordenamos nuevamente la coleccion

                   Comparator<Termino> ordenAlfabetico = new Comparator<Termino>() {
                       @Override

                       public int compare(Termino a, Termino b) {
                           return a.getPalabra().compareTo(b.getPalabra());

                       }
                   };

                   Collections.sort(terminosTest[idLamina], ordenAlfabetico);

                   return;
               }

           }

       }

       public void editarTermino(int idLamina) {
           System.out.println(" vamos a editar " + idLamina);

       }

       public void onCellEdit(CellEditEvent event) {
           Object oldValue = event.getOldValue();
           Object newValue = event.getNewValue();

           if (newValue != null && !newValue.equals(oldValue)) {
               FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cell Changed",
                       "Old: " + oldValue + ", New:" + newValue);
               FacesContext.getCurrentInstance().addMessage(null, msg);
           }
       }

       public String clasificacion(int connotacion) {
           //Metodo que dada una clasificacion me retorna el string correspondiente
           String clasif = "Neutro";
           if (connotacion == 0)
               return "Negativo";
           if (connotacion == 1)
               return "Positivo";

           return clasif;
       }

       public Usuario getUsuario() {
           return usuario;
       }

       public void setUsuario(Usuario usuario) {
           this.usuario = usuario;
       }

       public Test getTest() {
           return test;
       }

       public void setTest(Test test) {
           this.test = test;
       }

       public int getIdRelato() {
           return idRelato;
       }

       public void setIdRelato(int idRelato) {
           this.idRelato = idRelato;
       }

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

       public Termino getTerminoTemp() {
           return terminoTemp;
       }

       public void setTerminoTemp(Termino terminoTemp) {
           this.terminoTemp = terminoTemp;
       }

       public Termino getTerminoTemp2() {
           return terminoTemp2;
       }

       public void setTerminoTemp2(Termino terminoTemp2) {
           this.terminoTemp2 = terminoTemp2;
       }

       public CalcularMetricas getMetricas() {
           return metricas;
       }

       public void setMetricas(CalcularMetricas metricas) {
           this.metricas = metricas;
       }

       public AdminTerminosBean getAdminTerminos() {
           return adminTerminos;
       }

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

       public Analisis getTerminosAnalisis() {
           return terminosAnalisis;
       }

       public void setTerminosAnalisis(Analisis terminosAnalisis) {
           this.terminosAnalisis = terminosAnalisis;
       }

       public Termino getTerminoTemp2Copia() {
           return terminoTemp2Copia;
       }

       public void setTerminoTemp2Copia(Termino terminoTemp2Copia) {
           this.terminoTemp2Copia = terminoTemp2Copia;
       }

       public void destroy() {
           System.out.println(" se destruyo");
       }

       public void cerrarDialog() {

           //existe el termino por lo cual tiene que volver a ser el mismo
           // terminoTemp2Copia.setTerminoAsociado("");
           terminoTemp2Copia.setTerminoAsociado("");
           System.out.println(" se cambi al trmino original");

           RequestContext rc = RequestContext.getCurrentInstance();
           rc.execute("PF('dlgmodificar3').hide();");

           System.out.println("termino" + terminoTemp2.getTerminoAsociado());
           System.out.println("copia" + terminoTemp2Copia.getTerminoAsociado());

       }

       public void validarTerminoDesdeRectificar(Termino termino) throws IOException, FileNotFoundException, ClassNotFoundException{
           //Este metodo valida la entrada vaca o "-"
           if(((termino.getTerminoAsociado().length())==0 )||(termino.getTerminoAsociado().equals("-"))){
               System.out.println("termino invalido : vacio o '-'");
               //termino invalido es necesario que se vuelva al termino anterior
                //recuperar los terminos // setearle el rut del examinado para obtenerlo
               ObjectInputStream entrada = new ObjectInputStream(new FileInputStream("Datos.obj"));
               List<Termino>[] terminosTestsClone = (List<Termino>[])entrada.readObject();
               System.out.println(" se deserializ");
                
                
               Termino terminoOriginal=new Termino();
               
                   //hay que devolverlo a su valor real y no al modificado.
                    
                   for (Termino terminoRecorrer:terminosTestsClone[termino.getIdLmina()]){
                       //rescatamos la coincidencia
                       if (terminoRecorrer.getPalabra().equals(termino.getPalabra())){
                           terminoOriginal=terminoRecorrer;
                           //se devuelve al valor anterior
                           terminoTemp2.setTerminoAsociado(terminoRecorrer.getTerminoAsociado());
                           break;
                        //   terminoTemp2.setTerminoAsociado(terminoRecorrer.getTerminoAsociado());
                           //se cambi a su valor anterior

                         //  System.out.println("se cambi a su valor anterior"+terminoRecorrer.getPalabra());
                       }
                        
                   }
                    
                 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error al aadir trmino! El trmino es errneo.", ""));
                
                
                
           }else{
              //terminoValido
               aadirNuevoTerminoDesdeRectificar(termino);
           }
            
            
       }

       public void aadirNuevoTerminoDesdeRectificar(Termino termino) throws FileNotFoundException, IOException, ClassNotFoundException{
             // desde rectificar terminos estamos agregando una nueva palabra al diccionario con id relato y termino asociado al cual hay que aadirla
         //   List<Termino>[]  terminosTestsClone=(List<Termino>[])terminosAnalisis.getTerminosTest().clone();
              
         // ObjectOutputStream salida = new ObjectOutputStream(new FileOutputStream("Datos.obj"));
         //      salida.writeObject(terminosAnalisis.getTerminosTest());
         //      System.out.println(" se serializ");
                
               //recuperar los terminos // setearle el rut del examinado para obtenerlo
               ObjectInputStream entrada = new ObjectInputStream(new FileInputStream("Datos.obj"));
               List<Termino>[] terminosTestsClone = (List<Termino>[])entrada.readObject();
               System.out.println(" se deserializ");
                
                
            
      
                
             System.out.println("ela palabra a aadir es "+termino.getPalabra());
             System.out.println(" el id relato es"+termino.getIdLmina());
             System.out.println(" el nuevo Termino es  "+termino.getTerminoAsociado());
              
             String palabraAadir=termino.getPalabra();
             int idRelato=termino.getIdLmina();
             String nuevoTermino=termino.getTerminoAsociado();
             int connotacion=termino.getConnotacion();
              
         
          if(!adminTerminos.existeTermino(adminTerminos.getTerm()[idRelato], termino.getTerminoAsociado())){      
            //verificar que no exista en la lista para aadirla si existe lanzar mensaje
             if(palabraAadir.equals(nuevoTermino)){
                  
             //tener cuidado con el null en la lista
             TerminoLamina nuevo =new TerminoLamina(palabraAadir, connotacion, new ArrayList());
                 this.adminTerminos.getTerm()[idRelato].add(nuevo);
                  
              }else{
                 List<String> lista= new ArrayList<>();
                 lista.add(palabraAadir);
                  TerminoLamina nuevo =new TerminoLamina(nuevoTermino, connotacion, lista);
                  this.adminTerminos.getTerm()[idRelato].add(nuevo);
                  
             }
              
               
                   System.out.println(" no existe el termino");
                    
               //ac hay que actualizar todas las coincidencias de ese trmino en la tabla
                   actualizarTerminosTablaNuevoTermino(termino);
                    
                    
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "xito se aadi el termino ingresado al Diccionario", "")); 
                
           
          }else{
                    
               
              System.out.println("el termino ya existe");
          
               
            Termino terminoOriginal=new Termino();
               
                   //hay que devolverlo a su valor real y no al modificado.
                    
                   for (Termino terminoRecorrer:terminosTestsClone[termino.getIdLmina()]){
                       //rescatamos la coincidencia
                       if (terminoRecorrer.getPalabra().equals(termino.getPalabra())){
                           terminoOriginal=terminoRecorrer;
                           break;
                        //   terminoTemp2.setTerminoAsociado(terminoRecorrer.getTerminoAsociado());
                           //se cambi a su valor anterior

                         //  System.out.println("se cambi a su valor anterior"+terminoRecorrer.getPalabra());
                       }
                        
                   }
                    
                   //ac actualizamos todos los valores
                    
                    for (Termino term:terminosTest[idRelato]){
                 if (term.getPalabra().equals(terminoOriginal.getPalabra())){
                   term.setTerminoAsociado(terminoOriginal.getTerminoAsociado());
                   term.setConnotacion(terminoOriginal.getConnotacion());
                 }
                  
             }
                    
                    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error al aadir trmino! ste ya existe en el diccionario o es errneo.", "")); 
                    
                   //terminoTemp2.setTerminoAsociado("mama");
                    
               }
          //    RequestContext rc = RequestContext.getCurrentInstance();
  // rc.execute("PF('dlgmodificar3').hide();");
              
         }

       public void actualizarTerminosTablaNuevoTermino(Termino termino){
               
                System.out.println("ela palabra a aadir es "+termino.getPalabra());
             System.out.println(" el id relato es"+termino.getIdLmina());
             System.out.println(" el nuevo Termino es  "+termino.getTerminoAsociado());
              
             String palabraAadir=termino.getPalabra();
             int idRelato=termino.getIdLmina();
             String nuevoTermino=termino.getTerminoAsociado();
             int connotacion=termino.getConnotacion();
              
             for (Termino term:terminosTest[idRelato]){
                 if (term.getPalabra().equals(termino.getPalabra())){
                   term.setTerminoAsociado(termino.getTerminoAsociado());
                   term.setConnotacion(termino.getConnotacion());
                 }
                  
             }
               
          }

       public ModifTestBean getModifTestBean() {
           return modifTestBean;
       }

       public void setModifTestBean(ModifTestBean modifTestBean) {
           this.modifTestBean = modifTestBean;
       }

       public int getRelatoActual() {
           return relatoActual;
       }

       public void setRelatoActual(int relatoActual) {
           this.relatoActual = relatoActual;
       }

   }