From 0d3e1df6e50ddaf2261c8658120a297c6d9b56ad Mon Sep 17 00:00:00 2001 From: ScarletRedMan Date: Fri, 15 Mar 2024 01:27:53 +0700 Subject: [PATCH] Fixed hashCode and equals collisions --- .../ru/dragonestia/picker/api/model/room/ResponseRoom.java | 5 +++-- .../dragonestia/picker/api/model/room/ShortResponseRoom.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ResponseRoom.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ResponseRoom.java index 701c7a7..0f47ffc 100644 --- a/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ResponseRoom.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ResponseRoom.java @@ -10,6 +10,7 @@ import ru.dragonestia.picker.api.repository.type.RoomPath; import java.beans.Transient; import java.util.HashMap; import java.util.Map; +import java.util.Objects; @Schema(title = "Room") public class ResponseRoom implements IRoom { @@ -116,7 +117,7 @@ public class ResponseRoom implements IRoom { @Override public int hashCode() { - return id.hashCode(); + return Objects.hash(id, nodeId); } @Override @@ -124,7 +125,7 @@ public class ResponseRoom implements IRoom { if (object == this) return true; if (object == null) return false; if (object instanceof ResponseRoom other) { - return id.equals(other.id); + return id.equals(other.id) && nodeId.equals(other.nodeId); } return false; } diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ShortResponseRoom.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ShortResponseRoom.java index caaa0d8..2dffe37 100644 --- a/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ShortResponseRoom.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/room/ShortResponseRoom.java @@ -9,6 +9,7 @@ import ru.dragonestia.picker.api.repository.type.RoomPath; import java.beans.Transient; import java.util.HashMap; import java.util.Map; +import java.util.Objects; @Schema(title = "Room (Short)") public class ShortResponseRoom implements IRoom { @@ -92,7 +93,7 @@ public class ShortResponseRoom implements IRoom { @Override public int hashCode() { - return id.hashCode(); + return Objects.hash(id, nodeId); } @Override @@ -100,7 +101,7 @@ public class ShortResponseRoom implements IRoom { if (object == this) return true; if (object == null) return false; if (object instanceof ShortResponseRoom other) { - return id.equals(other.id); + return id.equals(other.id) && nodeId.equals(other.nodeId); } return false; }