summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/menus/SearchMenu.java8
-rw-r--r--src/main/java/design/controller/userinput/menus/SelectCourse.java11
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());