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

fanng 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 27337670e4 [#7011] improve (core): Add object type of 
AssociateTagsForMetadataObjectEvent (#7014)
27337670e4 is described below

commit 27337670e4ea310103c3997582a3f16a9a683cbc
Author: Yuhui <[email protected]>
AuthorDate: Mon Apr 21 23:06:19 2025 +0800

    [#7011] improve (core): Add object type of 
AssociateTagsForMetadataObjectEvent (#7014)
    
    ### What changes were proposed in this pull request?
    
    Add objectType of AssociateTagsForMetadataObjectEvent
    
    ### Why are the changes needed?
    
    Fix: #7011
    
    ### Does this PR introduce _any_ user-facing change?
    
    No
    
    ### How was this patch tested?
    
    Manually test
---
 .../api/event/AssociateTagsForMetadataObjectEvent.java        | 11 +++++++++++
 .../api/event/AssociateTagsForMetadataObjectFailureEvent.java | 11 +++++++++++
 .../api/event/AssociateTagsForMetadataObjectPreEvent.java     | 11 +++++++++++
 .../org/apache/gravitino/listener/api/event/TestTagEvent.java | 11 ++++++++++-
 4 files changed, 43 insertions(+), 1 deletion(-)

diff --git 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectEvent.java
 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectEvent.java
index 7c1bff264f..77480d743d 100644
--- 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectEvent.java
+++ 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectEvent.java
@@ -28,6 +28,7 @@ import org.apache.gravitino.utils.MetadataObjectUtil;
  */
 @DeveloperApi
 public final class AssociateTagsForMetadataObjectEvent extends TagEvent {
+  private final MetadataObject.Type objectType;
   private final String[] tagsToAdd;
   private final String[] tagsToRemove;
   private final String[] associatedTags;
@@ -50,11 +51,21 @@ public final class AssociateTagsForMetadataObjectEvent 
extends TagEvent {
       String[] tagsToRemove,
       String[] associatedTags) {
     super(user, MetadataObjectUtil.toEntityIdent(metalake, metadataObject));
+    this.objectType = metadataObject.type();
     this.tagsToAdd = tagsToAdd != null ? tagsToAdd.clone() : new String[0];
     this.tagsToRemove = tagsToRemove != null ? tagsToRemove.clone() : new 
String[0];
     this.associatedTags = associatedTags != null ? associatedTags.clone() : 
new String[0];
   }
 
+  /**
+   * Provides the type of metadata object associated with this event.
+   *
+   * @return The type of metadata object.
+   */
+  public MetadataObject.Type objectType() {
+    return objectType;
+  }
+
   /**
    * Provides the tags that were added in this operation.
    *
diff --git 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectFailureEvent.java
 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectFailureEvent.java
index c196e7f7ed..e981841383 100644
--- 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectFailureEvent.java
+++ 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectFailureEvent.java
@@ -28,6 +28,7 @@ import org.apache.gravitino.utils.MetadataObjectUtil;
  */
 @DeveloperApi
 public class AssociateTagsForMetadataObjectFailureEvent extends 
TagFailureEvent {
+  private final MetadataObject.Type objectType;
   private final String[] tagsToAdd;
   private final String[] tagsToRemove;
 
@@ -50,10 +51,20 @@ public class AssociateTagsForMetadataObjectFailureEvent 
extends TagFailureEvent
       String[] tagsToRemove,
       Exception exception) {
     super(user, MetadataObjectUtil.toEntityIdent(metalake, metadataObject), 
exception);
+    this.objectType = metadataObject.type();
     this.tagsToAdd = tagsToAdd;
     this.tagsToRemove = tagsToRemove;
   }
 
+  /**
+   * Provides the type of metadata object associated with this event.
+   *
+   * @return The type of metadata object.
+   */
+  public MetadataObject.Type objectType() {
+    return objectType;
+  }
+
   /**
    * Returns the tags to add.
    *
diff --git 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectPreEvent.java
 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectPreEvent.java
index 6a2ea2a4b9..8f21cc96b0 100644
--- 
a/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectPreEvent.java
+++ 
b/core/src/main/java/org/apache/gravitino/listener/api/event/AssociateTagsForMetadataObjectPreEvent.java
@@ -25,6 +25,7 @@ import org.apache.gravitino.utils.MetadataObjectUtil;
 /** Represents an event triggered before associating tags with a specific 
metadata object. */
 @DeveloperApi
 public class AssociateTagsForMetadataObjectPreEvent extends TagPreEvent {
+  private final MetadataObject.Type objectType;
   private final String[] tagsToAdd;
   private final String[] tagsToRemove;
 
@@ -44,10 +45,20 @@ public class AssociateTagsForMetadataObjectPreEvent extends 
TagPreEvent {
       String[] tagsToAdd,
       String[] tagsToRemove) {
     super(user, MetadataObjectUtil.toEntityIdent(metalake, metadataObject));
+    this.objectType = metadataObject.type();
     this.tagsToAdd = tagsToAdd;
     this.tagsToRemove = tagsToRemove;
   }
 
+  /**
+   * Provides the type of metadata object associated with this event.
+   *
+   * @return The type of metadata object.
+   */
+  public MetadataObject.Type objectType() {
+    return objectType;
+  }
+
   /**
    * Returns the tags to be added.
    *
diff --git 
a/core/src/test/java/org/apache/gravitino/listener/api/event/TestTagEvent.java 
b/core/src/test/java/org/apache/gravitino/listener/api/event/TestTagEvent.java
index 8a59f406d3..2f276ba45f 100644
--- 
a/core/src/test/java/org/apache/gravitino/listener/api/event/TestTagEvent.java
+++ 
b/core/src/test/java/org/apache/gravitino/listener/api/event/TestTagEvent.java
@@ -255,7 +255,7 @@ public class TestTagEvent {
   }
 
   @Test
-  void testAssociateTagsForMetadataObject() {
+  void testAssociateTagsForMetadataObjectPreEvent() {
     MetadataObject metadataObject =
         NameIdentifierUtil.toMetadataObject(
             NameIdentifierUtil.ofCatalog("metalake", "catalog_for_test"),
@@ -271,6 +271,9 @@ public class TestTagEvent {
 
     Assertions.assertEquals(identifier.toString(), 
preEvent.identifier().toString());
     Assertions.assertEquals(AssociateTagsForMetadataObjectPreEvent.class, 
preEvent.getClass());
+    Assertions.assertEquals(
+        MetadataObject.Type.CATALOG,
+        ((AssociateTagsForMetadataObjectPreEvent) preEvent).objectType());
     Assertions.assertArrayEquals(
         tagsToAdd, ((AssociateTagsForMetadataObjectPreEvent) 
preEvent).tagsToAdd());
     Assertions.assertArrayEquals(
@@ -283,6 +286,9 @@ public class TestTagEvent {
     Event postevent = dummyEventListener.popPostEvent();
     Assertions.assertEquals(identifier.toString(), 
postevent.identifier().toString());
     Assertions.assertEquals(AssociateTagsForMetadataObjectEvent.class, 
postevent.getClass());
+    Assertions.assertEquals(
+        MetadataObject.Type.CATALOG,
+        ((AssociateTagsForMetadataObjectEvent) postevent).objectType());
     Assertions.assertArrayEquals(
         tagsToAdd, ((AssociateTagsForMetadataObjectEvent) 
postevent).tagsToAdd());
     Assertions.assertArrayEquals(
@@ -482,6 +488,9 @@ public class TestTagEvent {
     Assertions.assertEquals(
         GravitinoRuntimeException.class,
         ((AssociateTagsForMetadataObjectFailureEvent) 
event).exception().getClass());
+    Assertions.assertEquals(
+        MetadataObject.Type.CATALOG,
+        ((AssociateTagsForMetadataObjectFailureEvent) event).objectType());
     Assertions.assertEquals(
         tagsToAssociate, ((AssociateTagsForMetadataObjectFailureEvent) 
event).tagsToAdd());
     Assertions.assertEquals(

Reply via email to