diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000..a77dd18
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ derby.embedded
+ true
+ org.apache.derby.jdbc.EmbeddedDriver
+ jdbc:derby:DerbyDb
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
new file mode 100644
index 0000000..a86be03
--- /dev/null
+++ b/.idea/sqldialects.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java b/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java
index 47cf348..2a2b497 100644
--- a/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java
+++ b/src/main/java/at/ionas999/health/controller/MedicalPracticeController.java
@@ -1,6 +1,6 @@
package at.ionas999.health.controller;
-import at.ionas999.health.model.WaitingRoom;
+import at.ionas999.health.repositories.WaitingRoom;
import at.ionas999.observer.ChangeObserver;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
diff --git a/src/main/java/at/ionas999/health/model/WaitingRoom.java b/src/main/java/at/ionas999/health/repositories/WaitingRoom.java
similarity index 74%
rename from src/main/java/at/ionas999/health/model/WaitingRoom.java
rename to src/main/java/at/ionas999/health/repositories/WaitingRoom.java
index ffdfb0c..d98b11d 100644
--- a/src/main/java/at/ionas999/health/model/WaitingRoom.java
+++ b/src/main/java/at/ionas999/health/repositories/WaitingRoom.java
@@ -1,5 +1,7 @@
-package at.ionas999.health.model;
+package at.ionas999.health.repositories;
+import at.ionas999.health.model.Patient;
+import at.ionas999.health.services.PatientService;
import at.ionas999.observer.ChangeObserver;
import java.time.LocalDateTime;
@@ -9,6 +11,8 @@ import java.util.List;
import java.util.PriorityQueue;
public class WaitingRoom {
+
+ private PatientService patientService;
private final List> observers = new ArrayList<>();
private final PriorityQueue patients = new PriorityQueue<>();
private Patient patientUndergoingTreatment = null;
@@ -25,11 +29,6 @@ public class WaitingRoom {
return this.patientUndergoingTreatment;
}
- public void addObserver(ChangeObserver observer) {
- observers.add(observer);
- observer.update(this);
- }
-
public Collection getPatients() {
return patients.stream().toList();
}
@@ -38,14 +37,32 @@ public class WaitingRoom {
observers.remove(observer);
}
+ public WaitingRoom()
+ {
+ patientService = new PatientService();
+
+ this.patients.addAll(this.patientService.GetAllPatients());
+
+ }
+
+ public void addObserver(ChangeObserver observer) {
+ observers.add(observer);
+ observer.update(this);
+ }
+
public void addPatient(String name, LocalDateTime appointment, boolean isEmergency) {
Patient patient = new Patient(name, appointment, isEmergency);
patients.add(patient);
+ patientService.AddPatient(patient);
notifyObservers();
}
public void treatNextPatient() {
this.patientUndergoingTreatment = patients.poll();
+ if(this.patientUndergoingTreatment != null)
+ {
+ this.patientService.DeletePatient(this.patientUndergoingTreatment.getName());
+ }
notifyObservers();
}
diff --git a/src/main/java/at/ionas999/health/services/PatientService.java b/src/main/java/at/ionas999/health/services/PatientService.java
index a6327f1..1db0db0 100644
--- a/src/main/java/at/ionas999/health/services/PatientService.java
+++ b/src/main/java/at/ionas999/health/services/PatientService.java
@@ -15,8 +15,8 @@ public class PatientService extends DatabaseUtilsBase implements TableCreation {
public void CreateTable(Connection connection) throws SQLException {
String createTableSmt = "CREATE TABLE Patient (\n" +
" name VARCHAR(255) NOT NULL PRIMARY KEY,\n" +
- " appointment TIMESTAMP NOT NULL,\n" +
- " isEmergency BOOLEAN NOT NULL\n" +
+ " appointment TIMESTAMP,\n" +
+ " isEmergency BOOLEAN\n" +
");";
connection.createStatement().executeQuery(createTableSmt);
}
diff --git a/src/test/at/ionas999/health/model/UpdateObserver.java b/src/test/at/ionas999/health/model/UpdateObserver.java
index 120ffc4..9c35e89 100644
--- a/src/test/at/ionas999/health/model/UpdateObserver.java
+++ b/src/test/at/ionas999/health/model/UpdateObserver.java
@@ -1,6 +1,7 @@
package at.ionas999.health.model;
+import at.ionas999.health.repositories.WaitingRoom;
import at.ionas999.observer.ChangeObserver;
public class UpdateObserver implements ChangeObserver {
diff --git a/src/test/at/ionas999/health/model/WaitingRoomTest.java b/src/test/at/ionas999/health/model/WaitingRoomTest.java
index 3ad02d6..98c352f 100644
--- a/src/test/at/ionas999/health/model/WaitingRoomTest.java
+++ b/src/test/at/ionas999/health/model/WaitingRoomTest.java
@@ -1,5 +1,6 @@
package at.ionas999.health.model;
+import at.ionas999.health.repositories.WaitingRoom;
import at.ionas999.observer.ChangeObserver;
import org.junit.jupiter.api.Test;