public void okPersoonInvoer(Event evt) { // todo opgave 3 String voornamen = this.tfVoornamenInvoer.getText(); String achternaam = this.tfAchternaamInvoer.getText(); String tussenvoegsels = this.tfTussenvoegselInvoer.getText(); Geslacht geslacht = (Geslacht) this.cbGeslachtInvoer .getSelectionModel() .getSelectedItem(); // Geslacht.valueOf(this.cbGeslachtInvoer.getSelectionModel().getSelectedItem().toString()); Calendar c = Calendar.getInstance(); c.clear(); c = StringUtilities.datum(this.tfGeboortedatumInvoer.getText()); String geboorteplaats = this.tfGeboorteplaatsInvoer.getText(); Gezin gezin; if (this.cbOuderlijkGezinInvoer.getSelectionModel().isEmpty()) gezin = null; else gezin = (Gezin) this.cbOuderlijkGezinInvoer.getSelectionModel().getSelectedItem(); this.personen.add( getAdministratie() .addPersoon( geslacht, voornamen.split(" "), achternaam, tussenvoegsels, c, geboorteplaats, gezin)); this.clearTabPersoonInvoer(); }
private void showPersoon(Persoon persoon) { if (persoon == null) { clearTabPersoon(); } else { tfPersoonNr.setText(persoon.getNr() + ""); tfVoornamen.setText(persoon.getVoornamen()); tfTussenvoegsel.setText(persoon.getTussenvoegsel()); tfAchternaam.setText(persoon.getAchternaam()); tfGeslacht.setText(persoon.getGeslacht().toString()); tfGebDatum.setText(StringUtilities.datumString(persoon.getGebDat())); tfGebPlaats.setText(persoon.getGebPlaats()); if (persoon.getOuderlijkGezin() != null) { cbOuderlijkGezin.getSelectionModel().select(persoon.getOuderlijkGezin()); } else { cbOuderlijkGezin.getSelectionModel().clearSelection(); } // todo opgave 3 this.alsOuderBetrokkenIn = FXCollections.observableArrayList(persoon.getAlsOuderBetrokkenIn()); ArrayList<Persoon> pList = new ArrayList<Persoon>(); for (Gezin g : persoon.getAlsOuderBetrokkenIn()) { pList.addAll(g.getKinderen()); } this.kinderen = FXCollections.observableArrayList(pList); lvAlsOuderBetrokkenBij.setItems(this.getAlsOuderBetrokkenIn()); } }
Calendar readDate(String helptekst) { String datumString = readString(helptekst + "; voer datum in (dd-mm-jjjj)"); try { return StringUtilities.datum(datumString); } catch (IllegalArgumentException exc) { System.out.println(exc.getMessage()); return readDate(helptekst); } }
private void showGezin(Gezin gezin) { // todo opgave 3 if (gezin == null) { clearTabGezin(); } else { tfGezinNr.setText(gezin.getNr() + ""); tfOuder1.setText(gezin.getOuder1().standaardgegevens()); if (gezin.getOuder2() != null) tfOuder2.setText(gezin.getOuder2().standaardgegevens()); if (gezin.getHuwelijksdatum() != null) tfHuwelijk.setText(StringUtilities.datumString(gezin.getHuwelijksdatum())); if (gezin.getScheidingsdatum() != null) tfScheiding.setText(StringUtilities.datumString(gezin.getScheidingsdatum())); this.kinderen = FXCollections.observableArrayList(gezin.getKinderen()); lvKinderen.setItems(this.getKinderen()); } }
public void okGezinInvoer(Event evt) { Persoon ouder1 = (Persoon) cbOuder1Invoer.getSelectionModel().getSelectedItem(); if (ouder1 == null) { showDialog("Warning", "eerste ouder is niet ingevoerd"); return; } Persoon ouder2 = (Persoon) cbOuder2Invoer.getSelectionModel().getSelectedItem(); Calendar huwdatum; try { huwdatum = StringUtilities.datum(tfHuwelijkInvoer.getText()); } catch (IllegalArgumentException exc) { showDialog("Warning", "huwelijksdatum :" + exc.getMessage()); return; } Gezin g; if (huwdatum != null) { g = getAdministratie().addHuwelijk(ouder1, ouder2, huwdatum); if (g == null) { showDialog("Warning", "Invoer huwelijk is niet geaccepteerd"); } else { Calendar scheidingsdatum; try { scheidingsdatum = StringUtilities.datum(tfScheidingInvoer.getText()); if (scheidingsdatum != null) getAdministratie().setScheiding(g, scheidingsdatum); } catch (IllegalArgumentException exc) { showDialog("Warning", "scheidingsdatum :" + exc.getMessage()); } } } else { g = getAdministratie().addOngehuwdGezin(ouder1, ouder2); if (g == null) { showDialog("Warning", "Invoer ongehuwd gezin is niet geaccepteerd"); } } if (g != null) { this.gezinnen.add(g); } this.clearTabGezinInvoer(); }
public void setScheidingsdatum(Event evt) { // todo opgave 3 if (this.tfScheiding.getText().isEmpty()) { Calendar c = Calendar.getInstance(); c.clear(); c = StringUtilities.datum(this.tfHuwelijk.getText()); int i = Integer.parseInt(this.tfGezinNr.getText()); Gezin g = this.getAdministratie().getGezin(i); this.gezinnen.remove(g); this.getAdministratie().setScheiding(g, c); g = this.getAdministratie().getGezin(i); this.gezinnen.add(g); } }
String datumString(Calendar datum) { return StringUtilities.datumString(datum); }
static void printSpaties(int n) { System.out.print(StringUtilities.spaties(n)); }
/** Test van addPersoon methode in class Administratie. */ @Test public void testAddPersoon() { /* er wordt een persoon met een gegeven geslacht, met als voornamen vnamen, * achternaam anaam, tussenvoegsel tvoegsel, geboortedatum gebdat, * geboorteplaats gebplaats en een gegeven ouderlijk gezin;*/ assertEquals("geslacht onjuist", Geslacht.VROUW, teuntje.getGeslacht()); assertEquals("voornamen onjuist", "Teuntje", teuntje.getVoornamen()); assertEquals("voornamen onjuist", "Piet Franciscus", piet.getVoornamen()); assertEquals("tussenvoegsel onjuist", "", piet.getTussenvoegsel()); assertEquals("tussenvoegsel onjuist", "de", teuntje.getTussenvoegsel()); assertEquals( "geboortedatum onjuist", "23-4-1950", StringUtilities.datumString(piet.getGebDat())); assertEquals("geboorteplaats onjuist", "Ede", piet.getGebPlaats()); assertEquals("ouderlijk gezin onjuist", null, piet.getOuderlijkGezin()); Persoon jan = adm.addPersoon( Geslacht.MAN, new String[] {"Jan", "Jacobus"}, "Peters", "", new GregorianCalendar(1980, Calendar.APRIL, 23), "Venray", pietEnTeuntje); assertEquals("ouderlijk gezin onjuist", pietEnTeuntje, jan.getOuderlijkGezin()); /* de persoon * krijgt een uniek nummer toegewezen de persoon is voortaan ook bij het * ouderlijk gezin bekend. */ assertEquals("persoonsnummering onjuist", 1, piet.getNr()); assertEquals("persoonsnummering onjuist", 3, jan.getNr()); assertFalse( "kind niet bij ouderlijk gezin geregistreerd", pietEnTeuntje.getKinderen().isEmpty()); assertEquals( "kind niet bij ouderlijk gezin geregistreerd", jan, pietEnTeuntje.getKinderen().get(0)); /* Voor de voornamen, achternaam en gebplaats geldt * dat de eerste letter naar een hoofdletter en de resterende letters naar * een kleine letter zijn geconverteerd; het tussenvoegsel is zo nodig in * zijn geheel geconverteerd naar kleine letters.*/ Persoon tom = adm.addPersoon( Geslacht.MAN, new String[] {"tom", "JACOBUS"}, "sWinkelS", "VaN deR", new GregorianCalendar(1971, Calendar.APRIL, 13), "venLO", pietEnTeuntje); ArrayList<Persoon> swinkelsen = adm.getPersonenMetAchternaam("Swinkels"); assertEquals("zoeken op achternaam onjuist", 2, swinkelsen.size()); assertEquals("voornamen niet correct weergegeven", "Tom Jacobus", tom.getVoornamen()); assertEquals("achternaam niet correct weergegeven", "Swinkels", tom.getAchternaam()); assertEquals("geboorteplaats niet correct weergegeven", "Venlo", tom.getGebPlaats()); assertEquals("tussenvoegsel niet correct weergegeven", "van der", tom.getTussenvoegsel()); /* @return als de persoon al bekend was (op basis van combinatie van naam, * geboorteplaats en geboortedatum), wordt er null * geretourneerd, anders de nieuwe persoon*/ Persoon tom2 = adm.addPersoon( Geslacht.VROUW, new String[] {"t", "J"}, "sWinkelS", "VaN deR", new GregorianCalendar(1971, Calendar.APRIL, 13), "venLO", null); assertNull("unieke identificatie persoon onjuist", tom2); List<Persoon> kinderen = pietEnTeuntje.getKinderen(); assertEquals("aantal kinderen onjuist", 2, kinderen.size()); assertEquals("eerste kind ontbreekt", jan, kinderen.get(0)); assertEquals("tweede kind ontbreekt", tom, kinderen.get(1)); }