From 662f9cdeb366f7a519d51bc07aacba052a08c3b3 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Tue, 19 Mar 2019 20:16:54 +0100 Subject: [PATCH] fixed equals() method in ModifyAware collections. --- .../java/io/ebeaninternal/json/ModifyAwareList.java | 10 +++++++--- .../java/io/ebeaninternal/json/ModifyAwareMap.java | 11 ++++++++--- .../java/io/ebeaninternal/json/ModifyAwareSet.java | 10 +++++++--- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/ebeaninternal/json/ModifyAwareList.java b/src/main/java/io/ebeaninternal/json/ModifyAwareList.java index cf3e6b43b..04e63fbf5 100644 --- a/src/main/java/io/ebeaninternal/json/ModifyAwareList.java +++ b/src/main/java/io/ebeaninternal/json/ModifyAwareList.java @@ -36,9 +36,13 @@ public class ModifyAwareList implements List, ModifyAwareOwner { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof ModifyAwareList)) return false; - ModifyAwareList that = (ModifyAwareList) o; - return Objects.equals(list, that.list); + if (o instanceof ModifyAwareList) { + ModifyAwareList that = (ModifyAwareList) o; + return Objects.equals(list, that.list); + } + if (!(o instanceof List)) return false; + List that = (List) o; + return Objects.equals(list, that); } @Override diff --git a/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java b/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java index 88b488820..b0cd03f06 100644 --- a/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java +++ b/src/main/java/io/ebeaninternal/json/ModifyAwareMap.java @@ -2,6 +2,7 @@ package io.ebeaninternal.json; import java.util.Collection; import java.util.LinkedHashSet; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; @@ -38,9 +39,13 @@ public class ModifyAwareMap implements Map, ModifyAwareOwner { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof ModifyAwareMap)) return false; - ModifyAwareMap that = (ModifyAwareMap) o; - return Objects.equals(map, that.map); + if (o instanceof ModifyAwareMap) { + ModifyAwareMap that = (ModifyAwareMap) o; + return Objects.equals(map, that.map); + } + if (!(o instanceof Map)) return false; + Map that = (Map) o; + return Objects.equals(map, that); } @Override diff --git a/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java b/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java index 03a2627de..ba0777283 100644 --- a/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java +++ b/src/main/java/io/ebeaninternal/json/ModifyAwareSet.java @@ -55,9 +55,13 @@ public class ModifyAwareSet implements Set, ModifyAwareOwner { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof ModifyAwareSet)) return false; - ModifyAwareSet that = (ModifyAwareSet) o; - return Objects.equals(set, that.set); + if (o instanceof ModifyAwareSet) { + ModifyAwareSet that = (ModifyAwareSet) o; + return Objects.equals(set, that.set); + } + if (!(o instanceof Set)) return false; + Set that = (Set) o; + return Objects.equals(set, that); } @Override