summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/CSVMasterDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/persistence/CSVMasterDatabase.java')
-rw-r--r--src/main/java/design/persistence/CSVMasterDatabase.java24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/main/java/design/persistence/CSVMasterDatabase.java b/src/main/java/design/persistence/CSVMasterDatabase.java
index adbf759..f98a08e 100644
--- a/src/main/java/design/persistence/CSVMasterDatabase.java
+++ b/src/main/java/design/persistence/CSVMasterDatabase.java
@@ -20,11 +20,20 @@ import design.model.course_search.*;
public class CSVMasterDatabase implements MasterDatabase {
+ private static CSVMasterDatabase INSTANCE;
+
+ public static synchronized CSVMasterDatabase instance() {
+ if (INSTANCE == null) {
+ INSTANCE = new CSVMasterDatabase("data/golf_courses_1000.csv");
+ }
+ return INSTANCE;
+ }
+
private final List<Course> cache;
private final CsvMapper mapper;
private final File file;
- public CSVMasterDatabase(String filename) {
+ private CSVMasterDatabase(String filename) {
this.cache = new ArrayList<>();
this.mapper = new CsvMapper();
this.file = new File(filename);
@@ -40,7 +49,7 @@ public class CSVMasterDatabase implements MasterDatabase {
}
}
- public void load() throws IOException {
+ private void load() throws IOException {
MappingIterator<Course> it = mapper
.readerFor(Course.class)
.with(CsvSchema.emptySchema().withHeader())
@@ -70,17 +79,6 @@ public class CSVMasterDatabase implements MasterDatabase {
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;