From 795db148da712f00a0e1b5e0dce7e8dfa54bd60f Mon Sep 17 00:00:00 2001 From: Shrikant Sharat Kandula Date: Mon, 15 Apr 2024 13:46:37 +0530 Subject: [PATCH] chore: Fix warnings on `@EqualsAndHashCode` (#32667) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes build warnings like these: ``` Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' to your type. ``` Why is this important? 1. Warnings are always a worse thing than errors, because they only fail at runtime. And this is quite a significant warning, so should be fixed. 2. This _incorrect_ `equals` method screws up Hibernate's dirty checking when working with Postgres. /ok-to-test tags="@tag.Sanity" > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: > Commit: 4f697fc3f9431fcfd35fc0f9814fce763382d06c > Cypress dashboard url: Click here! ## Summary by CodeRabbit - **Refactor** - Enhanced data consistency across various models by ensuring that equality and hash code calculations now consider superclass fields. --- .../main/java/com/external/plugins/models/UserImageContent.java | 2 ++ .../main/java/com/external/plugins/models/UserTextContent.java | 2 ++ .../main/java/com/appsmith/server/domains/GitDeployKeys.java | 2 ++ .../src/main/java/com/appsmith/server/domains/License.java | 2 ++ .../java/com/appsmith/server/dtos/UpdatePermissionGroupDTO.java | 2 ++ .../src/main/java/com/appsmith/server/dtos/UserProfileDTO.java | 2 ++ .../src/main/java/com/appsmith/server/dtos/UserUpdateDTO.java | 2 ++ 7 files changed, 14 insertions(+) diff --git a/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserImageContent.java b/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserImageContent.java index 9defcf7cdd..414ad6ceaa 100644 --- a/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserImageContent.java +++ b/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserImageContent.java @@ -4,8 +4,10 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.annotation.JsonNaming; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public class UserImageContent extends UserContent { ImageUrl imageUrl; diff --git a/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserTextContent.java b/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserTextContent.java index 76032bd0e1..9cd9d7b881 100644 --- a/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserTextContent.java +++ b/app/server/appsmith-plugins/openAiPlugin/src/main/java/com/external/plugins/models/UserTextContent.java @@ -1,8 +1,10 @@ package com.external.plugins.models; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class UserTextContent extends UserContent { String text; } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/GitDeployKeys.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/GitDeployKeys.java index 72fd75786d..e3dad3c554 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/GitDeployKeys.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/GitDeployKeys.java @@ -2,8 +2,10 @@ package com.appsmith.server.domains; import com.appsmith.external.models.BaseDomain; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class GitDeployKeys extends BaseDomain { String email; diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/License.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/License.java index 47094fb735..92a831149c 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/License.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/domains/License.java @@ -2,6 +2,8 @@ package com.appsmith.server.domains; import com.appsmith.server.domains.ce.LicenseCE; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class License extends LicenseCE {} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UpdatePermissionGroupDTO.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UpdatePermissionGroupDTO.java index be10a9b204..2b3336e92f 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UpdatePermissionGroupDTO.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UpdatePermissionGroupDTO.java @@ -2,8 +2,10 @@ package com.appsmith.server.dtos; import com.appsmith.server.dtos.ce.UpdatePermissionGroupCE_DTO; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @Data +@EqualsAndHashCode(callSuper = true) @NoArgsConstructor public class UpdatePermissionGroupDTO extends UpdatePermissionGroupCE_DTO {} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserProfileDTO.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserProfileDTO.java index 8b77e8d126..9e26f95a30 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserProfileDTO.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserProfileDTO.java @@ -2,6 +2,8 @@ package com.appsmith.server.dtos; import com.appsmith.server.dtos.ce.UserProfileCE_DTO; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class UserProfileDTO extends UserProfileCE_DTO {} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserUpdateDTO.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserUpdateDTO.java index c66d89ba14..d2657bb152 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserUpdateDTO.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/UserUpdateDTO.java @@ -2,9 +2,11 @@ package com.appsmith.server.dtos; import com.appsmith.server.dtos.ce.UserUpdateCE_DTO; import lombok.Data; +import lombok.EqualsAndHashCode; /** * Includes **only** those fields that can be updated for a user, via an API call. */ @Data +@EqualsAndHashCode(callSuper = true) public class UserUpdateDTO extends UserUpdateCE_DTO {}