summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-09 08:24:13 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-09 08:24:13 -0400
commit7bbb3d8d7842c5e212124631c302b63bdc370f20 (patch)
treeac1ece075909102027be22a5ae2472f286f09b10 /src/main/java/design/persistence
parent1fa4cbcdc3ad86dd94eb76501f0068b37aa5ea4f (diff)
parentf115308210fd98e6b6f83f8c091ca72dbfb666fb (diff)
downloaddesignproject-design-6-7bbb3d8d7842c5e212124631c302b63bdc370f20.tar.gz
designproject-design-6-7bbb3d8d7842c5e212124631c302b63bdc370f20.tar.bz2
designproject-design-6-7bbb3d8d7842c5e212124631c302b63bdc370f20.zip
Merge branch 'main' into statistic-dev
Diffstat (limited to 'src/main/java/design/persistence')
-rw-r--r--src/main/java/design/persistence/CSVMasterDatabase.java24
-rw-r--r--src/main/java/design/persistence/JSONPersonalDatabase.java2
-rw-r--r--src/main/java/design/persistence/MasterDatabase.java2
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);
}