From 94ac731c00da6022909bbb96c835d7c63204da73 Mon Sep 17 00:00:00 2001 From: WillemDalton Date: Tue, 11 Nov 2025 09:01:01 -0500 Subject: progress on importing exporting --- src/main/java/design/persistence/JSONHandler.java | 28 +++++++++++++++ src/main/java/design/persistence/XMLHandler.java | 44 +++++++++++++++++++++++ src/main/java/design/persistence/XMLParser.java | 44 ----------------------- 3 files changed, 72 insertions(+), 44 deletions(-) create mode 100644 src/main/java/design/persistence/JSONHandler.java create mode 100644 src/main/java/design/persistence/XMLHandler.java delete mode 100644 src/main/java/design/persistence/XMLParser.java (limited to 'src/main/java/design/persistence') diff --git a/src/main/java/design/persistence/JSONHandler.java b/src/main/java/design/persistence/JSONHandler.java new file mode 100644 index 0000000..06ed202 --- /dev/null +++ b/src/main/java/design/persistence/JSONHandler.java @@ -0,0 +1,28 @@ +package design.persistence; +import java.io.File; +import java.io.IOException; +import design.model.DataHandler; + +public class JSONHandler implements DataHandler +{ + + public void exportPersonalData(File fileName) throws IOException { + JSONPersonalDatabase.instance().exportData(); // fix this + } + + public void importPersonalData(File fileName) throws IOException { + JSONPersonalDatabase.instance().importData(fileName); + } + + public void exportLeagueData(File fileName) + { + // TO DO: exporting league data + } + + public void importLeagueData(File fileName) + { + // TO DO: importing league data + } +} + + 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 + } +} + + diff --git a/src/main/java/design/persistence/XMLParser.java b/src/main/java/design/persistence/XMLParser.java deleted file mode 100644 index 3d04a03..0000000 --- a/src/main/java/design/persistence/XMLParser.java +++ /dev/null @@ -1,44 +0,0 @@ -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 XMLParser 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 - } -} - - -- cgit v1.2.3