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());
    }
  }
예제 #3
0
 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);
    }
  }
예제 #7
0
 String datumString(Calendar datum) {
   return StringUtilities.datumString(datum);
 }
예제 #8
0
 static void printSpaties(int n) {
   System.out.print(StringUtilities.spaties(n));
 }
예제 #9
0
  /** 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));
  }