diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/design/persistence/JSONLeagueDatabase.java | 17 |
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(); + } + } |
