From 552602cd1ccd351e9967a90a2e728ed0e4003beb Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 16 Nov 2025 02:31:39 -0500 Subject: complete merge --- src/main/java/design/persistence/JSONLeagueDatabase.java | 11 +++++------ src/main/java/design/persistence/JSONPersonalDatabase.java | 11 +++++------ src/main/java/design/persistence/Serializers.java | 7 ++++++- 3 files changed, 16 insertions(+), 13 deletions(-) (limited to 'src/main/java/design') diff --git a/src/main/java/design/persistence/JSONLeagueDatabase.java b/src/main/java/design/persistence/JSONLeagueDatabase.java index b5f4bc3..6446b34 100644 --- a/src/main/java/design/persistence/JSONLeagueDatabase.java +++ b/src/main/java/design/persistence/JSONLeagueDatabase.java @@ -110,12 +110,11 @@ public class JSONLeagueDatabase implements LeagueDatabase { @Override public SimpleModule getJacksonModule() { - SimpleModule module = new SimpleModule(); - module.addDeserializer(Course.class, new Serializers.CourseIdDeserializer()); - module.addSerializer(Course.class, new Serializers.CourseIdSerializer()); - module.addDeserializer(Golfer.class, new Serializers.GolferUsernameDeserializer()); - module.addSerializer(Golfer.class, new Serializers.GolferUsernameSerializer()); - return module; + return new SimpleModule() + .addSerializer(Course.class, new Serializers.CourseIdSerializer()) + .addDeserializer(Course.class, new Serializers.CourseIdDeserializer()) + .addSerializer(Golfer.class, new Serializers.GolferUsernameSerializer()) + .addDeserializer(Golfer.class, new Serializers.GolferUsernameDeserializer()); } @Override diff --git a/src/main/java/design/persistence/JSONPersonalDatabase.java b/src/main/java/design/persistence/JSONPersonalDatabase.java index e035ae4..2f021d7 100644 --- a/src/main/java/design/persistence/JSONPersonalDatabase.java +++ b/src/main/java/design/persistence/JSONPersonalDatabase.java @@ -108,12 +108,11 @@ public class JSONPersonalDatabase implements PersonalDatabase { @Override public SimpleModule getJacksonModule() { - SimpleModule module = new SimpleModule(); - module.addDeserializer(Course.class, new Serializers.CourseIdDeserializer()); - module.addSerializer(Course.class, new Serializers.CourseIdSerializer()); - module.addSerializer(League.class, new Serializers.LeagueIDSerializer()); - module.addDeserializer(League.class, new Serializers.LeagueIDDeserializer()); - return module; + return new SimpleModule() + .addSerializer(Course.class, new Serializers.CourseIdSerializer()) + .addDeserializer(Course.class, new Serializers.CourseIdDeserializer()) + .addSerializer(League.class, new Serializers.LeagueIDSerializer()) + .addDeserializer(League.class, new Serializers.LeagueIDDeserializer()); } @Override diff --git a/src/main/java/design/persistence/Serializers.java b/src/main/java/design/persistence/Serializers.java index d690633..225ec7c 100644 --- a/src/main/java/design/persistence/Serializers.java +++ b/src/main/java/design/persistence/Serializers.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.util.DefaultIndenter; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.databind.*; +import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; import design.model.Course; @@ -22,8 +23,12 @@ public class Serializers { mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); 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)); + mapper.registerModule(new JavaTimeModule()); + mapper.registerModule(new SimpleModule() + .addSerializer(Map.class, new Serializers.MapListSerializer()) + .addDeserializer(Map.class, new Serializers.MapListDeserializer()) + ); } public static class CustomPrettyPrinter extends DefaultPrettyPrinter { -- cgit v1.2.3