Esempio n. 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;
  }