diff options
| author | WillemDalton <willemhdalton@gmail.com> | 2025-10-06 18:01:55 -0400 |
|---|---|---|
| committer | WillemDalton <willemhdalton@gmail.com> | 2025-10-06 18:01:55 -0400 |
| commit | 09f5536f3e21d910e79daf49a67e9e98e9554751 (patch) | |
| tree | 8599233603c6e8e177c54f74251a22e4b67a5e0a /src/main/java/design/controller/userinput/menus/SelectCourse.java | |
| parent | 9843e29a51bb6c21b21567b147c1ad301291ec85 (diff) | |
| download | designproject-design-6-09f5536f3e21d910e79daf49a67e9e98e9554751.tar.gz designproject-design-6-09f5536f3e21d910e79daf49a67e9e98e9554751.tar.bz2 designproject-design-6-09f5536f3e21d910e79daf49a67e9e98e9554751.zip | |
finished searching just need to order by our sorting strategies.
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/SelectCourse.java')
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/SelectCourse.java | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/src/main/java/design/controller/userinput/menus/SelectCourse.java b/src/main/java/design/controller/userinput/menus/SelectCourse.java index 51cda62..44661f5 100644 --- a/src/main/java/design/controller/userinput/menus/SelectCourse.java +++ b/src/main/java/design/controller/userinput/menus/SelectCourse.java @@ -4,34 +4,58 @@ 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; +import java.util.Scanner; public class SelectCourse extends Menu { CurrentSearchQuery query = CurrentSearchQuery.INSTANCE; @Override public String getTitle() { - return "select user"; + return "select course"; } - public void search(String[] searchTerm) + /* + * Prompt for imput and search. + */ + public void search() { + // probably not best practice, but prompt for the search key and search it. + System.out.print("Enter search term (blank for all): "); + Scanner sc = new Scanner(System.in); + String searchTerm = sc.nextLine(); + query.search(searchTerm); + + present(); } - // gonna need to tweak this to only grab those from the search requirements. + /* + * Display the results of our search. + */ @Override - public List<MenuOption> getMenuOptions() { + public List<MenuOption> getMenuOptions() + { var l = new ArrayList<MenuOption>(); + List<ICourse> queryResult = query.getQueryResult().getCourses(); + + // we always want to return to menu as an option. + l.add(new MenuOption("return to main menu", (a) -> new MainMenu().present())); + + // no results? let the user know. + if (queryResult.isEmpty()) + { + System.out.println("\nNo matching courses found.\n"); + } + + // add all of our results. l.addAll(query.getQueryResult().getCourses().stream() .map(i -> new MenuOption( i.getName() + ", " + i.getLocation() + ", Difficulty: " + i.getDifficultyRating() + ", " + i.getHoleCount() + " holes", (a) -> {})).toList()); return l; } + } |
