summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/controller/userinput/menus')
-rw-r--r--src/main/java/design/controller/userinput/menus/ImportExportMenu.java52
-rw-r--r--src/main/java/design/controller/userinput/menus/UserSettings.java9
2 files changed, 25 insertions, 36 deletions
diff --git a/src/main/java/design/controller/userinput/menus/ImportExportMenu.java b/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
index 4c7df00..db861c5 100644
--- a/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
+++ b/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
@@ -2,8 +2,8 @@ package design.controller.userinput.menus;
import design.controller.userinput.Menu;
import design.controller.userinput.MenuOption;
-import design.persistence.JSONPersonalDatabase;
-import design.persistence.XMLParser;
+import design.persistence.JSONHandler;
+import design.persistence.XMLHandler;
import java.io.File;
import java.io.IOException;
@@ -11,20 +11,14 @@ import java.util.List;
import java.util.Map;
import java.util.Scanner;
-public class ImportExportMenu extends Menu {
- XMLParser xmlParser = new XMLParser();
+import design.model.DataHandler;
- private static final Map<String, Map<Boolean, DataHandler>> handlers = Map.of(
- "json", Map.of(
- true, new PersonalJsonHandler(),
- false, new LeagueJsonHandler()
- ),
- "csv", Map.of(
- true, new PersonalCsvHandler(),
- false, new LeagueCsvHandler()
- ));
+public class ImportExportMenu extends Menu {
+ private static final Map<String, DataHandler> handlers = Map.of(
+ "xml", new XMLHandler(),
+ "json", new JSONHandler()
+ );
-
@Override
public String getTitle() {
return "import export menu";
@@ -49,27 +43,29 @@ public class ImportExportMenu extends Menu {
{
System.out.println("Enter file path: ");
Scanner sc = new Scanner(System.in);
- String path = sc.nextLine();
- File file = new File(path);
+ String filePath = sc.nextLine();
+ File file = new File(filePath);
- String ext = getExtension(path);
- Map<Boolean, DataHandler> map = handlers.get(ext);
- if (map == null) {
- System.out.println("Unsupported file type: " + ext);
- return;
- }
+ String ext = getExtension(filePath);
+ DataHandler handler = handlers.get(ext);
- DataHandler handler = map.get(isPersonalProfile);
if (handler == null) {
- System.out.println("No handler for this profile type.");
+ System.out.println("Unsupported file type: " + ext);
return;
}
try {
- if (isImporting)
- handler.importData(file);
- else
- handler.exportData(file);
+ if (isImporting) {
+ if (isPersonalProfile)
+ handler.importPersonalData(file);
+ else
+ handler.importLeagueData(file);
+ } else {
+ if (isPersonalProfile)
+ handler.exportPersonalData(file);
+ else
+ handler.exportLeagueData(file);
+ }
} catch (IOException e) {
System.err.println("I/O error: " + e.getMessage());
}
diff --git a/src/main/java/design/controller/userinput/menus/UserSettings.java b/src/main/java/design/controller/userinput/menus/UserSettings.java
index d029e45..865b00d 100644
--- a/src/main/java/design/controller/userinput/menus/UserSettings.java
+++ b/src/main/java/design/controller/userinput/menus/UserSettings.java
@@ -60,15 +60,8 @@ public class UserSettings extends Menu {
this.present();
}));
-
- opts.add(new MenuOption("import...", () -> {
-
- }));
+ opts.add(new MenuOption("manage data...", () -> new ImportExportMenu().present()));
- opts.add(new MenuOption("export...", () -> {
-
- this.present();
- }));
return opts;
}