summaryrefslogtreecommitdiff
path: root/src/main/java/design/model
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/design/model/Course.java5
-rw-r--r--src/main/java/design/model/course_search/CurrentSearchQuery.java21
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;
+ }
}