summaryrefslogtreecommitdiff
path: root/src/main/java/design
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design')
-rw-r--r--src/main/java/design/model/Golfer.java3
-rw-r--r--src/main/java/design/persistence/JSONHandler.java12
-rw-r--r--src/main/java/design/persistence/XMLHandler.java25
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
}