summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/CSVMasterDatabase.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-10-03 00:31:02 -0400
committersowgro <tpoke.ferrari@gmail.com>2025-10-03 00:31:02 -0400
commitd982cfe8a22ec7eb89186fed875a483a51c3505f (patch)
treed10d6215f2d47b3dae48a67b002c878b339d4599 /src/main/java/design/persistence/CSVMasterDatabase.java
parentd7249ab93dad3ba9be0389f402c1378d7f1eb5ad (diff)
downloaddesignproject-design-6-d982cfe8a22ec7eb89186fed875a483a51c3505f.tar.gz
designproject-design-6-d982cfe8a22ec7eb89186fed875a483a51c3505f.tar.bz2
designproject-design-6-d982cfe8a22ec7eb89186fed875a483a51c3505f.zip
Add code to handle id serialization
Diffstat (limited to '')
-rw-r--r--src/main/java/design/persistence/CSVMasterDatabase.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/main/java/design/persistence/CSVMasterDatabase.java b/src/main/java/design/persistence/CSVMasterDatabase.java
index 94ac470..fe89191 100644
--- a/src/main/java/design/persistence/CSVMasterDatabase.java
+++ b/src/main/java/design/persistence/CSVMasterDatabase.java
@@ -22,7 +22,7 @@ public class CSVMasterDatabase implements MasterDatabase {
private final CsvMapper mapper;
private final File file;
- public CSVMasterDatabase(String filename) throws IOException {
+ public CSVMasterDatabase(String filename) {
this.cache = new ArrayList<>();
this.mapper = new CsvMapper();
this.file = new File(filename);
@@ -31,7 +31,11 @@ public class CSVMasterDatabase implements MasterDatabase {
module.addDeserializer(Course.class, new CourseDeserializer());
mapper.registerModule(module);
- load();
+ try {
+ load();
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ }
}
public void load() throws IOException {
@@ -49,15 +53,18 @@ public class CSVMasterDatabase implements MasterDatabase {
}
@Override
- public Course getCourse(String name) {
- return null;
+ public Course getCourse(int id) {
+ return cache.get(id);
}
private static class CourseDeserializer extends JsonDeserializer<Course> {
+ int curID = 0;
+
@Override
public Course deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
ObjectNode node = p.getCodec().readTree(p);
+ int id = curID++;
String name = node.get("Course Name").asText();
double difficulty = node.get("Difficulty Rating").asDouble();
String location = node.get("Location").asText();
@@ -70,7 +77,7 @@ public class CSVMasterDatabase implements MasterDatabase {
holeList.add(new Hole(i + 1, Integer.parseInt(parValues[i].trim())));
}
- return new Course(name, (int) difficulty, location, holes, totalPar, holeList);
+ return new Course(id, name, (int) difficulty, location, holes, totalPar, holeList);
}
}
}