Exemple #1
0
  @Override
  public Administratie load() throws IOException {
    Administratie administratie = new Administratie();
    // todo opgave 4
    try {
      initConnection();

      Statement statement = null;
      statement = conn.createStatement();
      ResultSet rs = statement.executeQuery("SELECT * FROM Persoon;");
      while (rs.next()) {
        int nr = rs.getInt("persoonsnummer");
        String[] voornamen = rs.getString("voornamen").split(" ");
        String achternaam = rs.getString("achternaam");
        String tussenvoegsel = rs.getString("tussenvoegsel");

        Calendar gebDat = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
        gebDat.setTime(sdf.parse(rs.getString("geboortedatum")));

        String gebPlaats = rs.getString("geboorteplaats");
        Geslacht geslacht = Geslacht.valueOf(rs.getString("geslacht"));
        Gezin ouderlijkGezin = null;

        administratie.addPersoon(
            geslacht, voornamen, achternaam, tussenvoegsel, gebDat, gebPlaats, null);
      }
      statement = conn.createStatement();
      rs = statement.executeQuery("SELECT * FROM Gezin;");
      while (rs.next()) {
        int ouder1NR = rs.getInt("ouder1");
        int ouder2NR = rs.getInt("ouder2");

        Persoon ouder1 = administratie.getPersoon(ouder1NR);
        Persoon ouder2 = administratie.getPersoon(ouder2NR);

        administratie.addOngehuwdGezin(ouder1, ouder2);

        String huwelijksDatumString = rs.getString("huwelijksdatum");

        if (!huwelijksDatumString.isEmpty()) {
          Calendar huwelijksDatum = Calendar.getInstance();
          SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
          huwelijksDatum.setTime(sdf.parse(rs.getString("huwelijksdatum")));

          administratie.setHuwelijk(
              administratie.getGezin(rs.getInt("gezinsnummer")), huwelijksDatum);
        }

        String scheidingsDatumString = rs.getString("scheidingsdatum");

        if (!scheidingsDatumString.isEmpty()) {
          Calendar scheidingsDatum = Calendar.getInstance();
          SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
          scheidingsDatum.setTime(sdf.parse(rs.getString("scheidingsdatum")));

          administratie.setScheiding(
              administratie.getGezin(rs.getInt("gezinsnummer")), scheidingsDatum);
        }
      }
      statement = conn.createStatement();
      rs = statement.executeQuery("SELECT persoonsnummer,ouders FROM persoon;");
      while (rs.next()) {
        int persoonsnummer = rs.getInt("persoonsnummer");
        int ouderNR = rs.getInt("ouders");
        Persoon persoon = administratie.getPersoon(persoonsnummer);
        Gezin gezin = administratie.getGezin(ouderNR);
        if (gezin != null) {
          persoon.setOuderlijkGezin(gezin);
        }
      }

    } catch (SQLException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } catch (ParseException e) {
      e.printStackTrace();
    } finally {
      String fuckthis = " FUUUUUUUCK";
      // closeConnection();
    }
    return administratie;
  }
Exemple #2
0
  private void loadTestSettings() {
    Administratie adm = controller.getAdministratie();

    Persoon piet =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Piet"},
            "Swinkels",
            "",
            new GregorianCalendar(1924, Calendar.APRIL, 23),
            "Den Haag",
            null);
    Persoon teuntje =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Teuntje"},
            "Vries",
            "de",
            new GregorianCalendar(1927, Calendar.MAY, 5),
            "Doesburg",
            null);
    Gezin teuntjeEnPiet = adm.addOngehuwdGezin(teuntje, piet);
    Persoon gijs =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Gijs", "Jozef"},
            "Swinkels",
            "",
            new GregorianCalendar(1944, Calendar.APRIL, 21),
            "Geldrop",
            teuntjeEnPiet);
    Persoon ferdinand =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Ferdinand", "Karel", "Helene"},
            "Vuiter",
            "de",
            new GregorianCalendar(1901, Calendar.JULY, 14),
            "Amsterdam",
            null);
    Persoon annalouise =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Annalouise", "Isabel", "Teuntje"},
            "Vuiter",
            "de",
            new GregorianCalendar(1902, Calendar.OCTOBER, 1),
            "Amsterdam",
            null);
    Gezin ferdinandEnAnnalouise =
        adm.addHuwelijk(ferdinand, annalouise, new GregorianCalendar(1921, Calendar.MAY, 5));
    Persoon louise =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"Louise", "Isabel", "Helene"},
            "Vuiter",
            "de",
            new GregorianCalendar(1927, Calendar.JANUARY, 15),
            "Amsterdam",
            ferdinandEnAnnalouise);
    Gezin louiseAlleen = adm.addOngehuwdGezin(louise, null);
    Persoon mary =
        adm.addPersoon(
            Geslacht.VROUW,
            new String[] {"mary"},
            "Vuiter",
            "de",
            new GregorianCalendar(1943, Calendar.MAY, 25),
            "Rotterdam",
            louiseAlleen);
    Gezin gijsEnMary = adm.addOngehuwdGezin(gijs, mary);
    Persoon jaron =
        adm.addPersoon(
            Geslacht.MAN,
            new String[] {"Jaron"},
            "Swinkels",
            "",
            new GregorianCalendar(1962, Calendar.JULY, 22),
            "Velp",
            gijsEnMary);

    saveFile();
  }
Exemple #3
0
  @Override
  public void save(Administratie admin) throws IOException {
    // todo opgave 4

    try {
      initConnection();

      for (Persoon p : admin.getPersonen()) {
        Statement statement = null;

        statement = conn.createStatement();
        // set timeout to 30 sec
        statement.setQueryTimeout(30);

        String ouderlijkGezin = "";

        if (p.getOuderlijkGezin() != null) {
          ouderlijkGezin = String.valueOf(p.getOuderlijkGezin().getNr());
        }

        String query =
            String.format(
                "INSERT INTO `Persoon` VALUES(%d,'%s','%s','%s','%s','%s','%s','%s');",
                p.getNr(),
                p.getVoornamen(),
                p.getAchternaam(),
                p.getTussenvoegsel(),
                p.getGebDat().getTime().toString(),
                p.getGebPlaats(),
                p.getGeslacht().toString(),
                ouderlijkGezin);
        statement.executeUpdate(query);

        statement.close();
      }

      for (Gezin g : admin.getGezinnen()) {
        Statement statement = null;

        statement = conn.createStatement();
        // set timeout to 30 sec
        statement.setQueryTimeout(30);

        String huwelijksDatum = "";
        String scheidingsDatum = "";
        int ouder2 = -1;

        if (g.getOuder2() != null) {
          ouder2 = g.getOuder2().getNr();
        }
        if (g.getHuwelijksdatum() != null) {
          huwelijksDatum = g.getHuwelijksdatum().getTime().toString();
        }

        if (g.getScheidingsdatum() != null) {
          scheidingsDatum = g.getScheidingsdatum().getTime().toString();
        }

        String query =
            String.format(
                "INSERT INTO `Gezin` VALUES(%d,%d,%d,'%s','%s');",
                g.getNr(), g.getOuder1().getNr(), ouder2, huwelijksDatum, scheidingsDatum);
        statement.executeUpdate(query);

        statement.close();
      }

    } catch (SQLException e) {

      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    } finally {
      // closeConnection();

    }
  }