diff options
| author | Tyler Ferrari <69283684+Sowgro@users.noreply.github.com> | 2025-10-09 08:14:57 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-09 08:14:57 -0400 |
| commit | f115308210fd98e6b6f83f8c091ca72dbfb666fb (patch) | |
| tree | bb2199639272496e79e79e221513b5346f553084 /src/main/java/design/persistence | |
| parent | bf6b01e5005618e6ccdfb4217311a8f94dd5a0dd (diff) | |
| parent | ddcfcf82baf737e183ec7b00edeee26894516c58 (diff) | |
| download | designproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.tar.gz designproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.tar.bz2 designproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.zip | |
Merge pull request #10 from RIT-SWEN-262/course-search
Course Search Menu
Diffstat (limited to 'src/main/java/design/persistence')
3 files changed, 27 insertions, 1 deletions
diff --git a/src/main/java/design/persistence/CSVMasterDatabase.java b/src/main/java/design/persistence/CSVMasterDatabase.java index fe89191..adbf759 100644 --- a/src/main/java/design/persistence/CSVMasterDatabase.java +++ b/src/main/java/design/persistence/CSVMasterDatabase.java @@ -16,6 +16,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import design.model.course_search.*; + public class CSVMasterDatabase implements MasterDatabase { private final List<Course> cache; @@ -57,6 +59,28 @@ public class CSVMasterDatabase implements MasterDatabase { return cache.get(id); } + @Override + public CourseList getCourseList() { + CourseList courses = new CourseList(); + for (Course c : cache) + { + courses.add(c); + } + + return courses; + } + + public CourseList getCourses(String s) { + CourseList courses = new CourseList(); + for (Course c : cache) + { + if(c.getName().toLowerCase().contains(s.toLowerCase())) + courses.add(c); + } + + return courses; + } + private static class CourseDeserializer extends JsonDeserializer<Course> { int curID = 0; diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java index b034680..3975d14 100644 --- a/src/main/java/design/persistence/JSONPersonalDatabase.java +++ b/src/main/java/design/persistence/JSONPersonalDatabase.java @@ -76,7 +76,7 @@ public class JSONPersonalDatabase implements PersonalDatabase { @Override public void addGolfer(Golfer golfer) throws IOException { - cache.put(golfer.getUsername(), golfer); + cache.putIfAbsent(golfer.getUsername(), golfer); save(); } diff --git a/src/main/java/design/persistence/MasterDatabase.java b/src/main/java/design/persistence/MasterDatabase.java index ddc0434..3436ee0 100644 --- a/src/main/java/design/persistence/MasterDatabase.java +++ b/src/main/java/design/persistence/MasterDatabase.java @@ -1,10 +1,12 @@ package design.persistence; import design.model.Course; +import design.model.course_search.CourseList; public interface MasterDatabase { MasterDatabase INSTANCE = new CSVMasterDatabase("data/golf_courses_1000.csv"); Course[] getCourses(); + CourseList getCourseList(); // unique from courses as this is a composite of ICourses. Course getCourse(int id); } |
