diff options
Diffstat (limited to 'src/main/java/design')
| -rw-r--r-- | src/main/java/design/model/Golfer.java | 3 | ||||
| -rw-r--r-- | src/main/java/design/persistence/JSONHandler.java | 12 | ||||
| -rw-r--r-- | src/main/java/design/persistence/XMLHandler.java | 25 |
3 files changed, 26 insertions, 14 deletions
diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index 960568f..1c4e669 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -1,6 +1,7 @@ package design.model; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.util.ArrayList; @@ -17,6 +18,8 @@ public class Golfer { private int nextClubId; private final List<Invite> invites; + + @JsonCreator private Golfer(String username, int passwordHash, String fullName, List<Course> courses, List<Round> rounds, List<Club> clubs, List<Invite> invites) { diff --git a/src/main/java/design/persistence/JSONHandler.java b/src/main/java/design/persistence/JSONHandler.java index 419d080..a8967d2 100644 --- a/src/main/java/design/persistence/JSONHandler.java +++ b/src/main/java/design/persistence/JSONHandler.java @@ -6,20 +6,20 @@ import design.model.DataHandler; public class JSONHandler implements DataHandler { - public void exportPersonalData(File fileName) throws IOException { - JSONPersonalDatabase.instance().exportData(fileName); // fix this + public void exportPersonalData(File file) throws IOException { + JSONPersonalDatabase.instance().exportData(file); } - public void importPersonalData(File fileName) throws IOException { - JSONPersonalDatabase.instance().importData(fileName); + public void importPersonalData(File file) throws IOException { + JSONPersonalDatabase.instance().importData(file); } - public void exportLeagueData(File fileName) + public void exportLeagueData(File file) { // TO DO: exporting league data } - public void importLeagueData(File fileName) + public void importLeagueData(File file) { // TO DO: importing league data } diff --git a/src/main/java/design/persistence/XMLHandler.java b/src/main/java/design/persistence/XMLHandler.java index dc67687..c71712b 100644 --- a/src/main/java/design/persistence/XMLHandler.java +++ b/src/main/java/design/persistence/XMLHandler.java @@ -17,28 +17,37 @@ public class XMLHandler implements DataHandler private final ObjectMapper jsonMapper = new ObjectMapper(); private final XmlMapper xmlMapper = new XmlMapper(); - public void exportPersonalData(File fileName) throws IOException { - File jsonData = JSONPersonalDatabase.instance().exportData(fileName); + public void exportPersonalData(File file) throws IOException { + // get our json data + File jsonData = JSONPersonalDatabase.instance().exportData(file); + + // read the top tree node (the array) JsonNode golfersNode = jsonMapper.readTree(jsonData); + + // map it to an object node (not sure if im gonna use this) ObjectNode root = xmlMapper.createObjectNode(); - root.set("golfers", golfersNode); - xmlMapper.writerWithDefaultPrettyPrinter().writeValue(fileName, root); + root.set("golfer", golfersNode); + xmlMapper.writerWithDefaultPrettyPrinter().writeValue(file, root); } - public void importPersonalData(File fileName) throws IOException { - Golfer[] golfers = xmlMapper.readValue(fileName, Golfer[].class); + public void importPersonalData(File file) throws IOException { + + // get our root node + JsonNode root = xmlMapper.readTree(file); + Golfer[] golfers = xmlMapper.treeToValue(root, Golfer[].class); + File tempJson = File.createTempFile("imported", ".json"); jsonMapper.writerWithDefaultPrettyPrinter().writeValue(tempJson, golfers); JSONPersonalDatabase.instance().importData(tempJson); tempJson.delete(); } - public void exportLeagueData(File fileName) + public void exportLeagueData(File file) { // TO DO: exporting league data } - public void importLeagueData(File fileName) + public void importLeagueData(File file) { // TO DO: importing league data } |
