public void supprimerPersonne(String nom) throws Exception { try { // Si la personne n'existe pas if (!personne.existe(nom)) { throw new Tp5Exception("Impossible de supprimer, la personne " + nom + " n'existe pas."); } // S'il est le realisateur d'au moins un film if (!film.filmDeRealisateur(nom).isEmpty()) { throw new Tp5Exception( "Impossible de supprimer, la personne " + nom + " a realise au moins un film."); } // S'il est le realisateur d'au moins une serie if (!serie.serieDeRealisateur(nom).isEmpty()) { throw new Tp5Exception( "Impossible de supprimer, la personne " + nom + " a realise au moins une serie."); } // S'il a un role dans au moins un film if (!roleFilm.rolesDeActeur(nom).isEmpty()) { throw new Tp5Exception( "Impossible de supprimer, la personne " + nom + " a un role dans au moins un film."); } // S'il a au moins un role dans au moins un episode d'au moins une serie if (!roleEpisode.rolesDeActeur(nom).isEmpty()) { throw new Tp5Exception( "Impossible de supprimer, la personne " + nom + " a un role dans au moins une series."); } int nb = personne.enlever(nom); cx.commit(); System.out.println(nb + " personne supprime."); } catch (Exception e) { cx.rollback(); throw e; } }
public void afficherFilmDeActeur(String nom) throws Tp5Exception, SQLException { if (!personne.existe(nom)) { throw new Tp5Exception("Impossible d'afficher, l'acteur " + nom + " n'existe pas."); } List<TupleRoleFilm> tuples = roleFilm.rolesDeActeur(nom); StringBuilder output = new StringBuilder(); Iterator<TupleRoleFilm> it = tuples.iterator(); while (it.hasNext()) { output.append(it.next().getFilmTitre()).append(it.hasNext() ? ", " : "."); } System.out.println("L'acteur " + nom + " a participe aux films : "); System.out.println(output.toString()); }
public GestionPersonne( Personne personne, Film film, RoleFilm roleFilm, Serie serie, RoleEpisode roleEpisode) throws Tp5Exception { this.cx = personne.getConnexion(); if (cx != film.getConnexion() || cx != serie.getConnexion() || cx != roleFilm.getConnexion() || cx != roleEpisode.getConnexion()) { throw new Tp5Exception("Les instances de connexions dans GestionPersonne sont différentes"); } this.personne = personne; this.film = film; this.serie = serie; this.roleFilm = roleFilm; this.roleEpisode = roleEpisode; }