Beispiel #1
0
  public ArrayList<Person> getAllPersons() throws SQLException {
    conn = DBTool.getInstance();

    System.out.println("Getting all persons...");
    if (conn.isValid(10000)) {
      Statement s = conn.createStatement();
      ArrayList<Person> persons = new ArrayList<>();

      ResultSet rs = s.executeQuery("SELECT * FROM person");
      while (rs.next()) {
        int idperson = rs.getInt("idperson");
        String firstname = rs.getString("firstname");
        String middlename = rs.getString("middlename");
        String lastname = rs.getString("lastname");
        String address = rs.getString("address");
        ADate birthday = new ADate(rs.getString("birthday"));
        ADate expirationDate = new ADate(rs.getString("expirationdate"));
        File picturePath = new File(rs.getString("picturepath"));
        ADate quarantineExpirationDate = null;
        if (!rs.getString("quarantineexpirationdate").isEmpty()) {
          quarantineExpirationDate = new ADate(rs.getString("quarantineexpirationdate"));
        }
        ADate creationDate = new ADate(rs.getString("creationdate"));
        boolean oneOne = false;
        if (rs.getInt("oneone") == 1) {
          oneOne = true;
        }
        boolean quarantine = false;
        if (rs.getInt("quarantine") == 1) {
          quarantine = true;
        }
        boolean enrolled = false;
        if (rs.getInt("enrolled") == 1) {
          enrolled = true;
        }
        boolean hone = false;
        if (rs.getInt("hone") == 1) {
          hone = true;
        }
        Statement s2 = conn.createStatement();
        ArrayList<Guest> guests = new ArrayList<>();
        ResultSet rsGuest =
            s2.executeQuery("SELECT * FROM guest WHERE idperson = " + idperson + ";");
        while (rsGuest.next()) {
          Guest g =
              new Guest(
                  rsGuest.getString("firstname"),
                  rsGuest.getString("middlename"),
                  rsGuest.getString("lastname"),
                  new ADate(rsGuest.getString("birthday")),
                  new ADate(rsGuest.getString("creationdate")));
          g.setId(rsGuest.getInt("idguest"));
          guests.add(g);
        }

        Person p =
            new Person(
                firstname,
                middlename,
                lastname,
                address,
                birthday,
                expirationDate,
                picturePath,
                creationDate,
                oneOne);
        p.setId(idperson);
        p.setQuarantine(quarantine);
        p.setQuarantineExpirationDate(quarantineExpirationDate);
        p.setEnrolled(enrolled);
        p.setHone(hone);
        p.setGuests(guests);
        persons.add(p);

        rsGuest.close();
        s2.close();
      }
      System.out.println("Get complete!");
      rs.close();
      s.close();
      conn.close();
      return persons;
    } else {
      System.out.println("Connection invalid");
      conn.close();
      return null;
    }
  }