From 8d37a242acf4026c097f44c2383a7c746cff6393 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 12 Oct 2025 00:55:11 -0400 Subject: fix club serialization and saving of some options --- src/main/java/design/model/Club.java | 8 ++++++++ src/main/java/design/model/Golfer.java | 2 ++ src/main/java/design/model/Swing.java | 4 ++++ 3 files changed, 14 insertions(+) (limited to 'src/main/java/design/model') diff --git a/src/main/java/design/model/Club.java b/src/main/java/design/model/Club.java index 9fa3c87..b12fd99 100644 --- a/src/main/java/design/model/Club.java +++ b/src/main/java/design/model/Club.java @@ -1,5 +1,13 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; + +@JsonIdentityInfo( + generator = ObjectIdGenerators.PropertyGenerator.class, + property = "id", + scope = Club.class +) public class Club { public enum ClubType { diff --git a/src/main/java/design/model/Golfer.java b/src/main/java/design/model/Golfer.java index 774bb78..48daae8 100644 --- a/src/main/java/design/model/Golfer.java +++ b/src/main/java/design/model/Golfer.java @@ -1,10 +1,12 @@ package design.model; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.util.ArrayList; import java.util.List; +@JsonPropertyOrder({ "clubs", "nextClubId" }) public class Golfer { private String username; private int passwordHash; diff --git a/src/main/java/design/model/Swing.java b/src/main/java/design/model/Swing.java index a93b66f..43c20f0 100644 --- a/src/main/java/design/model/Swing.java +++ b/src/main/java/design/model/Swing.java @@ -1,7 +1,11 @@ package design.model; +import com.fasterxml.jackson.annotation.JsonIdentityReference; + public class Swing { private final int distance; + + @JsonIdentityReference(alwaysAsId = true) private final Club clubUsed; public Swing(int distance, Club clubUsed) { -- cgit v1.2.3