From 58d32481c71e5aee7c89dab3afc3b1e3bdb8c074 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 30 Oct 2025 08:30:26 -0400 Subject: Remove singleton from course search subsystem --- src/main/java/design/controller/userinput/menus/CourseSearch.java | 6 +++++- src/main/java/design/controller/userinput/menus/SearchMenu.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/design/controller') diff --git a/src/main/java/design/controller/userinput/menus/CourseSearch.java b/src/main/java/design/controller/userinput/menus/CourseSearch.java index b4f33db..b84247a 100644 --- a/src/main/java/design/controller/userinput/menus/CourseSearch.java +++ b/src/main/java/design/controller/userinput/menus/CourseSearch.java @@ -19,10 +19,14 @@ import java.util.Scanner; * The actual SEARCH feature of course searching. */ public class CourseSearch extends Menu { - private final CurrentSearchQuery query = CurrentSearchQuery.instance(); + private final CurrentSearchQuery query; private final PersonalDatabase personalDB = PersonalDatabase.instance(); private final Golfer golfer = Session.getCurrentGolfer(); + public CourseSearch(CurrentSearchQuery query) { + this.query = query; + } + @Override public String getTitle() { return "select course"; diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 6d74eed..7933f24 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -10,7 +10,7 @@ import java.util.List; * The main control panel for course searching. */ public class SearchMenu extends Menu { - private final CurrentSearchQuery query = CurrentSearchQuery.instance(); + private final CurrentSearchQuery query = new CurrentSearchQuery(); @Override public String getTitle() { @@ -22,7 +22,7 @@ public class SearchMenu extends Menu { List menuOptions = new java.util.ArrayList<>(); menuOptions.add(new MenuOption("return to main menu", () -> new MainMenu().present())); - menuOptions.add(new MenuOption("search...", () -> new CourseSearch().present())); + menuOptions.add(new MenuOption("search...", () -> new CourseSearch(query).present())); menuOptions.add(new MenuOption("sort by difficulty", () -> addFilter(new SortByDifficulty()))); menuOptions.add(new MenuOption("sort by hole count", () -> addFilter(new SortByHoles()))); -- cgit v1.2.3