From 73cb1c77c99330360313bb07fcbc3c23a2516680 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 15 Nov 2025 23:27:40 -0500 Subject: fix nulls --- .../java/design/controller/userinput/menus/ImportExportMenu.java | 3 ++- src/main/java/design/persistence/JSONLeagueDatabase.java | 6 +++--- src/main/java/design/persistence/JSONPersonalDatabase.java | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src/main/java/design') 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(); -- cgit v1.2.3