From 9b67c5fa4c53a558a32926ab04b59def510396ab Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sun, 5 Oct 2025 18:17:01 -0400 Subject: some progress on menu commands for searching --- .../controller/userinput/menus/SearchMenu.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/design/controller/userinput/menus/SearchMenu.java (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java new file mode 100644 index 0000000..f02de09 --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -0,0 +1,28 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; + +import java.util.List; + +public class SearchMenu extends Menu { + + @Override + public String getTitle() { + return "search menu"; + } + + @Override + public List getMenuOptions() { + return List.of( + new MenuOption("return to main menu", (a) -> new MainMenu().present()), + new MenuOption("search...", (a) -> new SelectCourse().present()), + new MenuOption("add difficulty filter...", (a) -> {}), + new MenuOption("add hole count filter...", (a) -> {}), + new MenuOption("add location filter...", (a) -> {}), + new MenuOption("add par filter...", (a) -> {}), + new MenuOption("list filters", (a) -> {}), + new MenuOption("clear all filters", (a) -> {}) + ); + } +} -- cgit v1.2.3 From 3cc12738542bd7267606185ded60293d0acd7af6 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Sun, 5 Oct 2025 19:02:08 -0400 Subject: more work on UI for the course searching --- .../java/design/controller/userinput/menus/SearchMenu.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index f02de09..cc91795 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -2,6 +2,10 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; +import design.model.course_search.SortByDifficulty; +import design.model.course_search.SortByHoles; +import design.model.course_search.SortByLocation; +import design.model.course_search.SortByPar; import java.util.List; @@ -17,11 +21,11 @@ public class SearchMenu extends Menu { return List.of( new MenuOption("return to main menu", (a) -> new MainMenu().present()), new MenuOption("search...", (a) -> new SelectCourse().present()), - new MenuOption("add difficulty filter...", (a) -> {}), - new MenuOption("add hole count filter...", (a) -> {}), - new MenuOption("add location filter...", (a) -> {}), - new MenuOption("add par filter...", (a) -> {}), - new MenuOption("list filters", (a) -> {}), + new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())), + new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())), + new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), + new MenuOption("add par filter...", (a) -> new FiltersMenu().addFilter(new SortByPar())), + new MenuOption("list filters", (a) -> new FiltersMenu().present()), new MenuOption("clear all filters", (a) -> {}) ); } -- cgit v1.2.3 From e21be3aea31959219aafc4e28d983bafa95cde0a Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 6 Oct 2025 10:25:23 -0400 Subject: moved some menu logic over to the search subystem, added a new query class --- src/main/java/design/controller/userinput/menus/SearchMenu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index cc91795..6f3399b 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -26,7 +26,7 @@ public class SearchMenu extends Menu { new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), new MenuOption("add par filter...", (a) -> new FiltersMenu().addFilter(new SortByPar())), new MenuOption("list filters", (a) -> new FiltersMenu().present()), - new MenuOption("clear all filters", (a) -> {}) + new MenuOption("clear all filters", (a) -> new FiltersMenu().clearFilters()) ); } } -- cgit v1.2.3 From 9843e29a51bb6c21b21567b147c1ad301291ec85 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 6 Oct 2025 17:06:42 -0400 Subject: more progress on getting searching to work --- src/main/java/design/controller/userinput/menus/SearchMenu.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 6f3399b..2ca7568 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -8,6 +8,7 @@ import design.model.course_search.SortByLocation; import design.model.course_search.SortByPar; import java.util.List; +import java.util.Scanner; public class SearchMenu extends Menu { @@ -20,7 +21,12 @@ public class SearchMenu extends Menu { public List getMenuOptions() { return List.of( new MenuOption("return to main menu", (a) -> new MainMenu().present()), - new MenuOption("search...", (a) -> new SelectCourse().present()), + new MenuOption("search...", (a) -> { + System.out.print("Enter search term (blank for all): "); + Scanner sc = new Scanner(System.in); + String input = sc.nextLine(); + new SelectCourse().search(new String[]{input}); + }), new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())), new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())), new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), -- cgit v1.2.3 From 09f5536f3e21d910e79daf49a67e9e98e9554751 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Mon, 6 Oct 2025 18:01:55 -0400 Subject: finished searching just need to order by our sorting strategies. --- src/main/java/design/controller/userinput/menus/SearchMenu.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 2ca7568..9411b02 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -8,7 +8,6 @@ import design.model.course_search.SortByLocation; import design.model.course_search.SortByPar; import java.util.List; -import java.util.Scanner; public class SearchMenu extends Menu { @@ -21,12 +20,7 @@ public class SearchMenu extends Menu { public List getMenuOptions() { return List.of( new MenuOption("return to main menu", (a) -> new MainMenu().present()), - new MenuOption("search...", (a) -> { - System.out.print("Enter search term (blank for all): "); - Scanner sc = new Scanner(System.in); - String input = sc.nextLine(); - new SelectCourse().search(new String[]{input}); - }), + new MenuOption("search...", (a) -> new SelectCourse().search()), new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())), new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())), new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), -- cgit v1.2.3 From 2ef38d86d8b207bc0dad6e3c6b7780abc6f6e82b Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Wed, 8 Oct 2025 21:49:21 -0400 Subject: finished multi filtering --- src/main/java/design/controller/userinput/menus/SearchMenu.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 9411b02..198e254 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -9,6 +9,9 @@ import design.model.course_search.SortByPar; import java.util.List; +/* + * The main control panel for course searching. + */ public class SearchMenu extends Menu { @Override @@ -20,7 +23,7 @@ public class SearchMenu extends Menu { public List getMenuOptions() { return List.of( new MenuOption("return to main menu", (a) -> new MainMenu().present()), - new MenuOption("search...", (a) -> new SelectCourse().search()), + new MenuOption("search...", (a) -> new CourseSearch().search()), new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())), new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())), new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), -- cgit v1.2.3 From 7623a5c02f6da679016bf8f8671d4fb29c5fdfbb Mon Sep 17 00:00:00 2001 From: sowgro Date: Wed, 8 Oct 2025 23:45:07 -0400 Subject: update for action interface change and cleanup string --- .../design/controller/userinput/menus/SearchMenu.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 198e254..8b50265 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -22,14 +22,14 @@ public class SearchMenu extends Menu { @Override public List getMenuOptions() { return List.of( - new MenuOption("return to main menu", (a) -> new MainMenu().present()), - new MenuOption("search...", (a) -> new CourseSearch().search()), - new MenuOption("add difficulty filter...", (a) -> new FiltersMenu().addFilter(new SortByDifficulty())), - new MenuOption("add hole count filter...", (a) -> new FiltersMenu().addFilter(new SortByHoles())), - new MenuOption("add location filter...", (a) -> new FiltersMenu().addFilter(new SortByLocation())), - new MenuOption("add par filter...", (a) -> new FiltersMenu().addFilter(new SortByPar())), - new MenuOption("list filters", (a) -> new FiltersMenu().present()), - new MenuOption("clear all filters", (a) -> new FiltersMenu().clearFilters()) + new MenuOption("return to main menu", () -> new MainMenu().present()), + new MenuOption("search...", () -> new CourseSearch().search()), + new MenuOption("add difficulty filter...", () -> new FiltersMenu().addFilter(new SortByDifficulty())), + new MenuOption("add hole count filter...", () -> new FiltersMenu().addFilter(new SortByHoles())), + new MenuOption("add location filter...", () -> new FiltersMenu().addFilter(new SortByLocation())), + new MenuOption("add par filter...", () -> new FiltersMenu().addFilter(new SortByPar())), + new MenuOption("list filters", () -> new FiltersMenu().present()), + new MenuOption("clear all filters", () -> new FiltersMenu().clearFilters()) ); } } -- cgit v1.2.3