/** * deze methode koppelt de opgegeven trainer aan de opgegeven ploeg * * @param naam de naam van de trainer * @param voornaam de voornaam van de trainer * @param ploegnaam de ploegnaam van de ploeg * @throws DBException * @throws ApplicationException */ public void toevoegenTrainerPloeg(String naam, String voornaam, String ploegnaam) throws DBException, ApplicationException { Persoon persoon = persoonDB.zoekPersoon(naam, voornaam); Ploeg ploeg = zoekPloeg(ploegnaam); toevoegenTrainerPloeg(persoon.getId(), ploeg.getId()); }
@Test public void SpelersZoekenVanPLoeg() throws Exception { Persoon a = new Persoon(); a.setGeboortedatum(1980, 3, 21); a.setNaam("Visiao"); a.setVoornaam("Messi"); Persoon b = new Persoon(); b.setGeboortedatum(1979, 6, 13); b.setNaam("Plumita"); b.setVoornaam("Ronaldo"); persoonDB.toevoegenPersoon(a); persoonDB.toevoegenPersoon(b); Ploeg p = new Ploeg(); p.setNaam("Los farsantes"); p.setCategorie(Categorie.U9); ploegDB.toevoegenPloeg(p); ploegDB.toevoegenSpelerPloeg(p, a); ploegDB.toevoegenSpelerPloeg(p, b); ArrayList array = ploegDB.zoekSpelersPloeg(p); for (int i = 0; i < array.size(); i++) { System.out.println(array.get(i)); } }
/** * deze methode zoekt de trainer op van de opgegeven ploeg * * @param ploegnaam de naam van de ploeg waarvan je de trainer wilt zoeken * @return * @throws DBException */ public Persoon getTrainer(String ploegnaam) throws DBException { try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "select id,naam,voornaam,geboortedatum,isTrainer,opmerking from persoon where id in (select trainer_id from ploeg where id in (select id from ploeg where naam='?'))"); ) { // execute voert elke sql-statement uit, executeQuery enkel de eenvoudige stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { Persoon k = new Persoon(); while (r.next()) { k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setVoornaam(r.getString("voornaam")); k.setGeboortedatum(r.getDate("geboortedatum")); k.setTrainer(r.getBoolean("isTrainer")); k.setOpmerking(r.getString("opmerking")); } return k; } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in getTrainer (String ploegnaam) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in getTrainer (String ploegnaam) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in getTrainer (String ploegnaam) - connection" + sqlEx); } }
@Test public void koppelenTrainerAanPloeg() throws Exception { Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U8); ploeg.setNaam("Apllesiitos"); ploegDB.toevoegenPloeg(ploeg); Persoon drie = new Persoon(); drie.setVoornaam("Rubensito"); drie.setNaam("Chulito"); drie.setGeboortedatum(1998, 8, 1); drie.setTrainer(true); persoonDB.toevoegenPersoon(drie); ploeg = ploegDB.zoekPloeg(ploeg.getNaam()); ploegDB.toevoegenTrainerPloeg(persoonDB.zoekPersoon("Chulito", "Rubensito"), ploeg); }
@Test public void verwijderenPloegMetTrainer() throws Exception { Ploeg a = new Ploeg(); a.setCategorie(Categorie.U9); a.setNaam("U7a"); ploegDB.toevoegenPloeg(a); Persoon b = new Persoon(); b.setTrainer(true); b.setGeboortedatum(1940, 4, 11); b.setNaam("Viernesito"); b.setVoornaam("Vientesito"); persoonDB.toevoegenPersoon(b); ploegDB.toevoegenTrainerPloeg(b, a); ploegDB.verwijderPloeg(a); }
/** * deze methode koppelt de opgegeven speler aan de opgegeven ploeg * * @param ploegnaam De ploeg waaraan je een speler wilt koppelen. * @param persoon De persoon die je aan een ploeg wilt koppelen. * @throws DBException * @throws exception.ApplicationException */ public void toevoegenSpelerPloeg(String ploegnaam, Persoon persoon) throws DBException, ApplicationException { Persoon p = persoonDB.zoekPersoon(persoon); // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "update persoon set ploeg_id=(select id from ploeg where naam=?) where id=?;"); ) { stmt.setString(1, ploegnaam); stmt.setInt(2, p.getId()); stmt.execute(); } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenSpelerPloeg(String naam,PersoonBag p) - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException( "SQL-exception in toevoegenSpelerPloeg(String naam,PersoonBag p) - connection" + sqlEx); } }
// TODO add test methods here. // The methods must be annotated with annotation @Test. For example: // // @Test // public void hello() {} @Test public void toevoegenPloegMetTrainer() throws Exception { Persoon drie = new Persoon(); drie.setVoornaam("Marnisito"); drie.setNaam("Chulo"); drie.setGeboortedatum(1989, 8, 1); drie.setTrainer(true); persoonDB.toevoegenPersoon(drie); Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U6); ploeg.setNaam("las mamasitas"); Persoon p = persoonDB.zoekPersoon(drie.getNaam(), drie.getVoornaam()); ploeg.setTrainer(p.getId()); ploegDB.toevoegenPloeg(ploeg); }
/** * deze methode geeft een ArrayList terug waarin alle spelers van de opgegeven ploeg zitten * * @param id het id van de ploeg waarvan je alle spelers wilt opvragen * @return * @throws DBException */ public ArrayList<Persoon> zoekSpelersPloeg(int id) throws DBException { ArrayList<Persoon> sp = new ArrayList<>(); // connectie tot stand brengen (en automatisch sluiten) try (Connection conn = ConnectionManager.getConnection(); ) { // preparedStatement opstellen (en automtisch sluiten) try (PreparedStatement stmt = conn.prepareStatement( "select id, naam, voornaam, geboortedatum, isTrainer,ploeg_id from persoon where isTrainer=\"false\" and ploeg_id in(select id from ploeg where id=?)"); ) { stmt.setInt(1, id); // execute voert elke sql-statement uit, executeQuery enkel de eenvoudige stmt.execute(); // result opvragen (en automatisch sluiten) try (ResultSet r = stmt.getResultSet()) { // van alle spelers uit de database Persoon-objecten maken while (r.next()) { Persoon k = new Persoon(); k.setId(r.getInt("id")); k.setNaam(r.getString("naam")); k.setVoornaam(r.getString("voornaam")); k.setGeboortedatum(r.getDate("geboortedatum")); k.setTrainer(r.getBoolean("isTrainer")); if (r.getObject("ploeg_id") == null) { k.setPloegid(null); } else { k.setPloegid(r.getInt("ploeg_id")); } sp.add(k); } return sp; } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id) - resultset" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id)n - statement" + sqlEx); } } catch (SQLException sqlEx) { throw new DBException("SQL-exception in zoekSpelersPloeg(int id) - connection" + sqlEx); } }
@Test public void ontkoppelenSpeler() throws Exception { Persoon een = new Persoon(); een.setVoornaam("stevisito"); een.setNaam("rikisito"); een.setGeboortedatum(1995, 4, 13); een.setTrainer(false); persoonDB.toevoegenPersoon(een); Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U10); ploeg.setNaam("vivesito"); ploegDB.toevoegenPloeg(ploeg); // ploegDB.toevoegenSpelerPloeg( ploegDB.zoekPloeg(ploeg.getNaam()), persoonDB.zoekPersoon(een.getNaam(), een.getVoornaam())); ploegDB.verwijderSpelerPloeg(een.getNaam(), een.getVoornaam()); }
@Test public void koppelenSpeler() throws Exception { Persoon een = new Persoon(); een.setVoornaam("Davisito"); een.setNaam("Claesito"); een.setGeboortedatum(1960, 4, 12); Persoon twee = new Persoon(); twee.setVoornaam("Cristinita"); twee.setNaam("Claesita"); twee.setGeboortedatum(1966, 5, 12); persoonDB.toevoegenPersoon(een); persoonDB.toevoegenPersoon(twee); Ploeg ploeg = new Ploeg(); ploeg.setCategorie(Categorie.U11); ploeg.setNaam("aburido"); ploegDB.toevoegenPloeg(ploeg); ploegDB.toevoegenSpelerPloeg( ploegDB.zoekPloeg(ploeg.getNaam()), persoonDB.zoekPersoon(een.getNaam(), een.getVoornaam())); ploegDB.toevoegenSpelerPloeg( ploegDB.zoekPloeg(ploeg.getNaam()), persoonDB.zoekPersoon(twee.getNaam(), twee.getVoornaam())); }
/** * deze methode koppelt de opgegeven trainer aan de opgegeven ploeg * * @param persoon Het persoon object van de trainer die je wilt toevoegen. * @param ploeg Het ploeg object waraan je een trainer wilt toevoegen. * @throws DBException * @throws ApplicationException */ public void toevoegenTrainerPloeg(Persoon persoon, Ploeg ploeg) throws DBException, ApplicationException { toevoegenTrainerPloeg(persoon.getNaam(), persoon.getVoornaam(), ploeg.getNaam()); }
/** * deze methode ontkoppelt de opgegeven speler van de ploegen waarin hij zit * * @param naam De naam van de speler die je wilt ontkoppelen * @param voornaam De voornaam van de speler die je wilt ontkoppelen * @throws DBException * @throws exception.ApplicationException */ public void verwijderSpelerPloeg(String naam, String voornaam) throws DBException, ApplicationException { Persoon p = persoonDB.zoekPersoon(naam, voornaam); verwijderSpelerPloeg(p.getId()); }
/** * deze methode ontkoppelt de opgegeven speler aan de opgegeven ploeg * * @param p De speler die je wilt ontkoppelen * @throws DBException * @throws ApplicationException */ public void verwijderSpelerPloeg(Persoon p) throws DBException, ApplicationException { verwijderSpelerPloeg(p.getNaam(), p.getVoornaam()); }