diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2025-10-03 00:31:02 -0400 |
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2025-10-03 00:31:02 -0400 |
| commit | d982cfe8a22ec7eb89186fed875a483a51c3505f (patch) | |
| tree | d10d6215f2d47b3dae48a67b002c878b339d4599 /src/main/java/design/persistence/CSVMasterDatabase.java | |
| parent | d7249ab93dad3ba9be0389f402c1378d7f1eb5ad (diff) | |
| download | designproject-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.java | 17 |
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); } } } |
