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) {