From 53d6132ecd7afa7be18e8301954a6dd11b67a25a Mon Sep 17 00:00:00 2001 From: Nathan McRae Date: Sat, 8 Feb 2025 13:52:51 -0800 Subject: [PATCH] Add checks on station name when adding --- .../StationSelectionController.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/name/nathanmcrae/numbersstation/StationSelectionController.java b/src/main/java/name/nathanmcrae/numbersstation/StationSelectionController.java index 416e308..436ade8 100644 --- a/src/main/java/name/nathanmcrae/numbersstation/StationSelectionController.java +++ b/src/main/java/name/nathanmcrae/numbersstation/StationSelectionController.java @@ -5,6 +5,7 @@ import javafx.collections.ListChangeListener; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.Alert; import javafx.scene.control.ListCell; import javafx.scene.control.ListView; import javafx.scene.control.TextInputDialog; @@ -58,6 +59,26 @@ public class StationSelectionController { Optional result = dialog.showAndWait(); result.ifPresent(stationName -> { + if (stationName == null || stationName.equals("")) { + Alert alert = new Alert(Alert.AlertType.WARNING); + alert.setTitle("Invalid station name"); + alert.setHeaderText(null); + alert.setContentText("Station name must not be empty"); + alert.showAndWait(); + return; + } + + for (StationSettings station : stationList) { + if (stationName.toLowerCase().equals(station.getName().toLowerCase())) { + Alert alert = new Alert(Alert.AlertType.WARNING); + alert.setTitle("Invalid station name"); + alert.setHeaderText(null); + alert.setContentText("Station name '" + stationName + "' is already used."); + alert.showAndWait(); + return; + } + } + StationSettings newStation = new StationSettings(stationName); stationList.add(newStation); });