summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2025-11-15 23:27:40 -0500
committersowgro <tpoke.ferrari@gmail.com>2025-11-15 23:27:40 -0500
commit73cb1c77c99330360313bb07fcbc3c23a2516680 (patch)
tree7ffe6440bdcbb4d6d8fb5ec01fa69cf549b3a535 /src/main/java
parente0dc59f83af9821c89d5bad53b639b512905420f (diff)
downloaddesignproject-design-6-73cb1c77c99330360313bb07fcbc3c23a2516680.tar.gz
designproject-design-6-73cb1c77c99330360313bb07fcbc3c23a2516680.tar.bz2
designproject-design-6-73cb1c77c99330360313bb07fcbc3c23a2516680.zip
fix nulls
Diffstat (limited to '')
-rw-r--r--src/main/java/design/controller/userinput/menus/ImportExportMenu.java3
-rw-r--r--src/main/java/design/persistence/JSONLeagueDatabase.java6
-rw-r--r--src/main/java/design/persistence/JSONPersonalDatabase.java6
3 files changed, 8 insertions, 7 deletions
diff --git a/src/main/java/design/controller/userinput/menus/ImportExportMenu.java b/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
index dda465f..21ffa6c 100644
--- a/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
+++ b/src/main/java/design/controller/userinput/menus/ImportExportMenu.java
@@ -56,6 +56,7 @@ public class ImportExportMenu extends Menu {
case "xml" -> handler = new XMLHandler(source);
default -> {
System.out.println("Unsupported file type: " + ext);
+ this.present();
return;
}
}
@@ -75,6 +76,6 @@ public class ImportExportMenu extends Menu {
private static String getExtension(String fileName) {
int i = fileName.lastIndexOf('.');
- return (i >= 0) ? fileName.substring(i + 1).toLowerCase() : "";
+ return (i >= 0) ? fileName.substring(i + 1).toLowerCase() : "unknown";
}
}
diff --git a/src/main/java/design/persistence/JSONLeagueDatabase.java b/src/main/java/design/persistence/JSONLeagueDatabase.java
index 795c582..81a4913 100644
--- a/src/main/java/design/persistence/JSONLeagueDatabase.java
+++ b/src/main/java/design/persistence/JSONLeagueDatabase.java
@@ -1,8 +1,6 @@
package design.persistence;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@@ -15,6 +13,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
public class JSONLeagueDatabase implements LeagueDatabase {
@@ -48,6 +47,7 @@ public class JSONLeagueDatabase implements LeagueDatabase {
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
mapper.registerModule(new ParameterNamesModule(JsonCreator.Mode.PROPERTIES));
mapper.registerModule(new JavaTimeModule());
+ mapper.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
try {
load();
diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java
index 3e70629..a5a4795 100644
--- a/src/main/java/design/persistence/JSONPersonalDatabase.java
+++ b/src/main/java/design/persistence/JSONPersonalDatabase.java
@@ -1,8 +1,6 @@
package design.persistence;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@@ -14,6 +12,7 @@ import design.model.League;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
public class JSONPersonalDatabase implements PersonalDatabase {
@@ -47,6 +46,7 @@ public class JSONPersonalDatabase implements PersonalDatabase {
mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
mapper.registerModule(new ParameterNamesModule(JsonCreator.Mode.PROPERTIES));
mapper.registerModule(new JavaTimeModule());
+ mapper.configOverride(List.class).setSetterInfo(JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY));
try {
load();