summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/XMLHandler.java
diff options
context:
space:
mode:
authorWillemDalton <willemhdalton@gmail.com>2025-11-11 09:01:01 -0500
committerWillemDalton <willemhdalton@gmail.com>2025-11-11 09:01:01 -0500
commit94ac731c00da6022909bbb96c835d7c63204da73 (patch)
treecec4916d9d7253a851081909da1934517ce6c430 /src/main/java/design/persistence/XMLHandler.java
parentf7102fd39b266b3d31fe72448b5d64d139648dee (diff)
downloaddesignproject-design-6-94ac731c00da6022909bbb96c835d7c63204da73.tar.gz
designproject-design-6-94ac731c00da6022909bbb96c835d7c63204da73.tar.bz2
designproject-design-6-94ac731c00da6022909bbb96c835d7c63204da73.zip
progress on importing exporting
Diffstat (limited to 'src/main/java/design/persistence/XMLHandler.java')
-rw-r--r--src/main/java/design/persistence/XMLHandler.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/design/persistence/XMLHandler.java b/src/main/java/design/persistence/XMLHandler.java
new file mode 100644
index 0000000..413defc
--- /dev/null
+++ b/src/main/java/design/persistence/XMLHandler.java
@@ -0,0 +1,44 @@
+package design.persistence;
+import java.io.File;
+import java.io.IOException;
+import design.model.DataHandler;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import design.model.Golfer;
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+
+
+
+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();
+ Golfer[] golfers = jsonMapper.readValue(jsonData, Golfer[].class);
+ File xmlFile = new File(fileName + ".xml");
+ xmlMapper.writerWithDefaultPrettyPrinter().writeValue(xmlFile, golfers);
+ }
+
+ public void importPersonalData(File fileName) throws IOException {
+ Golfer[] golfers = xmlMapper.readValue(fileName, Golfer[].class);
+ File tempJson = File.createTempFile("imported", ".json");
+ jsonMapper.writerWithDefaultPrettyPrinter().writeValue(tempJson, golfers);
+ JSONPersonalDatabase.instance().importData(tempJson);
+ tempJson.delete();
+ }
+
+ public void exportLeagueData(File fileName)
+ {
+ // TO DO: exporting league data
+ }
+
+ public void importLeagueData(File fileName)
+ {
+ // TO DO: importing league data
+ }
+}
+
+