summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/SelectCourse.java
diff options
context:
space:
mode:
authorWillemDalton <willemhdalton@gmail.com>2025-10-06 18:01:55 -0400
committerWillemDalton <willemhdalton@gmail.com>2025-10-06 18:01:55 -0400
commit09f5536f3e21d910e79daf49a67e9e98e9554751 (patch)
tree8599233603c6e8e177c54f74251a22e4b67a5e0a /src/main/java/design/controller/userinput/menus/SelectCourse.java
parent9843e29a51bb6c21b21567b147c1ad301291ec85 (diff)
downloaddesignproject-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.java38
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;
}
+
}