This is an automated email from the ASF dual-hosted git repository.

roryqi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new e05fe5ceab [#10009] Fix: Add equals and hashCode methods to 
Policy.java (#10012)
e05fe5ceab is described below

commit e05fe5ceabf1ddb3ff191ba4d6172ce8f02a3f44
Author: Zhihong Yu <[email protected]>
AuthorDate: Sat Feb 21 06:42:42 2026 -0800

    [#10009] Fix: Add equals and hashCode methods to Policy.java (#10012)
    
    ### What changes were proposed in this pull request?
    
    This change uses the lombok annotation to add equals() and hashCode()
    methods to Policy.java
    
    ### Why are the changes needed?
    
    Without equals() and hashCode() methods, Policy class shouldn't be used
    in a `Set` because objects with duplicate fields are allowed to co-exist
    in the `Set`.
    
    Fix: #10009
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Existing IT test.
---
 bundles/aliyun/build.gradle.kts                                         | 1 +
 .../main/java/org/apache/gravitino/oss/credential/policy/Condition.java | 2 ++
 .../main/java/org/apache/gravitino/oss/credential/policy/Policy.java    | 2 ++
 .../main/java/org/apache/gravitino/oss/credential/policy/Statement.java | 2 ++
 .../java/org/apache/gravitino/oss/credential/policy/StringLike.java     | 2 ++
 5 files changed, 9 insertions(+)

diff --git a/bundles/aliyun/build.gradle.kts b/bundles/aliyun/build.gradle.kts
index c12ba1fb8b..44f1d11351 100644
--- a/bundles/aliyun/build.gradle.kts
+++ b/bundles/aliyun/build.gradle.kts
@@ -43,6 +43,7 @@ dependencies {
   compileOnly(libs.aliyun.credentials.sdk)
   compileOnly(libs.hadoop3.client.api)
   compileOnly(libs.hadoop3.oss)
+  compileOnly(libs.lombok)
 
   testImplementation(libs.junit.jupiter.api)
   testImplementation(libs.junit.jupiter.params)
diff --git 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Condition.java
 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Condition.java
index a2b20612cb..a8143fb88b 100644
--- 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Condition.java
+++ 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Condition.java
@@ -21,7 +21,9 @@ package org.apache.gravitino.oss.credential.policy;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.EqualsAndHashCode;
 
+@EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class Condition {
 
diff --git 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Policy.java
 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Policy.java
index 4c8c0f5ba8..4ec3b3d461 100644
--- 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Policy.java
+++ 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Policy.java
@@ -23,7 +23,9 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
+import lombok.EqualsAndHashCode;
 
+@EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class Policy {
 
diff --git 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Statement.java
 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Statement.java
index 2dca6e74f6..c7d0d56419 100644
--- 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Statement.java
+++ 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/Statement.java
@@ -23,7 +23,9 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
+import lombok.EqualsAndHashCode;
 
+@EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class Statement {
 
diff --git 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/StringLike.java
 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/StringLike.java
index 7438907bd3..e20d6efb70 100644
--- 
a/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/StringLike.java
+++ 
b/bundles/aliyun/src/main/java/org/apache/gravitino/oss/credential/policy/StringLike.java
@@ -23,7 +23,9 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
 import java.util.List;
+import lombok.EqualsAndHashCode;
 
+@EqualsAndHashCode
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class StringLike {
 

Reply via email to