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(