diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index a77dd18..704e52e 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -5,7 +5,7 @@ derby.embedded true org.apache.derby.jdbc.EmbeddedDriver - jdbc:derby:DerbyDb + jdbc:derby:DerbyDb;create=true diff --git a/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java b/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java index 2a2b497..8c9806f 100644 --- a/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java +++ b/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java @@ -21,7 +21,10 @@ public class MedicalPracticeController implements ChangeObserver { private WaitingRoom waitingRoom; - public MedicalPracticeController() + + + @FXML + public void initialize() { this.waitingRoom = new WaitingRoom(); this.waitingRoom.addObserver(this); @@ -29,11 +32,6 @@ public class MedicalPracticeController implements ChangeObserver { @Override public void update(WaitingRoom subject) { - if(this.waitingRoomTextField == null) - { - return; - } - waitingRoomTextField.setText(waitingRoom.getPatients().stream() .reduce("", (s, p) -> s + p + "\n", String::concat)); preparation.setText(waitingRoom.getPatientInPreparation() == null ? "" : waitingRoom.getPatientInPreparation().toString()); diff --git a/src/main/java/at/ionas999/health/repositories/WaitingRoom.java b/src/main/java/at/ionas999/health/repositories/WaitingRoom.java index d98b11d..90712f9 100644 --- a/src/main/java/at/ionas999/health/repositories/WaitingRoom.java +++ b/src/main/java/at/ionas999/health/repositories/WaitingRoom.java @@ -41,8 +41,9 @@ public class WaitingRoom { { patientService = new PatientService(); - this.patients.addAll(this.patientService.GetAllPatients()); - + ArrayList allPatients = this.patientService.GetAllPatients(); + this.patients.addAll(allPatients); + notifyObservers(); } public void addObserver(ChangeObserver observer) { diff --git a/src/main/java/at/ionas999/health/services/DatabaseUtilsBase.java b/src/main/java/at/ionas999/health/services/DatabaseUtilsBase.java index 3336356..e74d9f0 100644 --- a/src/main/java/at/ionas999/health/services/DatabaseUtilsBase.java +++ b/src/main/java/at/ionas999/health/services/DatabaseUtilsBase.java @@ -10,7 +10,7 @@ public abstract class DatabaseUtilsBase { protected Connection GetDbConnection() throws SQLException { Connection connection = DriverManager.getConnection(DatabaseUtilsBase.connectionString); - + connection.setAutoCommit(true); if(!ExistAnyTables(connection)) { CreateTables(connection); diff --git a/src/main/java/at/ionas999/health/services/PatientService.java b/src/main/java/at/ionas999/health/services/PatientService.java index 1db0db0..19f2689 100644 --- a/src/main/java/at/ionas999/health/services/PatientService.java +++ b/src/main/java/at/ionas999/health/services/PatientService.java @@ -17,13 +17,13 @@ public class PatientService extends DatabaseUtilsBase implements TableCreation { " name VARCHAR(255) NOT NULL PRIMARY KEY,\n" + " appointment TIMESTAMP,\n" + " isEmergency BOOLEAN\n" + - ");"; + ")"; connection.createStatement().executeQuery(createTableSmt); } public boolean AddPatient(Patient patient) { try (Connection connection = this.GetDbConnection()) { - String insertStmt = "INSERT INTO Patient (name, appointment, isEmergency) VALUES (?, ?, ?);"; + String insertStmt = "INSERT INTO Patient (name, appointment, isEmergency) VALUES (?, ?, ?)"; PreparedStatement prepStmt = connection.prepareStatement(insertStmt); @@ -41,7 +41,7 @@ public class PatientService extends DatabaseUtilsBase implements TableCreation { public void DeletePatient(String name) { try (Connection connection = this.GetDbConnection()) { - String stmt = "DELETE FROM Patient WHERE name = ?;"; + String stmt = "DELETE FROM Patient WHERE name = ?"; PreparedStatement prepStmt = connection.prepareStatement(stmt); prepStmt.setString(1, name); int updates = prepStmt.executeUpdate(); @@ -57,16 +57,17 @@ public class PatientService extends DatabaseUtilsBase implements TableCreation { public ArrayList GetAllPatients() { ArrayList patients = new ArrayList<>(); try (Connection connection = this.GetDbConnection()) { - String stmt = "select name, appointment, isemergency from PATIENT;"; - ResultSet rs = connection.createStatement().executeQuery(stmt); + String stmt = "SELECT * FROM Patient"; + PreparedStatement prepStmt = connection.prepareStatement(stmt); + ResultSet rs = prepStmt.executeQuery(); - while (rs.next()) { + while (rs.next()) { Patient p = new Patient(rs.getString(1), rs.getTimestamp(2).toLocalDateTime(), rs.getBoolean(3)); patients.add(p); } - + prepStmt.close(); rs.close(); } catch (SQLException e) {