diff options
Diffstat (limited to 'src/main/java/design/model/course_search/CurrentSearchQuery.java')
| -rw-r--r-- | src/main/java/design/model/course_search/CurrentSearchQuery.java | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/main/java/design/model/course_search/CurrentSearchQuery.java b/src/main/java/design/model/course_search/CurrentSearchQuery.java index 1f8c8ba..0a492b3 100644 --- a/src/main/java/design/model/course_search/CurrentSearchQuery.java +++ b/src/main/java/design/model/course_search/CurrentSearchQuery.java @@ -13,17 +13,10 @@ public class CurrentSearchQuery { public static final CurrentSearchQuery INSTANCE = new CurrentSearchQuery(); - private CourseList query; MasterDatabase db = MasterDatabase.INSTANCE; + private CourseList query = db.getCourseList(); private final List<CourseSorter> filters = new ArrayList<CourseSorter>(); - - // initialize the query to the master DB - public void initialize() - { - query = db.getCourseList(); - } - // add a new filter public void addFilter(CourseSorter filter) { @@ -41,6 +34,7 @@ public class CurrentSearchQuery { { String filterResult = ""; + // no filters? let the user know. if(filters.size() == 0) { return "nothing"; @@ -51,7 +45,8 @@ public class CurrentSearchQuery { filterResult += f.toString() + " --> "; } - filterResult = filterResult.substring(0, filterResult.length() - 5); + // very silly way of removing the last arrow from our filter list. it's kind of dumb but it works fine. + filterResult = filterResult.substring(0, filterResult.length() - 5); filterResult += "\n"; return filterResult; @@ -69,16 +64,17 @@ public class CurrentSearchQuery { return query; } - public CourseList search(String[] searchQuery) + public void search(String searchQuery) { - List<ICourse> courses = query.getCourses(); + List<ICourse> courses; - courses = courses.stream() - .filter(s -> s.toString().toLowerCase().contains(searchQuery[0].toLowerCase())) + // compare to our search query. + courses = query.getCourses().stream() + .filter(s -> s != null && s.toString().toLowerCase().contains(searchQuery)) .collect(Collectors.toList()); - query.setCourses(courses); + // TO DO: Filter this based on our current filters, then return it! - return query; + query.setCourses(courses); } } |
