From 4083b7539153342bcb8119ef47dfd02e3bf13b1b Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 06:10:08 +0000 Subject: [PATCH] Refactor hardcoded strings in MainController to resource bundle with fallback defaults Co-authored-by: G30RG3-GJ <203693057+G30RG3-GJ@users.noreply.github.com> --- .../assistant/ui/main/MainController.java | 27 ++++++++++++------- src/resources/strings.properties | 4 +++ 2 files changed, 22 insertions(+), 9 deletions(-) create mode 100644 src/resources/strings.properties diff --git a/src/library/assistant/ui/main/MainController.java b/src/library/assistant/ui/main/MainController.java index 50b0fff..7240a08 100644 --- a/src/library/assistant/ui/main/MainController.java +++ b/src/library/assistant/ui/main/MainController.java @@ -47,10 +47,10 @@ public class MainController implements Initializable, BookReturnCallback { - private static final String BOOK_NOT_AVAILABLE = "Not Available"; - private static final String NO_SUCH_BOOK_AVAILABLE = "No Such Book Available"; - private static final String NO_SUCH_MEMBER_AVAILABLE = "No Such Member Available"; - private static final String BOOK_AVAILABLE = "Available"; + private String bookAvailable = "Available"; + private String bookNotAvailable = "Not Available"; + private String noSuchBookAvailable = "No Such Book Available"; + private String noSuchMemberAvailable = "No Such Member Available"; private Boolean isReadyForSubmission = false; private DatabaseHandler databaseHandler; @@ -124,6 +124,15 @@ public class MainController implements Initializable, BookReturnCallback { @Override public void initialize(URL url, ResourceBundle rb) { + try { + ResourceBundle bundle = ResourceBundle.getBundle("resources.strings"); + bookAvailable = bundle.getString("book.available"); + bookNotAvailable = bundle.getString("book.not.available"); + noSuchBookAvailable = bundle.getString("no.such.book.available"); + noSuchMemberAvailable = bundle.getString("no.such.member.available"); + } catch (Exception e) { + Logger.getLogger(MainController.class.getName()).log(Level.SEVERE, null, e); + } databaseHandler = DatabaseHandler.getInstance(); initDrawer(); @@ -148,7 +157,7 @@ private void loadBookInfo(ActionEvent event) { bookName.setText(bName); bookAuthor.setText(bAuthor); - String status = (bStatus) ? BOOK_AVAILABLE : String.format("Issued on %s", LibraryAssistantUtil.getDateString(new Date(issuedOn.getTime()))); + String status = (bStatus) ? bookAvailable : String.format("Issued on %s", LibraryAssistantUtil.getDateString(new Date(issuedOn.getTime()))); if (!bStatus) { bookStatus.getStyleClass().add("not-available"); } else { @@ -160,7 +169,7 @@ private void loadBookInfo(ActionEvent event) { } if (!flag) { - bookName.setText(NO_SUCH_BOOK_AVAILABLE); + bookName.setText(noSuchBookAvailable); } else { memberIDInput.requestFocus(); } @@ -202,7 +211,7 @@ private void loadMemberInfo(ActionEvent event) { } if (!flag) { - memberName.setText(NO_SUCH_MEMBER_AVAILABLE); + memberName.setText(noSuchMemberAvailable); } else { btnIssue.requestFocus(); } @@ -218,7 +227,7 @@ private void loadIssueOperation(ActionEvent event) { AlertMaker.showMaterialDialog(rootPane, rootAnchorPane, Arrays.asList(btn), "Invalid Input", null); return; } - if (bookStatus.getText().equals(BOOK_NOT_AVAILABLE)) { + if (bookStatus.getText().equals(bookNotAvailable)) { JFXButton btn = new JFXButton("Okay!"); JFXButton viewDetails = new JFXButton("View Details"); viewDetails.addEventHandler(MouseEvent.MOUSE_CLICKED, (MouseEvent e) -> { @@ -537,7 +546,7 @@ private boolean checkForIssueValidity() { memberIDInput.fireEvent(new ActionEvent()); return bookIDInput.getText().isEmpty() || memberIDInput.getText().isEmpty() || memberName.getText().isEmpty() || bookName.getText().isEmpty() - || bookName.getText().equals(NO_SUCH_BOOK_AVAILABLE) || memberName.getText().equals(NO_SUCH_MEMBER_AVAILABLE); + || bookName.getText().equals(noSuchBookAvailable) || memberName.getText().equals(noSuchMemberAvailable); } @Override diff --git a/src/resources/strings.properties b/src/resources/strings.properties new file mode 100644 index 0000000..ca025c8 --- /dev/null +++ b/src/resources/strings.properties @@ -0,0 +1,4 @@ +book.not.available=Not Available +book.available=Available +no.such.book.available=No Such Book Available +no.such.member.available=No Such Member Available