#10 Javadoc addiert
All checks were successful
Quality Check / Linting Check (push) Successful in 16s
Quality Check / Linting Check (pull_request) Successful in 21s
Quality Check / Javadoc Check (push) Successful in 37s
Quality Check / Javadoc Check (pull_request) Successful in 34s

This commit is contained in:
Dorian Nemec 2024-05-16 11:42:21 +02:00
parent d8de1e17fa
commit b401bdd91b
6 changed files with 72 additions and 4 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="Database" uuid="5a5b8be1-080b-4129-b89d-42f1ea832b90">
<data-source source="LOCAL" name="nursingHome.db" uuid="5a5b8be1-080b-4129-b89d-42f1ea832b90">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>

View file

@ -1,6 +1,7 @@
package de.hitec.nhplus.main;
import de.hitec.nhplus.Main;
import de.hitec.nhplus.nurse.Nurse;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.SelectionModel;
@ -46,6 +47,9 @@ public class MainWindowController {
@FXML
private Tab medicationTab;
/**
* This method allows instantiating a {@link MainWindowController} object.
*/
@FXML
public void initialize() {
loadPatientPage();
@ -113,6 +117,9 @@ public class MainWindowController {
}
}
/**
* Loads the Active Nurse page into its tab.
*/
private void loadActiveNursePage() {
try {
BorderPane activeNursePane = FXMLLoader.load(
@ -128,6 +135,9 @@ public class MainWindowController {
}
}
/**
* Loads the locked nurse page into its tab.
*/
private void loadLockedNursePage() {
try {
BorderPane lockedNursePane = FXMLLoader.load(

View file

@ -43,6 +43,9 @@ public class LockedNurseController {
private NurseDao dao;
private TreatmentDao treatmentDao;
/**
* This method allows instantiating a {@link LockedNurseController} object.
*/
public void initialize() {
this.readAllAndShowInTableView();
@ -60,6 +63,9 @@ public class LockedNurseController {
}
/**
* Reads all locked nurse data and shows it in the table.
*/
private void readAllAndShowInTableView() {
this.nurses.clear();
this.treatmentsPerNurse.clear();
@ -82,6 +88,9 @@ public class LockedNurseController {
}
}
/**
* Deletes a locked nurse.
*/
@FXML
public void handleDelete() {
Nurse selectedItem = this.tableView.getSelectionModel().getSelectedItem();
@ -98,6 +107,10 @@ public class LockedNurseController {
}
/**
* On clicking a locked nurse, updates the delete button based on if they
* can be deleted.
*/
@FXML
public void handleMouseClick() {
Nurse nurse = tableView.getSelectionModel().getSelectedItem();
@ -105,8 +118,11 @@ public class LockedNurseController {
buttonDelete.setDisable(!canBeDeleted);
}
/**
* Unlocks a locked nurse.
*/
@FXML
public void changeUnlock() {
public void unlockNurse() {
Nurse selectedItem = this.tableView.getSelectionModel().getSelectedItem();
if (selectedItem == null) {
return;

View file

@ -41,6 +41,10 @@ public class Nurse extends Person {
this.locked = new SimpleBooleanProperty(false);
}
/**
* This constructor allows instantiating a {@link Nurse} object with
* specifying if the nurse is locked or not.
*/
public Nurse(
String firstName,
String surName,
@ -68,6 +72,9 @@ public class Nurse extends Person {
this.locked = new SimpleBooleanProperty(isLocked);
}
/**
* Calculates the date when the nurse can be deleted.
*/
public LocalDate calculateDeleteDate() {
List<Treatment> treatments;
try {
@ -123,6 +130,9 @@ public class Nurse extends Person {
this.locked.set(locked);
}
/**
* Returns a string representation of the nurse with each field on a new line.
*/
@Override
public String toString() {
return new StringJoiner(System.lineSeparator())

View file

@ -17,10 +17,17 @@ import java.util.List;
* @author Dominik Säume
*/
public class NurseDao extends DaoImp<Nurse> {
/**
* This takes the same connection value from its parent class.
*/
public NurseDao(Connection connection) {
super(connection);
}
/**
* Insert values into nurse SQL table.
*/
@Override
protected PreparedStatement getCreateStatement(Nurse nurse) throws SQLException {
final String SQL = """
@ -36,6 +43,9 @@ public class NurseDao extends DaoImp<Nurse> {
return statement;
}
/**
* Show data of nurse with given id.
*/
@Override
protected PreparedStatement getReadByIDStatement(int id) throws SQLException {
final String SQL = "SELECT * FROM nurse WHERE id = ?";
@ -44,6 +54,9 @@ public class NurseDao extends DaoImp<Nurse> {
return statement;
}
/**
* Creates a Nurse instance from the given ResultSet.
*/
@Override
protected Nurse getInstanceFromResultSet(ResultSet result) throws SQLException {
return new Nurse(
@ -55,12 +68,18 @@ public class NurseDao extends DaoImp<Nurse> {
);
}
/**
* Prepares a SQL statement to select all rows from the nurse table.
*/
@Override
protected PreparedStatement getReadAllStatement() throws SQLException {
final String SQL = "SELECT * FROM nurse";
return this.connection.prepareStatement(SQL);
}
/**
* Extracts a list of Nurse instances from the given ResultSet.
*/
@Override
protected List<Nurse> getListFromResultSet(ResultSet result) throws SQLException {
ArrayList<Nurse> list = new ArrayList<>();
@ -70,16 +89,26 @@ public class NurseDao extends DaoImp<Nurse> {
return list;
}
/**
* Reads all active nurses.
*/
public List<Nurse> readAllActive() throws SQLException {
final String SQL = "SELECT * FROM nurse WHERE isLocked=false";
return getListFromResultSet(this.connection.prepareStatement(SQL).executeQuery());
}
/**
* Retrieves a list of locked Nurse instances from the database.
*/
public List<Nurse> readAllLocked() throws SQLException {
final String SQL = "SELECT * FROM nurse WHERE isLocked=true";
return getListFromResultSet(this.connection.prepareStatement(SQL).executeQuery());
}
/**
* Prepares a SQL statement to update a Nurse instance in the database.
*
*/
@Override
protected PreparedStatement getUpdateStatement(Nurse nurse) throws SQLException {
final String SQL = """
@ -99,6 +128,9 @@ public class NurseDao extends DaoImp<Nurse> {
return statement;
}
/**
* Prepares a SQL statement to delete a Nurse instance from the database by its ID.
*/
@Override
protected PreparedStatement getDeleteStatement(int id) throws SQLException {
final String SQL = "DELETE FROM nurse WHERE id = ?";

View file

@ -64,7 +64,7 @@
<Button
fx:id="buttonUnlock"
mnemonicParsing="false"
onAction="#changeUnlock"
onAction="#unlockNurse"
prefWidth="90.0"
text="Entsperren"
/>