summaryrefslogtreecommitdiff
path: root/src/main/java/design/persistence/JSONLeagueDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/java/design/persistence/JSONLeagueDatabase.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/design/persistence/JSONLeagueDatabase.java b/src/main/java/design/persistence/JSONLeagueDatabase.java
index 8b201e6..edc649b 100644
--- a/src/main/java/design/persistence/JSONLeagueDatabase.java
+++ b/src/main/java/design/persistence/JSONLeagueDatabase.java
@@ -13,6 +13,8 @@ import design.model.League;
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.StandardCopyOption;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -97,4 +99,19 @@ public class JSONLeagueDatabase implements LeagueDatabase {
cache.put(league.getId(), league);
save();
}
+
+ public File exportData(File newFile) throws IOException{
+ Files.copy(file.toPath(), newFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
+ return newFile;
+ }
+
+ public void importData(File newFile) throws IOException {
+ League[] newLeagues = mapper.readValue(newFile, League[].class);
+ cache.clear();
+ for (League l: newLeagues) {
+ cache.put(l.getId(), l);
+ }
+ save();
+ }
+
}