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; } }