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 --- .../model/course_search/CurrentSearchQuery.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main/java/design/model/course_search') diff --git a/src/main/java/design/model/course_search/CurrentSearchQuery.java b/src/main/java/design/model/course_search/CurrentSearchQuery.java index 45364f4..1f8c8ba 100644 --- a/src/main/java/design/model/course_search/CurrentSearchQuery.java +++ b/src/main/java/design/model/course_search/CurrentSearchQuery.java @@ -2,6 +2,7 @@ package design.model.course_search; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import design.persistence.MasterDatabase; @@ -16,21 +17,26 @@ public class CurrentSearchQuery { MasterDatabase db = MasterDatabase.INSTANCE; private final List filters = new ArrayList(); + + // initialize the query to the master DB public void initialize() { query = db.getCourseList(); } + // add a new filter public void addFilter(CourseSorter filter) { filters.add(filter); } + // clear the filters public void clearFilters() { filters.clear(); } + // print out the filters ( this is for the model checking used filters ) public String printFilters() { String filterResult = ""; @@ -51,13 +57,28 @@ public class CurrentSearchQuery { return filterResult; } + // get all the filters public List getFilters() { return filters; } + // get our current query. public CourseList getQueryResult() { return query; } + + public CourseList search(String[] searchQuery) + { + List courses = query.getCourses(); + + courses = courses.stream() + .filter(s -> s.toString().toLowerCase().contains(searchQuery[0].toLowerCase())) + .collect(Collectors.toList()); + + query.setCourses(courses); + + return query; + } } -- cgit v1.2.3