diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/design/model/Course.java | 5 | ||||
| -rw-r--r-- | src/main/java/design/model/course_search/CurrentSearchQuery.java | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/design/model/Course.java b/src/main/java/design/model/Course.java index f907622..78ee5bd 100644 --- a/src/main/java/design/model/Course.java +++ b/src/main/java/design/model/Course.java @@ -51,4 +51,9 @@ public class Course implements ICourse { public List<Hole> getHoles() { return holes; } + + @Override + public String toString() { + return name + ", " + location + ", " + difficultyRating + ", " + holeCount + ", " + totalPar; + } } 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<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) { 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<CourseSorter> getFilters() { return filters; } + // get our current query. public CourseList getQueryResult() { return query; } + + public CourseList search(String[] searchQuery) + { + List<ICourse> courses = query.getCourses(); + + courses = courses.stream() + .filter(s -> s.toString().toLowerCase().contains(searchQuery[0].toLowerCase())) + .collect(Collectors.toList()); + + query.setCourses(courses); + + return query; + } } |
