hibernatefestival.HibernateFestival.java Source code

Java tutorial

Introduction

Here is the source code for hibernatefestival.HibernateFestival.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 hibernatefestival;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 *
 * @author JuanPablo
 */
public class HibernateFestival {

    public static void main(String[] args) {

        //CONFIGURACION DE CONEXION CON BD
        Configuration cfg = new Configuration().configure();
        SessionFactory sf = cfg.buildSessionFactory();
        Session ses = sf.openSession();
        Transaction tx = ses.beginTransaction();
        ////////////////////////////////////////////////////

        //VARIABLES
        Boolean quedarse = true; //para el bucle while
        int opcion = 0; //opcion elegida
        Scanner sc = new Scanner(System.in);

        Query query;
        /////////////////

        /*/////////////EJEMPLO TRAER, MODIFICAR Y BORRAR
        Cancion can = (Cancion) ses.load(Cancion.class, 1 );
        System.out.println(can.getTitulo());
        System.out.println(can.getRuta());
        //le cambio la ruta
        can.setRuta("www.pepelurutaaa");
        ses.save(can);
        //e imprimo de nuevo
        System.out.println(can.getTitulo());
        System.out.println(can.getRuta());
            
        para borrar, haces la busqueda y pones ses.save(objetoAborrar)
        /*/
        /////////////////////////////////////////////////////

        /*  POR SI TENGO KE METERLOS OTRA VEZ
        Cantante c1 = new Cantante("Enrique Bunbury", true);
        ses.save(c1);
            
        Cantante c2 = new Cantante("Paul McCartney", true);
        ses.save(c2);
            
        Guitarra g1 = new Guitarra("Santi Campillo", true);
        ses.save(g1);
            
        Guitarra g2 = new Guitarra("Santana", true);
        ses.save(g2);
            
        Festival f1 = new Festival("Zaidin Festival", "Granada", true);
        ses.save(f1);
            
        Festival f2 = new Festival("SOS Festival", "Murcia", true);
        ses.save(f2);
            
            
        Grupo g1 = new Grupo("SpanishGroup", 1, 1, true);
        ses.save(g1);
            
        Grupo g2 = new Grupo("InternationalGroup", 2, 2, true);
        ses.save(g2);
            
            
        Cartel c1 = new Cartel(1, 1, true);
        ses.save(c1);
        */

        System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
        System.out.println("Bienvenido al gestor de grupos y festivales de msica!!");

        do {

            System.out.println("\nQue desea realizar?");
            System.out.println("\t1 para ver LISTA de CANTANTES");
            System.out.println("\t2 para insertar/modificar/eliminar CANTANTE\n");
            System.out.println("\t3 para ver LISTA de GUITARRAS");
            System.out.println("\t4 para insertar/modificar/eliminar GUITARRA\n");
            System.out.println("\t5 para ver LISTA de GRUPOS");
            System.out.println("\t6 para insertar/modificar/eliminar GRUPOS\n");
            System.out.println("\t7 para ver LISTA de FESTIVALES");
            System.out.println("\t8 para insertar/modificar/eliminar FESTIVAL\n");
            System.out.println("\t9 para ver LISTA de CARTELES DE FESTIVALES");
            System.out.println("\t10 para insertar o eliminar un grupo de un CARTEL DE FESTIVAL\n");
            System.out.println("\t11 para GUARDAR y SALIR");
            opcion = sc.nextInt();

            switch (opcion) {

            case 1:

                mostrarCantantes(ses);

                break;

            case 2:

                System.out.println(
                        "\nQue desea realizar?\nPulse 1 para insertar nuevo\nPulse 2 para modificar\nPulse 3 para eliminar");
                opcion = sc.nextInt();

                if (opcion == 1) {
                    sc.nextLine();
                    System.out.println("Introduce el nombre del cantante: ");
                    String nombre = sc.nextLine();
                    Cantante can = new Cantante(nombre, true);
                    ses.save(can);
                    System.out.println("\n\tNuevo cantante aadido correctamente");
                }

                if (opcion == 2) {

                    System.out.println("Te mostramos los cantantes: ");
                    mostrarCantantes(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del cantante que desea modificar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE CANTANTE
                    if (ses.createQuery("SELECT p FROM Cantante p WHERE id=" + id).uniqueResult() != null) {
                        Cantante can = (Cantante) ses.createQuery("SELECT p FROM Cantante p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO MODIFICO
                        sc.nextLine(); //sino no furula
                        System.out.println("Introduzca el nuevo nombre del cantante: ");
                        String nombre = sc.nextLine();
                        can.setNombre(nombre);
                        ses.save(can);
                        System.out.println("\n\tCantante modificado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tCantante no encontrado");
                    }
                }

                if (opcion == 3) {

                    System.out.println("Te mostramos los cantantes: ");
                    mostrarCantantes(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del cantante que desea eliminar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE CANTANTE
                    if (ses.createQuery("SELECT p FROM Cantante p WHERE id=" + id).uniqueResult() != null) {
                        Cantante can = (Cantante) ses.createQuery("SELECT p FROM Cantante p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO BORRO, QUE EN REALIDAD NO SE BORRA, SE CAMBIA A FALSE
                        can.setVisible(false);
                        ses.save(can);
                        System.out.println("\n\tCantante eliminado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tCantante no encontrado");
                    }
                }

                break;

            case 3:

                mostrarGuitarras(ses);

                break;

            case 4:

                System.out.println(
                        "\nQue desea realizar?\nPulse 1 para insertar nuevo\nPulse 2 para modificar\nPulse 3 para eliminar");
                opcion = sc.nextInt();

                if (opcion == 1) {
                    sc.nextLine();
                    System.out.println("Introduce el nombre del guitarra: ");
                    String nombre = sc.nextLine();
                    Guitarra gui = new Guitarra(nombre, true);
                    ses.save(gui);
                    System.out.println("\n\tNuevo guitarra aadido correctamente");
                }

                if (opcion == 2) {

                    System.out.println("Te mostramos los guitarras: ");
                    mostrarGuitarras(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del guitarra que desea modificar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE GUITARRA
                    if (ses.createQuery("SELECT p FROM Guitarra p WHERE id=" + id).uniqueResult() != null) {
                        Guitarra gui = (Guitarra) ses.createQuery("SELECT p FROM Guitarra p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO MODIFICO
                        sc.nextLine(); //sino no furula
                        System.out.println("Introduzca el nuevo nombre del guitarra: ");
                        String nombre = sc.nextLine();
                        gui.setNombre(nombre);
                        ses.save(gui);
                        System.out.println("\n\tGuitarra modificado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tGuitarra no encontrado");
                    }
                }

                if (opcion == 3) {

                    System.out.println("Te mostramos los guitarras: ");
                    mostrarGuitarras(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del guitarra que desea eliminar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE GUITARRA
                    if (ses.createQuery("SELECT p FROM Guitarra p WHERE id=" + id).uniqueResult() != null) {
                        Guitarra gui = (Guitarra) ses.createQuery("SELECT p FROM Guitarra p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO BORRO, QUE EN REALIDAD NO SE BORRA, SE CAMBIA A FALSE
                        gui.setVisible(false);
                        ses.save(gui);
                        System.out.println("\n\tGuitarra eliminado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tGuitarra no encontrado");
                    }
                }

                break;

            case 5:

                mostrarGrupos(ses);

                break;

            case 6:

                System.out.println(
                        "\nQue desea realizar?\nPulse 1 para insertar nuevo\nPulse 2 para modificar\nPulse 3 para eliminar");
                opcion = sc.nextInt();

                if (opcion == 1) {
                    sc.nextLine();
                    System.out.println("Introduce el nombre del grupo: ");
                    String nombre = sc.nextLine();
                    System.out.println("\nTe muestro los guitarras: ");
                    mostrarGuitarras(ses);
                    System.out.println("Introduce el ID del guitarra seleccionado para el grupo:");
                    int guitarra = sc.nextInt();
                    sc.nextLine();//bsica

                    System.out.println("\nTe muestro los cantantes: ");
                    mostrarCantantes(ses);
                    System.out.println("Introduce el ID del cantante seleccionado para el grupo:");
                    int cantante = sc.nextInt();
                    sc.nextLine();//bsica

                    Grupo gru = new Grupo(nombre, guitarra, cantante, true);
                    ses.save(gru);
                    System.out.println("\n\tNuevo grupo aadido correctamente");
                }

                if (opcion == 2) {

                    System.out.println("Te mostramos los grupos: ");
                    mostrarGrupos(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del grupo que desea modificar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE GRUPO
                    if (ses.createQuery("SELECT p FROM Grupo p WHERE id=" + id).uniqueResult() != null) {
                        Grupo gru = (Grupo) ses.createQuery("SELECT p FROM Grupo p WHERE id=" + id).uniqueResult();
                        //Y LUEGO LO MODIFICO
                        sc.nextLine(); //sino no furula
                        System.out.println("Introduzca el nuevo nombre del grupo: ");
                        String nombre = sc.nextLine();
                        System.out.println("\nTe muestro los guitarras: ");
                        mostrarGuitarras(ses);
                        System.out.println("Introduce el ID del guitarra seleccionado para el grupo:");
                        int guitarra = sc.nextInt();
                        sc.nextLine();//bsica

                        System.out.println("\nTe muestro los cantantes: ");
                        mostrarCantantes(ses);
                        System.out.println("Introduce el ID del cantante seleccionado para el grupo:");
                        int cantante = sc.nextInt();
                        sc.nextLine();//bsica

                        gru.setNombre(nombre);
                        gru.setGuitarraId(guitarra);
                        gru.setCantanteId(cantante);
                        ses.save(gru);
                        System.out.println("\n\tGrupo modificado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tGrupo no encontrado");
                    }
                }

                if (opcion == 3) {

                    System.out.println("Te mostramos los grupos: ");
                    mostrarGrupos(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del grupo que desea eliminar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE GRUPO
                    if (ses.createQuery("SELECT p FROM Grupo p WHERE id=" + id).uniqueResult() != null) {
                        Grupo gru = (Grupo) ses.createQuery("SELECT p FROM Grupo p WHERE id=" + id).uniqueResult();
                        //Y LUEGO LO BORRO, QUE EN REALIDAD NO SE BORRA, SE CAMBIA A FALSE
                        gru.setVisible(false);
                        ses.save(gru);
                        System.out.println("\n\tGrupo eliminado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tGrupo no encontrado");
                    }
                }

                break;

            case 7:

                mostrarFestivales(ses);

                break;

            case 8:

                System.out.println(
                        "\nQue desea realizar?\nPulse 1 para insertar nuevo\nPulse 2 para modificar\nPulse 3 para eliminar");
                opcion = sc.nextInt();

                if (opcion == 1) {
                    sc.nextLine();
                    System.out.println("Introduce el nombre del festival: ");
                    String nombre = sc.nextLine();
                    System.out.println("Introduce la ciudad donde se realiza: ");
                    String ciudad = sc.nextLine();
                    Festival fes = new Festival(nombre, ciudad, true);
                    ses.save(fes);
                    System.out.println("\n\tNuevo festival aadido correctamente");
                }

                if (opcion == 2) {

                    System.out.println("Te mostramos los festivales: ");
                    mostrarFestivales(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del festival que desea modificar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE FESTIVAL
                    if (ses.createQuery("SELECT p FROM Festival p WHERE id=" + id).uniqueResult() != null) {
                        Festival fes = (Festival) ses.createQuery("SELECT p FROM Festival p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO MODIFICO
                        sc.nextLine(); //sino no furula
                        System.out.println("Introduzca el nuevo nombre del festival: ");
                        String nombre = sc.nextLine();
                        System.out.println("Introduzca la nueva ciudad del festival: ");
                        String ciudad = sc.nextLine();
                        fes.setNombre(nombre);
                        fes.setCiudad(ciudad);
                        ses.save(fes);
                        System.out.println("\n\tFestival modificado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tFestival no encontrado");
                    }
                }

                if (opcion == 3) {

                    System.out.println("Te mostramos los festivales: ");
                    mostrarFestivales(ses);

                    Boolean encontrado = false;
                    sc.nextLine();
                    System.out.println("Introduzca el ID del festival que desea eliminar: ");
                    int id = sc.nextInt();
                    //PRIMERO HAGO UNA BUSQUEDA DE ESE FESTIVAL 
                    if (ses.createQuery("SELECT p FROM Festival p WHERE id=" + id).uniqueResult() != null) {
                        Festival fes = (Festival) ses.createQuery("SELECT p FROM Festival p WHERE id=" + id)
                                .uniqueResult();
                        //Y LUEGO LO BORRO, QUE EN REALIDAD NO SE BORRA, SE CAMBIA A FALSE
                        fes.setVisible(false);
                        ses.save(fes);
                        System.out.println("\n\tFestival eliminado corectamente");
                        encontrado = true;
                    }

                    if (!encontrado) {
                        System.out.println("\n\tFestival no encontrado");
                    }
                }

                break;

            case 9:

                mostrarCarteles(ses);

                break;

            case 10:

                System.out.println(
                        "\nQue desea realizar?\nPulse 1 para insertar grupo en cartel de festival\nPulse 2 para eliminar del cartel");
                opcion = sc.nextInt();

                if (opcion == 1) {
                    sc.nextLine();
                    System.out.println("Te mostramos los festivales: ");
                    mostrarFestivales(ses);
                    System.out.println("Introduce el id del festival: ");
                    int idFestival = sc.nextInt();
                    sc.nextLine();
                    System.out.println("\nTe muestro los grupos: ");
                    mostrarGrupos(ses);
                    System.out.println(
                            "Introduce el ID del grupo seleccionado para aadir en el cartel del festival:");
                    int idGrupo = sc.nextInt();
                    sc.nextLine();//bsica

                    Cartel car = new Cartel(idFestival, idGrupo, true);
                    ses.save(car);
                    System.out.println("\n\tNuevo grupo aadido al cartel del festival correctamente");
                }

                if (opcion == 2) {
                    sc.nextLine();
                    System.out.println("Te mostramos los festivales: ");
                    mostrarFestivales(ses);
                    System.out.println("Introduce el id del festival de donde vamos a eliminar grupo: ");
                    int idFestival = sc.nextInt();
                    sc.nextLine();
                    System.out.println("\nTe muestro los grupos: ");
                    mostrarGrupos(ses);
                    System.out.println("Introduce el ID del grupo para borrar del cartel del festival:");
                    int idGrupo = sc.nextInt();
                    sc.nextLine();//bsica

                    if (ses.createQuery(
                            "SELECT p FROM Cartel p WHERE festival=" + idFestival + "AND grupo=" + idGrupo)
                            .uniqueResult() != null) {
                        Cartel car = (Cartel) ses.createQuery(
                                "SELECT p FROM Cartel p WHERE festival=" + idFestival + "AND grupo=" + idGrupo)
                                .uniqueResult();
                        car.setVisible(false);
                        ses.save(car);
                    }
                    System.out.println("\n\tGrupo borrado del cartel del festival correctamente");
                }

                break;

            case 11:

                tx.commit();
                ses.close();

                System.out.println("Hasta pronto!");
                quedarse = false;

                break;

            default:
                System.out.println("No has introducido una opcin valida, prueba otra vez.");
                break;

            }

        } while (quedarse);

        System.exit(0);

    }

    public static void mostrarCantantes(Session ses) {
        Query query = ses.createQuery("FROM Cantante");
        List<Cantante> cantantes = query.list();

        System.out.println("\t\t___________________________________\n");
        for (int i = 0; i < cantantes.size(); i++) {
            if (cantantes.get(i).isVisible() == true) {
                System.out.println("\t\tCantante Id: " + cantantes.get(i).getId());
                System.out.println("\t\tNombre: " + cantantes.get(i).getNombre() + "\n");
            }
        }
        System.out.println("\t\t___________________________________");
    }

    public static void mostrarGuitarras(Session ses) {
        Query query = ses.createQuery("FROM Guitarra");
        List<Guitarra> guitarras = query.list();

        System.out.println("\t\t___________________________________\n");
        for (int i = 0; i < guitarras.size(); i++) {
            if (guitarras.get(i).isVisible() == true) {
                System.out.println("\t\tGuitarra Id: " + guitarras.get(i).getId());
                System.out.println("\t\tNombre: " + guitarras.get(i).getNombre() + "\n");
            }
        }
        System.out.println("\t\t___________________________________");
    }

    public static void mostrarFestivales(Session ses) {
        Query query = ses.createQuery("FROM Festival");
        List<Festival> festivales = query.list();

        System.out.println("\t\t___________________________________\n");
        for (int i = 0; i < festivales.size(); i++) {
            if (festivales.get(i).isVisible() == true) {
                System.out.println("\t\tFestival Id: " + festivales.get(i).getId());
                System.out.println("\t\tNombre: " + festivales.get(i).getNombre());
                System.out.println("\t\tCiudad: " + festivales.get(i).getCiudad() + "\n");
            }
        }
        System.out.println("\t\t___________________________________");
    }

    public static void mostrarGrupos(Session ses) {
        Query query = ses.createQuery("FROM Grupo");
        List<Grupo> grupos = query.list();

        System.out.println("\t\t___________________________________\n");
        for (int i = 0; i < grupos.size(); i++) {
            if (grupos.get(i).isVisible() == true) {
                System.out.println("\t\tGrupo Id: " + grupos.get(i).getId());
                System.out.println("\t\tNombre: " + grupos.get(i).getNombre());
                //TENGO QUE HACER OTRA CONSULTA AKI PARA SACAR EL NOMBRE DE LOS COMPONENTES DEL GRUPO
                Cantante can = (Cantante) ses
                        .createQuery("SELECT p FROM Cantante p WHERE id=" + grupos.get(i).getCantanteId())
                        .uniqueResult();
                Guitarra gui = (Guitarra) ses
                        .createQuery("SELECT p FROM Guitarra p WHERE id=" + grupos.get(i).getGuitarraId())
                        .uniqueResult();
                /////////////////////////////////////////////////////////////////////////
                System.out.println("\t\tCantante: " + can.getNombre());
                System.out.println("\t\tGuitarra: " + gui.getNombre() + "\n");
                //////AKI PARA QUE MUESTRE EN LOS FESTIVALES EN LOS QUE EST?N
                if (ses.createQuery("FROM Cartel WHERE grupo=" + grupos.get(i).getId()) != null) {
                    Query querys = ses.createQuery("FROM Cartel WHERE grupo=" + grupos.get(i).getId());
                    List<Cartel> enCartel = querys.list();
                    System.out.println("\t\t\tFestivales en los que aparece: ");
                    for (int j = 0; j < enCartel.size(); j++) {
                        //OTRA CONSULTA PARA TRAERME EL NOMBRE DEL FESTIVAL
                        Festival fes = (Festival) ses
                                .createQuery("SELECT p FROM Festival p WHERE id=" + enCartel.get(j).getFestival())
                                .uniqueResult();
                        System.out.println("\t\t\t\t - " + fes.getNombre());
                    }
                    System.out.println("\n");
                }
                /////////////////////////////////////////////////////////////
            }
        }
        System.out.println("\t\t___________________________________");
    }

    public static void mostrarCarteles(Session ses) {
        Query query = ses.createQuery("FROM Cartel");
        List<Cartel> carteles = query.list();

        ArrayList<Integer> arrayFestivales = new ArrayList();

        System.out.println("\t\t___________________________________\n");
        for (int i = 0; i < carteles.size(); i++) {

            if (carteles.get(i).isVisible() == true
                    && (noRepetirCartel(carteles.get(i).getFestival(), arrayFestivales))) {
                //System.out.println("\t\tCartel Id: " + carteles.get(i).getId());
                //HACER BUSQUEDA DE FESTIVAL POR ID PARA MOSTRARLO
                Festival fes = (Festival) ses
                        .createQuery("SELECT p FROM Festival p WHERE id=" + carteles.get(i).getFestival())
                        .uniqueResult();
                //////////////////////////////////////////////////
                System.out.println("\t\tFestival: " + fes.getNombre());
                System.out.println("\t\tCiudad: " + fes.getCiudad());
                System.out.println("\t\tGrupos invitados: ");
                mostrarGruposInvitados(ses, fes.getId());
            }

        }

        System.out.println("\t\t___________________________________");

    }

    public static void mostrarGruposInvitados(Session ses, int idFestival) {

        ArrayList<Integer> arrayGrupos = new ArrayList();

        Query query = ses.createQuery("SELECT p FROM Cartel p WHERE festival=" + idFestival);
        List<Cartel> carteles = query.list();
        for (int i = 0; i < carteles.size(); i++) {
            int grupo = carteles.get(i).getGrupo();
            //OTRA QUERY PARA CON EL ID DEL GRUPO, KE ME DE EL NOMBRE
            Grupo gru = (Grupo) ses.createQuery("SELECT p FROM Grupo p WHERE id=" + grupo).uniqueResult();
            if (gru.isVisible() && (noRepetirGrupo(gru.getId(), arrayGrupos))) {
                System.out.println("\t\t\t -" + gru.getNombre());
            }

        }
        System.out.println("\n");
    }

    public static Boolean noRepetirCartel(int fest, ArrayList<Integer> arrayFestivales) {

        Boolean booleano = false;

        //COMPRUEBO QUE NO EST? EL FESTIVAL EN LA LISTA DE YA MOSTRADOS
        for (int i = 0; i < arrayFestivales.size(); i++) {
            booleano = arrayFestivales.get(i) != fest;
        }

        arrayFestivales.add(fest); //aado el festival que se est tratando

        return booleano;
    }

    public static Boolean noRepetirGrupo(int grupo, ArrayList<Integer> arrayGrupos) {

        Boolean noExiste = true;

        if (arrayGrupos.isEmpty()) {
            arrayGrupos.add(grupo); //aado el festival que se est tratando
        } else {
            //COMPRUEBO QUE NO EST? EL GRUPO EN LA LISTA DE YA MOSTRADOS
            for (int i = 0; i < arrayGrupos.size(); i++) {
                //booleano = arrayGrupos.get(i) != grupo;
                if (arrayGrupos.get(i) == grupo)
                    noExiste = false;
            }

        }

        if (noExiste) {
            arrayGrupos.add(grupo); //aado el festival que se est tratando
        }

        return noExiste;
    }

}