diff options
| author | WillemDalton <willemhdalton@gmail.com> | 2025-11-11 09:01:01 -0500 |
|---|---|---|
| committer | WillemDalton <willemhdalton@gmail.com> | 2025-11-11 09:01:01 -0500 |
| commit | 94ac731c00da6022909bbb96c835d7c63204da73 (patch) | |
| tree | cec4916d9d7253a851081909da1934517ce6c430 /src/main/java/design/persistence/XMLHandler.java | |
| parent | f7102fd39b266b3d31fe72448b5d64d139648dee (diff) | |
| download | designproject-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.java | 44 |
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 + } +} + + |
