diff --git a/spring-geode/src/test/java/example/app/pos/model/LineItem.java b/spring-geode/src/test/java/example/app/pos/model/LineItem.java index 28640a53..3aee24ed 100644 --- a/spring-geode/src/test/java/example/app/pos/model/LineItem.java +++ b/spring-geode/src/test/java/example/app/pos/model/LineItem.java @@ -19,7 +19,9 @@ import java.math.BigDecimal; import org.springframework.util.Assert; +import lombok.AccessLevel; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.NonNull; import lombok.RequiredArgsConstructor; @@ -30,6 +32,7 @@ import lombok.RequiredArgsConstructor; * @since 1.3.0 */ @Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) @RequiredArgsConstructor(staticName = "newLineItem") @SuppressWarnings("unused") public class LineItem { diff --git a/spring-geode/src/test/java/example/app/pos/model/Product.java b/spring-geode/src/test/java/example/app/pos/model/Product.java index 03d18ce9..14793f31 100644 --- a/spring-geode/src/test/java/example/app/pos/model/Product.java +++ b/spring-geode/src/test/java/example/app/pos/model/Product.java @@ -20,8 +20,10 @@ import java.math.BigDecimal; import org.springframework.data.annotation.Id; import org.springframework.data.gemfire.mapping.annotation.Region; +import lombok.AccessLevel; import lombok.EqualsAndHashCode; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.ToString; @@ -38,6 +40,7 @@ import lombok.ToString; @Getter @ToString(of = "name") @EqualsAndHashCode(of = "name") +@NoArgsConstructor(access = AccessLevel.PROTECTED) @RequiredArgsConstructor(staticName = "newProduct") @SuppressWarnings("unused") public class Product { diff --git a/spring-geode/src/test/java/example/app/pos/model/PurchaseOrder.java b/spring-geode/src/test/java/example/app/pos/model/PurchaseOrder.java index 94d87b40..7b5d5399 100644 --- a/spring-geode/src/test/java/example/app/pos/model/PurchaseOrder.java +++ b/spring-geode/src/test/java/example/app/pos/model/PurchaseOrder.java @@ -16,11 +16,11 @@ package example.app.pos.model; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; -import java.util.LinkedHashSet; +import java.util.List; import java.util.Optional; -import java.util.Set; import java.util.stream.StreamSupport; import org.springframework.data.annotation.Id; @@ -42,14 +42,17 @@ import lombok.Getter; * @see org.springframework.data.gemfire.mapping.annotation.Region * @since 1.3.0 */ +@Getter @Region("PurchaseOrders") @SuppressWarnings("unused") public class PurchaseOrder implements Iterable { - @Id @Getter + @Id private Long id; - private final Set lineItems = new LinkedHashSet<>(); + //@Getter(AccessLevel.PROTECTED) // Ideally! However, Jackson ObjectMapper does not handle protected correctly! + // In fact, ideally, no getter at all; why can't Jackson's ObjectMapper handle field mapping(?); argh! + private List lineItems = new ArrayList<>(); public Optional findBy(String productName) { @@ -77,7 +80,7 @@ public class PurchaseOrder implements Iterable { @NotNull @Override public Iterator iterator() { - return Collections.unmodifiableSet(this.lineItems).iterator(); + return Collections.unmodifiableList(this.lineItems).iterator(); } public int size() {