diff options
Diffstat (limited to 'src/main/java/design/controller')
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/SearchMenu.java | 8 | ||||
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/SelectCourse.java | 11 |
2 files changed, 16 insertions, 3 deletions
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<MenuOption> 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())), diff --git a/src/main/java/design/controller/userinput/menus/SelectCourse.java b/src/main/java/design/controller/userinput/menus/SelectCourse.java index ddf8b0b..51cda62 100644 --- a/src/main/java/design/controller/userinput/menus/SelectCourse.java +++ b/src/main/java/design/controller/userinput/menus/SelectCourse.java @@ -2,26 +2,33 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; +import design.model.course_search.CurrentSearchQuery; +import design.model.course_search.ICourse; import design.persistence.MasterDatabase; +import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class SelectCourse extends Menu { - MasterDatabase globalDB = MasterDatabase.INSTANCE; + CurrentSearchQuery query = CurrentSearchQuery.INSTANCE; @Override public String getTitle() { return "select user"; } + public void search(String[] searchTerm) + { + query.search(searchTerm); + } // gonna need to tweak this to only grab those from the search requirements. @Override public List<MenuOption> getMenuOptions() { var l = new ArrayList<MenuOption>(); - l.addAll(Arrays.stream(globalDB.getCourses()) + l.addAll(query.getQueryResult().getCourses().stream() .map(i -> new MenuOption( i.getName() + ", " + i.getLocation() + ", Difficulty: " + i.getDifficultyRating() + ", " + i.getHoleCount() + " holes", (a) -> {})).toList()); |
