From 84a74f5921c7f5c0939d6f0fc938bba1bef4e5d3 Mon Sep 17 00:00:00 2001 From: Sascha Woo Date: Tue, 22 Jun 2021 20:51:47 +0200 Subject: [PATCH] Add missing hashCode and equals methods to JoinField. Original Pull Request #1847 Closes #1846 (cherry picked from commit a16a87f3fa42c96566fac06e89aa703767a4842e) (cherry picked from commit 0bb239a67465fd1304d0f318690b301cd6f3b4fe) --- .../elasticsearch/core/join/JoinField.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/org/springframework/data/elasticsearch/core/join/JoinField.java b/src/main/java/org/springframework/data/elasticsearch/core/join/JoinField.java index 70ce58ce3..91b8b4fb6 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/join/JoinField.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/join/JoinField.java @@ -15,10 +15,14 @@ */ package org.springframework.data.elasticsearch.core.join; +import java.util.Objects; + +import org.springframework.data.annotation.PersistenceConstructor; import org.springframework.lang.Nullable; /** * @author Subhobrata Dey + * @author Sascha Woo * @since 4.1 */ public class JoinField { @@ -35,6 +39,7 @@ public class JoinField { this(name, null); } + @PersistenceConstructor public JoinField(String name, @Nullable ID parent) { this.name = name; this.parent = parent; @@ -52,4 +57,21 @@ public class JoinField { public String getName() { return name; } + + @Override + public int hashCode() { + return Objects.hash(name, parent); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof JoinField)) { + return false; + } + JoinField other = (JoinField) obj; + return Objects.equals(name, other.name) && Objects.equals(parent, other.parent); + } }