From 445eae3ff15cb5d209a5534297c19f21a981946a Mon Sep 17 00:00:00 2001 From: yuqi Date: Thu, 26 Mar 2026 20:02:20 +0800 Subject: [PATCH 1/2] [#10464] refactor(iceberg): decouple listener events from Iceberg API models Refactor Iceberg listener post/failure events to store serializable payload maps instead of Iceberg REST request/response classes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../iceberg/service/IcebergRESTUtils.java | 10 ++++++++ .../event/IcebergCreateNamespaceEvent.java | 23 ++++++++----------- .../IcebergCreateNamespaceFailureEvent.java | 12 ++++------ .../api/event/IcebergCreateTableEvent.java | 21 ++++++++--------- .../event/IcebergCreateTableFailureEvent.java | 11 ++++----- .../api/event/IcebergCreateViewEvent.java | 21 ++++++++--------- .../event/IcebergCreateViewFailureEvent.java | 11 ++++----- .../api/event/IcebergLoadNamespaceEvent.java | 11 ++++----- .../api/event/IcebergLoadTableEvent.java | 11 ++++----- .../api/event/IcebergLoadViewEvent.java | 11 ++++----- .../api/event/IcebergRegisterTableEvent.java | 21 ++++++++--------- .../IcebergRegisterTableFailureEvent.java | 11 ++++----- .../api/event/IcebergRenameTableEvent.java | 11 ++++----- .../event/IcebergRenameTableFailureEvent.java | 7 +++--- .../api/event/IcebergRenameViewEvent.java | 11 ++++----- .../event/IcebergRenameViewFailureEvent.java | 7 +++--- .../api/event/IcebergReplaceViewEvent.java | 21 ++++++++--------- .../event/IcebergReplaceViewFailureEvent.java | 11 ++++----- .../event/IcebergUpdateNamespaceEvent.java | 21 ++++++++--------- .../IcebergUpdateNamespaceFailureEvent.java | 11 ++++----- .../api/event/IcebergUpdateTableEvent.java | 21 ++++++++--------- .../event/IcebergUpdateTableFailureEvent.java | 11 ++++----- 22 files changed, 139 insertions(+), 167 deletions(-) diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergRESTUtils.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergRESTUtils.java index 84ea56cc378..66bfa03a590 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergRESTUtils.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergRESTUtils.java @@ -115,6 +115,16 @@ public static T cloneIcebergRESTObject(Object message, Class className) { } } + public static Map toSerializableMap(Object message) { + ObjectMapper icebergObjectMapper = IcebergObjectMapper.getInstance(); + try { + byte[] values = icebergObjectMapper.writeValueAsBytes(message); + return icebergObjectMapper.readValue(values, Map.class); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public static NameIdentifier getGravitinoNameIdentifier( String metalakeName, String catalogName, Namespace namespace) { Stream catalogNS = diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java index d68ea2481ba..5514313bc16 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java @@ -19,38 +19,33 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateNamespaceRequest; -import org.apache.iceberg.rest.responses.CreateNamespaceResponse; /** Represent an event after creating Iceberg namespace successfully. */ @DeveloperApi public class IcebergCreateNamespaceEvent extends IcebergNamespaceEvent { - private final CreateNamespaceRequest createNamespaceRequest; - private final CreateNamespaceResponse createNamespaceResponse; + private final Map createNamespaceRequest; + private final Map createNamespaceResponse; public IcebergCreateNamespaceEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - CreateNamespaceRequest createNamespaceRequest, - CreateNamespaceResponse createNamespaceResponse) { + Object createNamespaceRequest, + Object createNamespaceResponse) { super(icebergRequestContext, nameIdentifier); - this.createNamespaceRequest = - IcebergRESTUtils.cloneIcebergRESTObject( - createNamespaceRequest, CreateNamespaceRequest.class); - this.createNamespaceResponse = - IcebergRESTUtils.cloneIcebergRESTObject( - createNamespaceResponse, CreateNamespaceResponse.class); + this.createNamespaceRequest = IcebergRESTUtils.toSerializableMap(createNamespaceRequest); + this.createNamespaceResponse = IcebergRESTUtils.toSerializableMap(createNamespaceResponse); } - public CreateNamespaceRequest createNamespaceRequest() { + public Map createNamespaceRequest() { return createNamespaceRequest; } - public CreateNamespaceResponse createNamespaceResponse() { + public Map createNamespaceResponse() { return createNamespaceResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java index c742e782f94..5ead776feb3 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java @@ -19,28 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateNamespaceRequest; /** Represent a failure event when creating Iceberg namespace failed. */ @DeveloperApi public class IcebergCreateNamespaceFailureEvent extends IcebergNamespaceFailureEvent { - private final CreateNamespaceRequest createNamespaceRequest; + private final Map createNamespaceRequest; public IcebergCreateNamespaceFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - CreateNamespaceRequest createNamespaceRequest, + Object createNamespaceRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.createNamespaceRequest = - IcebergRESTUtils.cloneIcebergRESTObject( - createNamespaceRequest, CreateNamespaceRequest.class); + this.createNamespaceRequest = IcebergRESTUtils.toSerializableMap(createNamespaceRequest); } - public CreateNamespaceRequest createNamespaceRequest() { + public Map createNamespaceRequest() { return createNamespaceRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java index 1ba24173103..d0a8722b72e 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java @@ -19,29 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateTableRequest; -import org.apache.iceberg.rest.responses.LoadTableResponse; /** Represent an event after creating Iceberg table successfully. */ @DeveloperApi public class IcebergCreateTableEvent extends IcebergTableEvent { - private final CreateTableRequest createTableRequest; - private final LoadTableResponse loadTableResponse; + private final Map createTableRequest; + private final Map loadTableResponse; public IcebergCreateTableEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - CreateTableRequest createTableRequest, - LoadTableResponse loadTableResponse) { + Object createTableRequest, + Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.createTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(createTableRequest, CreateTableRequest.class); - this.loadTableResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadTableResponse, LoadTableResponse.class); + this.createTableRequest = IcebergRESTUtils.toSerializableMap(createTableRequest); + this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); } @Override @@ -49,11 +46,11 @@ public OperationType operationType() { return OperationType.CREATE_TABLE; } - public CreateTableRequest createTableRequest() { + public Map createTableRequest() { return createTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map loadTableResponse() { return loadTableResponse; } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java index 21c8e2862ee..26032ddb630 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java @@ -19,24 +19,23 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateTableRequest; /** Represent a failure event when creating Iceberg table failed. */ @DeveloperApi public class IcebergCreateTableFailureEvent extends IcebergTableFailureEvent { - private final CreateTableRequest createTableRequest; + private final Map createTableRequest; public IcebergCreateTableFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - CreateTableRequest createTableRequest, + Object createTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.createTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(createTableRequest, CreateTableRequest.class); + this.createTableRequest = IcebergRESTUtils.toSerializableMap(createTableRequest); } @Override @@ -44,7 +43,7 @@ public OperationType operationType() { return OperationType.CREATE_TABLE; } - public CreateTableRequest createTableRequest() { + public Map createTableRequest() { return createTableRequest; } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java index 51794523013..edb64d8d6de 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java @@ -19,36 +19,33 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateViewRequest; -import org.apache.iceberg.rest.responses.LoadViewResponse; /** Represent an event after creating Iceberg view successfully. */ @DeveloperApi public class IcebergCreateViewEvent extends IcebergViewEvent { - private final CreateViewRequest createViewRequest; - private final LoadViewResponse loadViewResponse; + private final Map createViewRequest; + private final Map loadViewResponse; public IcebergCreateViewEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - CreateViewRequest createViewRequest, - LoadViewResponse loadViewResponse) { + Object createViewRequest, + Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.createViewRequest = - IcebergRESTUtils.cloneIcebergRESTObject(createViewRequest, CreateViewRequest.class); - this.loadViewResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadViewResponse, LoadViewResponse.class); + this.createViewRequest = IcebergRESTUtils.toSerializableMap(createViewRequest); + this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); } - public CreateViewRequest createViewRequest() { + public Map createViewRequest() { return createViewRequest; } - public LoadViewResponse loadViewResponse() { + public Map loadViewResponse() { return loadViewResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java index 232418527f5..90ff90f0d3b 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java @@ -19,27 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.CreateViewRequest; /** Represent a failure event when creating Iceberg view failed. */ @DeveloperApi public class IcebergCreateViewFailureEvent extends IcebergViewFailureEvent { - private final CreateViewRequest createViewRequest; + private final Map createViewRequest; public IcebergCreateViewFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - CreateViewRequest createViewRequest, + Object createViewRequest, Exception e) { super(icebergRequestContext, viewIdentifier, e); - this.createViewRequest = - IcebergRESTUtils.cloneIcebergRESTObject(createViewRequest, CreateViewRequest.class); + this.createViewRequest = IcebergRESTUtils.toSerializableMap(createViewRequest); } - public CreateViewRequest createViewRequest() { + public Map createViewRequest() { return createViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java index 1f7fe3b4991..e57d488439a 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java @@ -19,26 +19,25 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.responses.GetNamespaceResponse; /** Represent an event after loading Iceberg namespace successfully. */ @DeveloperApi public class IcebergLoadNamespaceEvent extends IcebergNamespaceEvent { - private final GetNamespaceResponse getNamespaceResponse; + private final Map getNamespaceResponse; public IcebergLoadNamespaceEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - GetNamespaceResponse getNamespaceResponse) { + Object getNamespaceResponse) { super(icebergRequestContext, nameIdentifier); - this.getNamespaceResponse = - IcebergRESTUtils.cloneIcebergRESTObject(getNamespaceResponse, GetNamespaceResponse.class); + this.getNamespaceResponse = IcebergRESTUtils.toSerializableMap(getNamespaceResponse); } - public GetNamespaceResponse getNamespaceResponse() { + public Map getNamespaceResponse() { return getNamespaceResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java index 000169856a5..b5810ac3e01 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java @@ -19,23 +19,22 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.responses.LoadTableResponse; /** Represent an event after loading Iceberg table successfully. */ @DeveloperApi public class IcebergLoadTableEvent extends IcebergTableEvent { - private final LoadTableResponse loadTableResponse; + private final Map loadTableResponse; public IcebergLoadTableEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - LoadTableResponse loadTableResponse) { + Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.loadTableResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadTableResponse, LoadTableResponse.class); + this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); } @Override @@ -43,7 +42,7 @@ public OperationType operationType() { return OperationType.LOAD_TABLE; } - public LoadTableResponse loadTableResponse() { + public Map loadTableResponse() { return loadTableResponse; } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java index 0709e43d454..c434d7cacb4 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java @@ -19,26 +19,25 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.responses.LoadViewResponse; /** Represent an event after loading Iceberg view successfully. */ @DeveloperApi public class IcebergLoadViewEvent extends IcebergViewEvent { - private final LoadViewResponse loadViewResponse; + private final Map loadViewResponse; public IcebergLoadViewEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - LoadViewResponse loadViewResponse) { + Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.loadViewResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadViewResponse, LoadViewResponse.class); + this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); } - public LoadViewResponse loadViewResponse() { + public Map loadViewResponse() { return loadViewResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java index d892036a583..1106140e7b3 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java @@ -19,36 +19,33 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.RegisterTableRequest; -import org.apache.iceberg.rest.responses.LoadTableResponse; /** Represent an event after registering Iceberg table successfully. */ @DeveloperApi public class IcebergRegisterTableEvent extends IcebergTableEvent { - private final RegisterTableRequest registerTableRequest; - private final LoadTableResponse loadTableResponse; + private final Map registerTableRequest; + private final Map loadTableResponse; public IcebergRegisterTableEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - RegisterTableRequest registerTableRequest, - LoadTableResponse loadTableResponse) { + Object registerTableRequest, + Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.registerTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(registerTableRequest, RegisterTableRequest.class); - this.loadTableResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadTableResponse, LoadTableResponse.class); + this.registerTableRequest = IcebergRESTUtils.toSerializableMap(registerTableRequest); + this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); } - public RegisterTableRequest registerTableRequest() { + public Map registerTableRequest() { return registerTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map loadTableResponse() { return loadTableResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java index afdbec54e0f..3ed920295af 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java @@ -19,27 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.RegisterTableRequest; /** Represent a failure event when registering Iceberg table failed. */ @DeveloperApi public class IcebergRegisterTableFailureEvent extends IcebergTableFailureEvent { - private final RegisterTableRequest registerTableRequest; + private final Map registerTableRequest; public IcebergRegisterTableFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - RegisterTableRequest registerTableRequest, + Object registerTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.registerTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(registerTableRequest, RegisterTableRequest.class); + this.registerTableRequest = IcebergRESTUtils.toSerializableMap(registerTableRequest); } - public RegisterTableRequest registerTableRequest() { + public Map registerTableRequest() { return registerTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java index 2f38b1477e1..1cbcd0e5530 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java @@ -19,26 +19,25 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an event after rename Iceberg table successfully. */ @DeveloperApi public class IcebergRenameTableEvent extends IcebergTableEvent { - private final RenameTableRequest renameTableRequest; + private final Map renameTableRequest; public IcebergRenameTableEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - RenameTableRequest renameTableRequest) { + Object renameTableRequest) { super(icebergRequestContext, resourceIdentifier); - this.renameTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(renameTableRequest, RenameTableRequest.class); + this.renameTableRequest = IcebergRESTUtils.toSerializableMap(renameTableRequest); } - public RenameTableRequest renameTableRequest() { + public Map renameTableRequest() { return renameTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java index 19b7e8e2672..d58454393f3 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an event when rename Iceberg table failed. */ @DeveloperApi public class IcebergRenameTableFailureEvent extends IcebergTableFailureEvent { - private final RenameTableRequest renameTableRequest; + private final Object renameTableRequest; public IcebergRenameTableFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - RenameTableRequest renameTableRequest, + Object renameTableRequest, Exception e) { super(icebergRequestContext, resourceIdentifier, e); this.renameTableRequest = renameTableRequest; } - public RenameTableRequest renameTableRequest() { + public Object renameTableRequest() { return renameTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java index 530db1da86d..6d7d7f5d7fc 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java @@ -19,26 +19,25 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an event after rename Iceberg view successfully. */ @DeveloperApi public class IcebergRenameViewEvent extends IcebergViewEvent { - private final RenameTableRequest renameViewRequest; + private final Map renameViewRequest; public IcebergRenameViewEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - RenameTableRequest renameViewRequest) { + Object renameViewRequest) { super(icebergRequestContext, viewIdentifier); - this.renameViewRequest = - IcebergRESTUtils.cloneIcebergRESTObject(renameViewRequest, RenameTableRequest.class); + this.renameViewRequest = IcebergRESTUtils.toSerializableMap(renameViewRequest); } - public RenameTableRequest renameViewRequest() { + public Map renameViewRequest() { return renameViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java index afdff2ff450..1af178a936a 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an event when rename Iceberg view failed. */ @DeveloperApi public class IcebergRenameViewFailureEvent extends IcebergViewFailureEvent { - private final RenameTableRequest renameViewRequest; + private final Object renameViewRequest; public IcebergRenameViewFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - RenameTableRequest renameViewRequest, + Object renameViewRequest, Exception e) { super(icebergRequestContext, viewIdentifier, e); this.renameViewRequest = renameViewRequest; } - public RenameTableRequest renameViewRequest() { + public Object renameViewRequest() { return renameViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java index b894795ebad..7a0990f5908 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java @@ -19,36 +19,33 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateTableRequest; -import org.apache.iceberg.rest.responses.LoadViewResponse; /** Represent an event after updating Iceberg view successfully. */ @DeveloperApi public class IcebergReplaceViewEvent extends IcebergViewEvent { - private final UpdateTableRequest replaceViewRequest; - private final LoadViewResponse loadViewResponse; + private final Map replaceViewRequest; + private final Map loadViewResponse; public IcebergReplaceViewEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - UpdateTableRequest replaceViewRequest, - LoadViewResponse loadViewResponse) { + Object replaceViewRequest, + Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.replaceViewRequest = - IcebergRESTUtils.cloneIcebergRESTObject(replaceViewRequest, UpdateTableRequest.class); - this.loadViewResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadViewResponse, LoadViewResponse.class); + this.replaceViewRequest = IcebergRESTUtils.toSerializableMap(replaceViewRequest); + this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); } - public UpdateTableRequest renameViewRequest() { + public Map renameViewRequest() { return replaceViewRequest; } - public LoadViewResponse loadViewResponse() { + public Map loadViewResponse() { return loadViewResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java index 336fb8760c0..bf0974e830b 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java @@ -19,27 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateTableRequest; /** Represent a failure event when updating Iceberg view failed. */ @DeveloperApi public class IcebergReplaceViewFailureEvent extends IcebergViewFailureEvent { - private final UpdateTableRequest replaceViewRequest; + private final Map replaceViewRequest; public IcebergReplaceViewFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - UpdateTableRequest replaceViewRequest, + Object replaceViewRequest, Exception e) { super(icebergRequestContext, viewIdentifier, e); - this.replaceViewRequest = - IcebergRESTUtils.cloneIcebergRESTObject(replaceViewRequest, UpdateTableRequest.class); + this.replaceViewRequest = IcebergRESTUtils.toSerializableMap(replaceViewRequest); } - public UpdateTableRequest replaceViewRequest() { + public Map replaceViewRequest() { return replaceViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java index dfd66e2ca5f..6450026dcc6 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java @@ -19,38 +19,35 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateNamespacePropertiesRequest; -import org.apache.iceberg.rest.responses.UpdateNamespacePropertiesResponse; /** Represent an event after updating Iceberg namespace successfully. */ @DeveloperApi public class IcebergUpdateNamespaceEvent extends IcebergNamespaceEvent { - private final UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest; - private final UpdateNamespacePropertiesResponse updateNamespacePropertiesResponse; + private final Map updateNamespacePropertiesRequest; + private final Map updateNamespacePropertiesResponse; public IcebergUpdateNamespaceEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest, - UpdateNamespacePropertiesResponse updateNamespacePropertiesResponse) { + Object updateNamespacePropertiesRequest, + Object updateNamespacePropertiesResponse) { super(icebergRequestContext, nameIdentifier); this.updateNamespacePropertiesRequest = - IcebergRESTUtils.cloneIcebergRESTObject( - updateNamespacePropertiesRequest, UpdateNamespacePropertiesRequest.class); + IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesRequest); this.updateNamespacePropertiesResponse = - IcebergRESTUtils.cloneIcebergRESTObject( - updateNamespacePropertiesResponse, UpdateNamespacePropertiesResponse.class); + IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesResponse); } - public UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest() { + public Map updateNamespacePropertiesRequest() { return updateNamespacePropertiesRequest; } - public UpdateNamespacePropertiesResponse updateNamespacePropertiesResponse() { + public Map updateNamespacePropertiesResponse() { return updateNamespacePropertiesResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java index 258a5b029aa..9972a4ae140 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java @@ -19,28 +19,27 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateNamespacePropertiesRequest; /** Represent a failure event when updating Iceberg namespace failed. */ @DeveloperApi public class IcebergUpdateNamespaceFailureEvent extends IcebergNamespaceFailureEvent { - private final UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest; + private final Map updateNamespacePropertiesRequest; public IcebergUpdateNamespaceFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest, + Object updateNamespacePropertiesRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); this.updateNamespacePropertiesRequest = - IcebergRESTUtils.cloneIcebergRESTObject( - updateNamespacePropertiesRequest, UpdateNamespacePropertiesRequest.class); + IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesRequest); } - public UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest() { + public Map updateNamespacePropertiesRequest() { return updateNamespacePropertiesRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java index 159613c7579..ebf8d902b89 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java @@ -19,36 +19,33 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateTableRequest; -import org.apache.iceberg.rest.responses.LoadTableResponse; /** Represent an event after updating Iceberg table successfully. */ @DeveloperApi public class IcebergUpdateTableEvent extends IcebergTableEvent { - private final UpdateTableRequest updateTableRequest; - private final LoadTableResponse loadTableResponse; + private final Map updateTableRequest; + private final Map loadTableResponse; public IcebergUpdateTableEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - UpdateTableRequest updateTableRequest, - LoadTableResponse loadTableResponse) { + Object updateTableRequest, + Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.updateTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(updateTableRequest, UpdateTableRequest.class); - this.loadTableResponse = - IcebergRESTUtils.cloneIcebergRESTObject(loadTableResponse, LoadTableResponse.class); + this.updateTableRequest = IcebergRESTUtils.toSerializableMap(updateTableRequest); + this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); } - public UpdateTableRequest createTableRequest() { + public Map createTableRequest() { return updateTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map loadTableResponse() { return loadTableResponse; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java index 21bc16cb925..9e9308df00c 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java @@ -19,27 +19,26 @@ package org.apache.gravitino.listener.api.event; +import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; import org.apache.gravitino.iceberg.service.IcebergRESTUtils; -import org.apache.iceberg.rest.requests.UpdateTableRequest; /** Represent a failure event when updating Iceberg table failed. */ @DeveloperApi public class IcebergUpdateTableFailureEvent extends IcebergTableFailureEvent { - private final UpdateTableRequest updateTableRequest; + private final Map updateTableRequest; public IcebergUpdateTableFailureEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - UpdateTableRequest updateTableRequest, + Object updateTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.updateTableRequest = - IcebergRESTUtils.cloneIcebergRESTObject(updateTableRequest, UpdateTableRequest.class); + this.updateTableRequest = IcebergRESTUtils.toSerializableMap(updateTableRequest); } - public UpdateTableRequest updateTableRequest() { + public Map updateTableRequest() { return updateTableRequest; } From d8e83e31cbde9b0817615a41638dd4f6f786a881 Mon Sep 17 00:00:00 2001 From: yuqi Date: Thu, 26 Mar 2026 20:49:21 +0800 Subject: [PATCH 2/2] [#10464] refactor(iceberg): split listener API into standalone module Create iceberg-listener-api module, move Iceberg listener events there, and remove direct Iceberg dependencies from the new module by using generic payload/event types with dispatcher-side serialization. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- iceberg/iceberg-listener-api/build.gradle.kts | 34 +++++++++++ .../event/IcebergCreateNamespaceEvent.java | 5 +- .../IcebergCreateNamespaceFailureEvent.java | 3 +- .../event/IcebergCreateNamespacePreEvent.java | 7 +-- .../api/event/IcebergCreateTableEvent.java | 5 +- .../event/IcebergCreateTableFailureEvent.java | 3 +- .../api/event/IcebergCreateTablePreEvent.java | 7 +-- .../api/event/IcebergCreateViewEvent.java | 5 +- .../event/IcebergCreateViewFailureEvent.java | 3 +- .../api/event/IcebergCreateViewPreEvent.java | 7 +-- .../api/event/IcebergDropNamespaceEvent.java | 0 .../IcebergDropNamespaceFailureEvent.java | 0 .../event/IcebergDropNamespacePreEvent.java | 0 .../api/event/IcebergDropTableEvent.java | 0 .../event/IcebergDropTableFailureEvent.java | 0 .../api/event/IcebergDropTablePreEvent.java | 0 .../api/event/IcebergDropViewEvent.java | 0 .../event/IcebergDropViewFailureEvent.java | 0 .../api/event/IcebergDropViewPreEvent.java | 0 .../listener/api/event/IcebergEvent.java | 0 .../listener/api/event/IcebergEventUtils.java | 56 +++++++++++++++++++ .../api/event/IcebergFailureEvent.java | 0 .../api/event/IcebergListNamespacesEvent.java | 0 .../IcebergListNamespacesFailureEvent.java | 0 .../event/IcebergListNamespacesPreEvent.java | 0 .../api/event/IcebergListTableEvent.java | 0 .../event/IcebergListTableFailureEvent.java | 0 .../api/event/IcebergListTablePreEvent.java | 0 .../api/event/IcebergListViewEvent.java | 0 .../event/IcebergListViewFailureEvent.java | 0 .../api/event/IcebergListViewPreEvent.java | 0 .../api/event/IcebergLoadNamespaceEvent.java | 3 +- .../IcebergLoadNamespaceFailureEvent.java | 0 .../event/IcebergLoadNamespacePreEvent.java | 0 .../IcebergLoadTableCredentialEvent.java | 0 ...cebergLoadTableCredentialFailureEvent.java | 0 .../IcebergLoadTableCredentialPreEvent.java | 0 .../api/event/IcebergLoadTableEvent.java | 3 +- .../event/IcebergLoadTableFailureEvent.java | 0 .../api/event/IcebergLoadTablePreEvent.java | 0 .../api/event/IcebergLoadViewEvent.java | 3 +- .../event/IcebergLoadViewFailureEvent.java | 0 .../api/event/IcebergLoadViewPreEvent.java | 0 .../api/event/IcebergNamespaceEvent.java | 0 .../event/IcebergNamespaceExistsEvent.java | 0 .../IcebergNamespaceExistsFailureEvent.java | 0 .../event/IcebergNamespaceExistsPreEvent.java | 0 .../event/IcebergNamespaceFailureEvent.java | 0 .../api/event/IcebergNamespacePreEvent.java | 0 .../api/event/IcebergPlanTableScanEvent.java | 0 .../IcebergPlanTableScanFailureEvent.java | 0 .../event/IcebergPlanTableScanPreEvent.java | 0 .../listener/api/event/IcebergPreEvent.java | 0 .../api/event/IcebergRegisterTableEvent.java | 5 +- .../IcebergRegisterTableFailureEvent.java | 3 +- .../event/IcebergRegisterTablePreEvent.java | 7 +-- .../api/event/IcebergRenameTableEvent.java | 3 +- .../event/IcebergRenameTableFailureEvent.java | 0 .../api/event/IcebergRenameTablePreEvent.java | 7 +-- .../api/event/IcebergRenameViewEvent.java | 3 +- .../event/IcebergRenameViewFailureEvent.java | 0 .../api/event/IcebergRenameViewPreEvent.java | 7 +-- .../api/event/IcebergReplaceViewEvent.java | 5 +- .../event/IcebergReplaceViewFailureEvent.java | 3 +- .../api/event/IcebergReplaceViewPreEvent.java | 7 +-- .../api/event/IcebergRequestContext.java | 3 +- .../listener/api/event/IcebergTableEvent.java | 0 .../api/event/IcebergTableExistsEvent.java | 0 .../event/IcebergTableExistsFailureEvent.java | 0 .../api/event/IcebergTableExistsPreEvent.java | 0 .../api/event/IcebergTableFailureEvent.java | 0 .../api/event/IcebergTablePreEvent.java | 0 .../event/IcebergUpdateNamespaceEvent.java | 5 +- .../IcebergUpdateNamespaceFailureEvent.java | 3 +- .../event/IcebergUpdateNamespacePreEvent.java | 7 +-- .../api/event/IcebergUpdateTableEvent.java | 5 +- .../event/IcebergUpdateTableFailureEvent.java | 3 +- .../api/event/IcebergUpdateTablePreEvent.java | 7 +-- .../listener/api/event/IcebergViewEvent.java | 0 .../api/event/IcebergViewExistsEvent.java | 0 .../event/IcebergViewExistsFailureEvent.java | 0 .../api/event/IcebergViewExistsPreEvent.java | 0 .../api/event/IcebergViewFailureEvent.java | 0 .../api/event/IcebergViewPreEvent.java | 0 iceberg/iceberg-rest-server/build.gradle.kts | 1 + .../IcebergNamespaceEventDispatcher.java | 37 ++++++++---- .../IcebergTableEventDispatcher.java | 36 ++++++++---- .../IcebergViewEventDispatcher.java | 37 ++++++++---- settings.gradle.kts | 1 + 89 files changed, 224 insertions(+), 115 deletions(-) create mode 100644 iceberg/iceberg-listener-api/build.gradle.kts rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java (87%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java (86%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java (87%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespacePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTablePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergEvent.java (100%) create mode 100644 iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEventUtils.java rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTablePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespacePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTablePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespacePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java (86%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java (87%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java (87%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java (96%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergTablePreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java (90%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java (92%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java (83%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java (88%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java (91%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java (87%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsPreEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewFailureEvent.java (100%) rename iceberg/{iceberg-rest-server => iceberg-listener-api}/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewPreEvent.java (100%) diff --git a/iceberg/iceberg-listener-api/build.gradle.kts b/iceberg/iceberg-listener-api/build.gradle.kts new file mode 100644 index 00000000000..2d6ecd2bdc4 --- /dev/null +++ b/iceberg/iceberg-listener-api/build.gradle.kts @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +description = "iceberg-listener-api" + +plugins { + `maven-publish` + id("java") + id("idea") +} + +dependencies { + implementation(project(":api")) + implementation(project(":core")) { + exclude("*") + } + implementation(libs.jackson.databind) + compileOnly(libs.servlet) +} diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java similarity index 87% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java index 5514313bc16..da08c2aefc9 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after creating Iceberg namespace successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergCreateNamespaceEvent( Object createNamespaceRequest, Object createNamespaceResponse) { super(icebergRequestContext, nameIdentifier); - this.createNamespaceRequest = IcebergRESTUtils.toSerializableMap(createNamespaceRequest); - this.createNamespaceResponse = IcebergRESTUtils.toSerializableMap(createNamespaceResponse); + this.createNamespaceRequest = IcebergEventUtils.toSerializableMap(createNamespaceRequest); + this.createNamespaceResponse = IcebergEventUtils.toSerializableMap(createNamespaceResponse); } public Map createNamespaceRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java index 5ead776feb3..22ff9ee0d3e 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespaceFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when creating Iceberg namespace failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergCreateNamespaceFailureEvent( Object createNamespaceRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.createNamespaceRequest = IcebergRESTUtils.toSerializableMap(createNamespaceRequest); + this.createNamespaceRequest = IcebergEventUtils.toSerializableMap(createNamespaceRequest); } public Map createNamespaceRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java similarity index 86% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java index 77b3f53fec3..3ad4870ce01 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateNamespacePreEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.CreateNamespaceRequest; /** Represent a pre event before creating Iceberg namespace. */ @DeveloperApi public class IcebergCreateNamespacePreEvent extends IcebergNamespacePreEvent implements SupportsChangingPreEvent { - private final CreateNamespaceRequest createNamespaceRequest; + private final Object createNamespaceRequest; public IcebergCreateNamespacePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - CreateNamespaceRequest createNamespaceRequest) { + Object createNamespaceRequest) { super(icebergRequestContext, nameIdentifier); this.createNamespaceRequest = createNamespaceRequest; } - public CreateNamespaceRequest createNamespaceRequest() { + public Object createNamespaceRequest() { return createNamespaceRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java index d0a8722b72e..cec7f15c748 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after creating Iceberg table successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergCreateTableEvent( Object createTableRequest, Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.createTableRequest = IcebergRESTUtils.toSerializableMap(createTableRequest); - this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); + this.createTableRequest = IcebergEventUtils.toSerializableMap(createTableRequest); + this.loadTableResponse = IcebergEventUtils.toSerializableMap(loadTableResponse); } @Override diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java index 26032ddb630..c5d9bc1d367 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when creating Iceberg table failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergCreateTableFailureEvent( Object createTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.createTableRequest = IcebergRESTUtils.toSerializableMap(createTableRequest); + this.createTableRequest = IcebergEventUtils.toSerializableMap(createTableRequest); } @Override diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java similarity index 87% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java index c9dd31d03d8..81b73c517c2 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTablePreEvent.java @@ -21,18 +21,17 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.CreateTableRequest; /** Represent a pre event before creating Iceberg table. */ @DeveloperApi public class IcebergCreateTablePreEvent extends IcebergTablePreEvent implements SupportsChangingPreEvent { - private final CreateTableRequest createTableRequest; + private final Object createTableRequest; public IcebergCreateTablePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - CreateTableRequest createTableRequest) { + Object createTableRequest) { super(icebergRequestContext, resourceIdentifier); this.createTableRequest = createTableRequest; } @@ -42,7 +41,7 @@ public OperationType operationType() { return OperationType.CREATE_TABLE; } - public CreateTableRequest createTableRequest() { + public Object createTableRequest() { return createTableRequest; } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java index edb64d8d6de..80259145070 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after creating Iceberg view successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergCreateViewEvent( Object createViewRequest, Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.createViewRequest = IcebergRESTUtils.toSerializableMap(createViewRequest); - this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); + this.createViewRequest = IcebergEventUtils.toSerializableMap(createViewRequest); + this.loadViewResponse = IcebergEventUtils.toSerializableMap(loadViewResponse); } public Map createViewRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java index 90ff90f0d3b..5d15b1a9864 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when creating Iceberg view failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergCreateViewFailureEvent( Object createViewRequest, Exception e) { super(icebergRequestContext, viewIdentifier, e); - this.createViewRequest = IcebergRESTUtils.toSerializableMap(createViewRequest); + this.createViewRequest = IcebergEventUtils.toSerializableMap(createViewRequest); } public Map createViewRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java index 141c82219fa..0b34b9f89ab 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewPreEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.CreateViewRequest; /** Represent a pre event before creating Iceberg view. */ @DeveloperApi public class IcebergCreateViewPreEvent extends IcebergViewPreEvent implements SupportsChangingPreEvent { - private final CreateViewRequest createViewRequest; + private final Object createViewRequest; public IcebergCreateViewPreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - CreateViewRequest createViewRequest) { + Object createViewRequest) { super(icebergRequestContext, viewIdentifier); this.createViewRequest = createViewRequest; } - public CreateViewRequest createViewRequest() { + public Object createViewRequest() { return createViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespaceFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespacePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespacePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespacePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropNamespacePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTableFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTablePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropTablePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergDropViewPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEvent.java diff --git a/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEventUtils.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEventUtils.java new file mode 100644 index 00000000000..52f6389811a --- /dev/null +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergEventUtils.java @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.gravitino.listener.api.event; + +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; + +public class IcebergEventUtils { + + private static final ObjectMapper MAPPER = new ObjectMapper(); + + private IcebergEventUtils() {} + + public static Map toSerializableMap(Object message) { + try { + byte[] values = MAPPER.writeValueAsBytes(message); + return MAPPER.readValue(values, Map.class); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public static Map getHttpHeaders(HttpServletRequest httpServletRequest) { + Map headers = new HashMap<>(); + Enumeration headerNames = httpServletRequest.getHeaderNames(); + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + String headerValue = httpServletRequest.getHeader(headerName); + if (headerValue != null) { + headers.put(headerName, headerValue); + } + } + return headers; + } +} diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListNamespacesPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTableFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTablePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListTablePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergListViewPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java index e57d488439a..e0d34d82835 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after loading Iceberg namespace successfully. */ @DeveloperApi @@ -34,7 +33,7 @@ public IcebergLoadNamespaceEvent( NameIdentifier nameIdentifier, Object getNamespaceResponse) { super(icebergRequestContext, nameIdentifier); - this.getNamespaceResponse = IcebergRESTUtils.toSerializableMap(getNamespaceResponse); + this.getNamespaceResponse = IcebergEventUtils.toSerializableMap(getNamespaceResponse); } public Map getNamespaceResponse() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespaceFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespacePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespacePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespacePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadNamespacePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableCredentialPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java index b5810ac3e01..831e0d3153b 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after loading Iceberg table successfully. */ @DeveloperApi @@ -34,7 +33,7 @@ public IcebergLoadTableEvent( NameIdentifier resourceIdentifier, Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); + this.loadTableResponse = IcebergEventUtils.toSerializableMap(loadTableResponse); } @Override diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTableFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTablePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadTablePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java index c434d7cacb4..86a7c0a1931 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after loading Iceberg view successfully. */ @DeveloperApi @@ -34,7 +33,7 @@ public IcebergLoadViewEvent( NameIdentifier viewIdentifier, Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); + this.loadViewResponse = IcebergEventUtils.toSerializableMap(loadViewResponse); } public Map loadViewResponse() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergLoadViewPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceExistsPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespaceFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespacePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespacePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespacePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergNamespacePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPlanTableScanPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java index 1106140e7b3..14ee2f19617 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after registering Iceberg table successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergRegisterTableEvent( Object registerTableRequest, Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.registerTableRequest = IcebergRESTUtils.toSerializableMap(registerTableRequest); - this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); + this.registerTableRequest = IcebergEventUtils.toSerializableMap(registerTableRequest); + this.loadTableResponse = IcebergEventUtils.toSerializableMap(loadTableResponse); } public Map registerTableRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java index 3ed920295af..93bef70ed04 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTableFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when registering Iceberg table failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergRegisterTableFailureEvent( Object registerTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.registerTableRequest = IcebergRESTUtils.toSerializableMap(registerTableRequest); + this.registerTableRequest = IcebergEventUtils.toSerializableMap(registerTableRequest); } public Map registerTableRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java similarity index 86% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java index 5f4e7bb263f..e06a5c3ccd5 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRegisterTablePreEvent.java @@ -21,22 +21,21 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.RegisterTableRequest; /** Represent a pre event before registering Iceberg table. */ @DeveloperApi public class IcebergRegisterTablePreEvent extends IcebergTablePreEvent { - private final RegisterTableRequest registerTableRequest; + private final Object registerTableRequest; public IcebergRegisterTablePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - RegisterTableRequest registerTableRequest) { + Object registerTableRequest) { super(icebergRequestContext, resourceIdentifier); this.registerTableRequest = registerTableRequest; } - public RegisterTableRequest registerTableRequest() { + public Object registerTableRequest() { return registerTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java index 1cbcd0e5530..01adae254f7 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after rename Iceberg table successfully. */ @DeveloperApi @@ -34,7 +33,7 @@ public IcebergRenameTableEvent( NameIdentifier resourceIdentifier, Object renameTableRequest) { super(icebergRequestContext, resourceIdentifier); - this.renameTableRequest = IcebergRESTUtils.toSerializableMap(renameTableRequest); + this.renameTableRequest = IcebergEventUtils.toSerializableMap(renameTableRequest); } public Map renameTableRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java similarity index 87% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java index b67dfaf03a4..cbe595dfb22 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTablePreEvent.java @@ -21,22 +21,21 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an pre event before rename an Iceberg table. */ @DeveloperApi public class IcebergRenameTablePreEvent extends IcebergTablePreEvent { - private final RenameTableRequest renameTableRequest; + private final Object renameTableRequest; public IcebergRenameTablePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - RenameTableRequest renameTableRequest) { + Object renameTableRequest) { super(icebergRequestContext, resourceIdentifier); this.renameTableRequest = renameTableRequest; } - public RenameTableRequest renameTableRequest() { + public Object renameTableRequest() { return renameTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java index 6d7d7f5d7fc..e015d857e2b 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after rename Iceberg view successfully. */ @DeveloperApi @@ -34,7 +33,7 @@ public IcebergRenameViewEvent( NameIdentifier viewIdentifier, Object renameViewRequest) { super(icebergRequestContext, viewIdentifier); - this.renameViewRequest = IcebergRESTUtils.toSerializableMap(renameViewRequest); + this.renameViewRequest = IcebergEventUtils.toSerializableMap(renameViewRequest); } public Map renameViewRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java similarity index 87% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java index e572cc7137e..c56d7b17fe6 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameViewPreEvent.java @@ -21,22 +21,21 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.RenameTableRequest; /** Represent an pre event before rename an Iceberg view. */ @DeveloperApi public class IcebergRenameViewPreEvent extends IcebergViewPreEvent { - private final RenameTableRequest renameViewRequest; + private final Object renameViewRequest; public IcebergRenameViewPreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - RenameTableRequest renameViewRequest) { + Object renameViewRequest) { super(icebergRequestContext, viewIdentifier); this.renameViewRequest = renameViewRequest; } - public RenameTableRequest renameViewRequest() { + public Object renameViewRequest() { return renameViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java index 7a0990f5908..d337c2a82c7 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after updating Iceberg view successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergReplaceViewEvent( Object replaceViewRequest, Object loadViewResponse) { super(icebergRequestContext, viewIdentifier); - this.replaceViewRequest = IcebergRESTUtils.toSerializableMap(replaceViewRequest); - this.loadViewResponse = IcebergRESTUtils.toSerializableMap(loadViewResponse); + this.replaceViewRequest = IcebergEventUtils.toSerializableMap(replaceViewRequest); + this.loadViewResponse = IcebergEventUtils.toSerializableMap(loadViewResponse); } public Map renameViewRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java index bf0974e830b..414a32c52a0 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when updating Iceberg view failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergReplaceViewFailureEvent( Object replaceViewRequest, Exception e) { super(icebergRequestContext, viewIdentifier, e); - this.replaceViewRequest = IcebergRESTUtils.toSerializableMap(replaceViewRequest); + this.replaceViewRequest = IcebergEventUtils.toSerializableMap(replaceViewRequest); } public Map replaceViewRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java index 622d86f63a5..cdd5d3427c0 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergReplaceViewPreEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.UpdateTableRequest; /** Represent a pre event before updating Iceberg view. */ @DeveloperApi public class IcebergReplaceViewPreEvent extends IcebergViewPreEvent implements SupportsChangingPreEvent { - private final UpdateTableRequest replaceViewRequest; + private final Object replaceViewRequest; public IcebergReplaceViewPreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier viewIdentifier, - UpdateTableRequest replaceViewRequest) { + Object replaceViewRequest) { super(icebergRequestContext, viewIdentifier); this.replaceViewRequest = replaceViewRequest; } - public UpdateTableRequest replaceViewRequest() { + public Object replaceViewRequest() { return replaceViewRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java similarity index 96% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java index c6cf52661c5..9b7276e2fe7 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergRequestContext.java @@ -21,7 +21,6 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; import org.apache.gravitino.utils.PrincipalUtils; /** The general request context information for Iceberg REST operations. */ @@ -59,7 +58,7 @@ public IcebergRequestContext( HttpServletRequest httpRequest, String catalogName, boolean requestCredentialVending) { this.httpServletRequest = httpRequest; this.remoteHostName = httpRequest.getRemoteHost(); - this.httpHeaders = IcebergRESTUtils.getHttpHeaders(httpRequest); + this.httpHeaders = IcebergEventUtils.getHttpHeaders(httpRequest); this.catalogName = catalogName; this.userName = PrincipalUtils.getCurrentUserName(); this.requestCredentialVending = requestCredentialVending; diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableExistsPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTableFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTablePreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergTablePreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java similarity index 90% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java index 6450026dcc6..c237898dbdb 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after updating Iceberg namespace successfully. */ @DeveloperApi @@ -38,9 +37,9 @@ public IcebergUpdateNamespaceEvent( Object updateNamespacePropertiesResponse) { super(icebergRequestContext, nameIdentifier); this.updateNamespacePropertiesRequest = - IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesRequest); + IcebergEventUtils.toSerializableMap(updateNamespacePropertiesRequest); this.updateNamespacePropertiesResponse = - IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesResponse); + IcebergEventUtils.toSerializableMap(updateNamespacePropertiesResponse); } public Map updateNamespacePropertiesRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java similarity index 92% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java index 9972a4ae140..cee6e462f2c 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespaceFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when updating Iceberg namespace failed. */ @DeveloperApi @@ -36,7 +35,7 @@ public IcebergUpdateNamespaceFailureEvent( Exception e) { super(icebergRequestContext, nameIdentifier, e); this.updateNamespacePropertiesRequest = - IcebergRESTUtils.toSerializableMap(updateNamespacePropertiesRequest); + IcebergEventUtils.toSerializableMap(updateNamespacePropertiesRequest); } public Map updateNamespacePropertiesRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java similarity index 83% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java index 656484f6cbb..6d3c7bda686 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateNamespacePreEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.UpdateNamespacePropertiesRequest; /** Represent a pre event before updating Iceberg namespace. */ @DeveloperApi public class IcebergUpdateNamespacePreEvent extends IcebergNamespacePreEvent implements SupportsChangingPreEvent { - private final UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest; + private final Object updateNamespacePropertiesRequest; public IcebergUpdateNamespacePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier nameIdentifier, - UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest) { + Object updateNamespacePropertiesRequest) { super(icebergRequestContext, nameIdentifier); this.updateNamespacePropertiesRequest = updateNamespacePropertiesRequest; } - public UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest() { + public Object updateNamespacePropertiesRequest() { return updateNamespacePropertiesRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java similarity index 88% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java index ebf8d902b89..044c24fdbaa 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent an event after updating Iceberg table successfully. */ @DeveloperApi @@ -37,8 +36,8 @@ public IcebergUpdateTableEvent( Object updateTableRequest, Object loadTableResponse) { super(icebergRequestContext, resourceIdentifier); - this.updateTableRequest = IcebergRESTUtils.toSerializableMap(updateTableRequest); - this.loadTableResponse = IcebergRESTUtils.toSerializableMap(loadTableResponse); + this.updateTableRequest = IcebergEventUtils.toSerializableMap(updateTableRequest); + this.loadTableResponse = IcebergEventUtils.toSerializableMap(loadTableResponse); } public Map createTableRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java similarity index 91% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java index 9e9308df00c..02cbc6f8012 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableFailureEvent.java @@ -22,7 +22,6 @@ import java.util.Map; import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.gravitino.iceberg.service.IcebergRESTUtils; /** Represent a failure event when updating Iceberg table failed. */ @DeveloperApi @@ -35,7 +34,7 @@ public IcebergUpdateTableFailureEvent( Object updateTableRequest, Exception e) { super(icebergRequestContext, nameIdentifier, e); - this.updateTableRequest = IcebergRESTUtils.toSerializableMap(updateTableRequest); + this.updateTableRequest = IcebergEventUtils.toSerializableMap(updateTableRequest); } public Map updateTableRequest() { diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java similarity index 87% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java index 75a1c7765d7..d9c2b62201b 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java +++ b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTablePreEvent.java @@ -21,23 +21,22 @@ import org.apache.gravitino.NameIdentifier; import org.apache.gravitino.annotation.DeveloperApi; -import org.apache.iceberg.rest.requests.UpdateTableRequest; /** Represent a pre event before updating Iceberg table. */ @DeveloperApi public class IcebergUpdateTablePreEvent extends IcebergTablePreEvent implements SupportsChangingPreEvent { - private final UpdateTableRequest updateTableRequest; + private final Object updateTableRequest; public IcebergUpdateTablePreEvent( IcebergRequestContext icebergRequestContext, NameIdentifier resourceIdentifier, - UpdateTableRequest updateTableRequest) { + Object updateTableRequest) { super(icebergRequestContext, resourceIdentifier); this.updateTableRequest = updateTableRequest; } - public UpdateTableRequest updateTableRequest() { + public Object updateTableRequest() { return updateTableRequest; } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewExistsPreEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewFailureEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewFailureEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewFailureEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewFailureEvent.java diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewPreEvent.java b/iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewPreEvent.java similarity index 100% rename from iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewPreEvent.java rename to iceberg/iceberg-listener-api/src/main/java/org/apache/gravitino/listener/api/event/IcebergViewPreEvent.java diff --git a/iceberg/iceberg-rest-server/build.gradle.kts b/iceberg/iceberg-rest-server/build.gradle.kts index 6f2c73b8d0d..9591de556e3 100644 --- a/iceberg/iceberg-rest-server/build.gradle.kts +++ b/iceberg/iceberg-rest-server/build.gradle.kts @@ -45,6 +45,7 @@ dependencies { exclude("*") } implementation(project(":iceberg:iceberg-common")) + implementation(project(":iceberg:iceberg-listener-api")) implementation(project(":server-common")) { exclude("*") } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergNamespaceEventDispatcher.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergNamespaceEventDispatcher.java index 1329da2ddf8..0c8026b36c5 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergNamespaceEventDispatcher.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergNamespaceEventDispatcher.java @@ -94,11 +94,14 @@ public CreateNamespaceResponse createNamespace( try { createResponse = operationDispatcher.createNamespace( - context, transformedCreateEvent.createNamespaceRequest()); + context, (CreateNamespaceRequest) transformedCreateEvent.createNamespaceRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergCreateNamespaceFailureEvent( - context, nameIdentifier, transformedCreateEvent.createNamespaceRequest(), e)); + context, + nameIdentifier, + toSerializablePayload(transformedCreateEvent.createNamespaceRequest()), + e)); throw e; } @@ -106,8 +109,8 @@ public CreateNamespaceResponse createNamespace( new IcebergCreateNamespaceEvent( context, nameIdentifier, - transformedCreateEvent.createNamespaceRequest(), - createResponse)); + toSerializablePayload(transformedCreateEvent.createNamespaceRequest()), + toSerializablePayload(createResponse))); return createResponse; } @@ -129,13 +132,16 @@ public UpdateNamespacePropertiesResponse updateNamespace( try { updateResponse = operationDispatcher.updateNamespace( - context, namespace, transformedUpdateEvent.updateNamespacePropertiesRequest()); + context, + namespace, + (UpdateNamespacePropertiesRequest) + transformedUpdateEvent.updateNamespacePropertiesRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergUpdateNamespaceFailureEvent( context, nameIdentifier, - transformedUpdateEvent.updateNamespacePropertiesRequest(), + toSerializablePayload(transformedUpdateEvent.updateNamespacePropertiesRequest()), e)); throw e; } @@ -144,8 +150,8 @@ public UpdateNamespacePropertiesResponse updateNamespace( new IcebergUpdateNamespaceEvent( context, nameIdentifier, - transformedUpdateEvent.updateNamespacePropertiesRequest(), - updateResponse)); + toSerializablePayload(transformedUpdateEvent.updateNamespacePropertiesRequest()), + toSerializablePayload(updateResponse))); return updateResponse; } @@ -179,7 +185,8 @@ public GetNamespaceResponse loadNamespace(IcebergRequestContext context, Namespa throw e; } - eventBus.dispatchEvent(new IcebergLoadNamespaceEvent(context, nameIdentifier, getResponse)); + eventBus.dispatchEvent( + new IcebergLoadNamespaceEvent(context, nameIdentifier, toSerializablePayload(getResponse))); return getResponse; } @@ -240,13 +247,21 @@ public LoadTableResponse registerTable( operationDispatcher.registerTable(context, namespace, registerTableRequest); } catch (Exception e) { eventBus.dispatchEvent( - new IcebergRegisterTableFailureEvent(context, nameIdentifier, registerTableRequest, e)); + new IcebergRegisterTableFailureEvent( + context, nameIdentifier, toSerializablePayload(registerTableRequest), e)); throw e; } eventBus.dispatchEvent( new IcebergRegisterTableEvent( - context, nameIdentifier, registerTableRequest, loadTableResponse)); + context, + nameIdentifier, + toSerializablePayload(registerTableRequest), + toSerializablePayload(loadTableResponse))); return loadTableResponse; } + + private Object toSerializablePayload(Object payload) { + return IcebergRESTUtils.toSerializableMap(payload); + } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergTableEventDispatcher.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergTableEventDispatcher.java index e3160ff92a5..43181959da1 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergTableEventDispatcher.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergTableEventDispatcher.java @@ -99,19 +99,22 @@ public LoadTableResponse createTable( try { loadTableResponse = icebergTableOperationDispatcher.createTable( - context, namespace, transformedCreateEvent.createTableRequest()); + context, namespace, (CreateTableRequest) transformedCreateEvent.createTableRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergCreateTableFailureEvent( - context, nameIdentifier, transformedCreateEvent.createTableRequest(), e)); + context, + nameIdentifier, + toSerializablePayload(transformedCreateEvent.createTableRequest()), + e)); throw e; } eventBus.dispatchEvent( new IcebergCreateTableEvent( context, nameIdentifier, - transformedCreateEvent.createTableRequest(), - loadTableResponse)); + toSerializablePayload(transformedCreateEvent.createTableRequest()), + toSerializablePayload(loadTableResponse))); return loadTableResponse; } @@ -132,19 +135,24 @@ public LoadTableResponse updateTable( try { loadTableResponse = icebergTableOperationDispatcher.updateTable( - context, tableIdentifier, transformedUpdateEvent.updateTableRequest()); + context, + tableIdentifier, + (UpdateTableRequest) transformedUpdateEvent.updateTableRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergUpdateTableFailureEvent( - context, gravitinoNameIdentifier, transformedUpdateEvent.updateTableRequest(), e)); + context, + gravitinoNameIdentifier, + toSerializablePayload(transformedUpdateEvent.updateTableRequest()), + e)); throw e; } eventBus.dispatchEvent( new IcebergUpdateTableEvent( context, gravitinoNameIdentifier, - transformedUpdateEvent.updateTableRequest(), - loadTableResponse)); + toSerializablePayload(transformedUpdateEvent.updateTableRequest()), + toSerializablePayload(loadTableResponse))); return loadTableResponse; } @@ -182,7 +190,8 @@ public LoadTableResponse loadTable( throw e; } eventBus.dispatchEvent( - new IcebergLoadTableEvent(context, gravitinoNameIdentifier, loadTableResponse)); + new IcebergLoadTableEvent( + context, gravitinoNameIdentifier, toSerializablePayload(loadTableResponse))); return loadTableResponse; } @@ -233,11 +242,12 @@ public void renameTable(IcebergRequestContext context, RenameTableRequest rename } catch (Exception e) { eventBus.dispatchEvent( new IcebergRenameTableFailureEvent( - context, gravitinoNameIdentifier, renameTableRequest, e)); + context, gravitinoNameIdentifier, toSerializablePayload(renameTableRequest), e)); throw e; } eventBus.dispatchEvent( - new IcebergRenameTableEvent(context, gravitinoNameIdentifier, renameTableRequest)); + new IcebergRenameTableEvent( + context, gravitinoNameIdentifier, toSerializablePayload(renameTableRequest))); } /** @@ -300,4 +310,8 @@ public PlanTableScanResponse planTableScan( eventBus.dispatchEvent(new IcebergPlanTableScanEvent(context, gravitinoNameIdentifier)); return planTableScanResponse; } + + private Object toSerializablePayload(Object payload) { + return IcebergRESTUtils.toSerializableMap(payload); + } } diff --git a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergViewEventDispatcher.java b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergViewEventDispatcher.java index 0c3d78f4e4c..c3321493fa3 100644 --- a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergViewEventDispatcher.java +++ b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/dispatcher/IcebergViewEventDispatcher.java @@ -90,16 +90,22 @@ public LoadViewResponse createView( try { loadViewResponse = icebergViewOperationDispatcher.createView( - context, namespace, transformedCreateEvent.createViewRequest()); + context, namespace, (CreateViewRequest) transformedCreateEvent.createViewRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergCreateViewFailureEvent( - context, nameIdentifier, transformedCreateEvent.createViewRequest(), e)); + context, + nameIdentifier, + toSerializablePayload(transformedCreateEvent.createViewRequest()), + e)); throw e; } eventBus.dispatchEvent( new IcebergCreateViewEvent( - context, nameIdentifier, transformedCreateEvent.createViewRequest(), loadViewResponse)); + context, + nameIdentifier, + toSerializablePayload(transformedCreateEvent.createViewRequest()), + toSerializablePayload(loadViewResponse))); return loadViewResponse; } @@ -120,19 +126,24 @@ public LoadViewResponse replaceView( try { loadViewResponse = icebergViewOperationDispatcher.replaceView( - context, viewIdentifier, transformedReplaceEvent.replaceViewRequest()); + context, + viewIdentifier, + (UpdateTableRequest) transformedReplaceEvent.replaceViewRequest()); } catch (Exception e) { eventBus.dispatchEvent( new IcebergReplaceViewFailureEvent( - context, gravitinoNameIdentifier, transformedReplaceEvent.replaceViewRequest(), e)); + context, + gravitinoNameIdentifier, + toSerializablePayload(transformedReplaceEvent.replaceViewRequest()), + e)); throw e; } eventBus.dispatchEvent( new IcebergReplaceViewEvent( context, gravitinoNameIdentifier, - transformedReplaceEvent.replaceViewRequest(), - loadViewResponse)); + toSerializablePayload(transformedReplaceEvent.replaceViewRequest()), + toSerializablePayload(loadViewResponse))); return loadViewResponse; } @@ -165,7 +176,8 @@ public LoadViewResponse loadView(IcebergRequestContext context, TableIdentifier throw e; } eventBus.dispatchEvent( - new IcebergLoadViewEvent(context, gravitinoNameIdentifier, loadViewResponse)); + new IcebergLoadViewEvent( + context, gravitinoNameIdentifier, toSerializablePayload(loadViewResponse))); return loadViewResponse; } @@ -216,10 +228,15 @@ public void renameView(IcebergRequestContext context, RenameTableRequest renameV } catch (Exception e) { eventBus.dispatchEvent( new IcebergRenameViewFailureEvent( - context, gravitinoNameIdentifier, renameViewRequest, e)); + context, gravitinoNameIdentifier, toSerializablePayload(renameViewRequest), e)); throw e; } eventBus.dispatchEvent( - new IcebergRenameViewEvent(context, gravitinoNameIdentifier, renameViewRequest)); + new IcebergRenameViewEvent( + context, gravitinoNameIdentifier, toSerializablePayload(renameViewRequest))); + } + + private Object toSerializablePayload(Object payload) { + return IcebergRESTUtils.toSerializableMap(payload); } } diff --git a/settings.gradle.kts b/settings.gradle.kts index ad4ac46178c..d676a44eabc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -64,6 +64,7 @@ if (gradle.startParameter.projectProperties["enableFuse"]?.toBoolean() == true) println("Skipping filesystem-fuse module since enableFuse is set to false") } include("iceberg:iceberg-common") +include("iceberg:iceberg-listener-api") include("iceberg:iceberg-rest-server") include("lance:lance-common") include("lance:lance-rest-server")