This is an automated email from the ASF dual-hosted git repository. yuqi4733 pushed a commit to branch fix-10464-iceberg-event-decouple in repository https://gitbox.apache.org/repos/asf/gravitino.git
commit 445eae3ff15cb5d209a5534297c19f21a981946a Author: yuqi <[email protected]> AuthorDate: Thu Mar 26 20:02:20 2026 +0800 [#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 <[email protected]> --- .../iceberg/service/IcebergRESTUtils.java | 10 ++++++++++ .../api/event/IcebergCreateNamespaceEvent.java | 23 +++++++++------------- .../event/IcebergCreateNamespaceFailureEvent.java | 12 +++++------ .../api/event/IcebergCreateTableEvent.java | 21 +++++++++----------- .../api/event/IcebergCreateTableFailureEvent.java | 11 +++++------ .../listener/api/event/IcebergCreateViewEvent.java | 21 +++++++++----------- .../api/event/IcebergCreateViewFailureEvent.java | 11 +++++------ .../api/event/IcebergLoadNamespaceEvent.java | 11 +++++------ .../listener/api/event/IcebergLoadTableEvent.java | 11 +++++------ .../listener/api/event/IcebergLoadViewEvent.java | 11 +++++------ .../api/event/IcebergRegisterTableEvent.java | 21 +++++++++----------- .../event/IcebergRegisterTableFailureEvent.java | 11 +++++------ .../api/event/IcebergRenameTableEvent.java | 11 +++++------ .../api/event/IcebergRenameTableFailureEvent.java | 7 +++---- .../listener/api/event/IcebergRenameViewEvent.java | 11 +++++------ .../api/event/IcebergRenameViewFailureEvent.java | 7 +++---- .../api/event/IcebergReplaceViewEvent.java | 21 +++++++++----------- .../api/event/IcebergReplaceViewFailureEvent.java | 11 +++++------ .../api/event/IcebergUpdateNamespaceEvent.java | 21 +++++++++----------- .../event/IcebergUpdateNamespaceFailureEvent.java | 11 +++++------ .../api/event/IcebergUpdateTableEvent.java | 21 +++++++++----------- .../api/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 84ea56cc37..66bfa03a59 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 class IcebergRESTUtils { } } + public static Map<String, Object> 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<String> 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 d68ea2481b..5514313bc1 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<String, Object> createNamespaceRequest; + private final Map<String, Object> 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<String, Object> createNamespaceRequest() { return createNamespaceRequest; } - public CreateNamespaceResponse createNamespaceResponse() { + public Map<String, Object> 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 c742e782f9..5ead776feb 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<String, Object> 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<String, 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-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateTableEvent.java index 1ba2417310..d0a8722b72 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<String, Object> createTableRequest; + private final Map<String, Object> 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 class IcebergCreateTableEvent extends IcebergTableEvent { return OperationType.CREATE_TABLE; } - public CreateTableRequest createTableRequest() { + public Map<String, Object> createTableRequest() { return createTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map<String, Object> 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 21c8e2862e..26032ddb63 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<String, Object> 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 class IcebergCreateTableFailureEvent extends IcebergTableFailureEvent { return OperationType.CREATE_TABLE; } - public CreateTableRequest createTableRequest() { + public Map<String, 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-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergCreateViewEvent.java index 5179452301..edb64d8d6d 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<String, Object> createViewRequest; + private final Map<String, Object> 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<String, Object> createViewRequest() { return createViewRequest; } - public LoadViewResponse loadViewResponse() { + public Map<String, Object> 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 232418527f..90ff90f0d3 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<String, Object> 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<String, Object> 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 1f7fe3b499..e57d488439 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<String, Object> 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<String, Object> 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 000169856a..b5810ac3e0 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<String, Object> 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 class IcebergLoadTableEvent extends IcebergTableEvent { return OperationType.LOAD_TABLE; } - public LoadTableResponse loadTableResponse() { + public Map<String, Object> 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 0709e43d45..c434d7cacb 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<String, Object> 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<String, Object> 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 d892036a58..1106140e7b 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<String, Object> registerTableRequest; + private final Map<String, Object> 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<String, Object> registerTableRequest() { return registerTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map<String, Object> 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 afdbec54e0..3ed920295a 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<String, Object> 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<String, 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-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergRenameTableEvent.java index 2f38b1477e..1cbcd0e553 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<String, Object> 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<String, Object> 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 19b7e8e267..d58454393f 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 @@ package org.apache.gravitino.listener.api.event; 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 530db1da86..6d7d7f5d7f 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<String, Object> 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<String, Object> 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 afdff2ff45..1af178a936 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 @@ package org.apache.gravitino.listener.api.event; 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 b894795eba..7a0990f590 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<String, Object> replaceViewRequest; + private final Map<String, Object> 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<String, Object> renameViewRequest() { return replaceViewRequest; } - public LoadViewResponse loadViewResponse() { + public Map<String, Object> 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 336fb8760c..bf0974e830 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<String, Object> 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<String, Object> 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 dfd66e2ca5..6450026dcc 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<String, Object> updateNamespacePropertiesRequest; + private final Map<String, Object> 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<String, Object> updateNamespacePropertiesRequest() { return updateNamespacePropertiesRequest; } - public UpdateNamespacePropertiesResponse updateNamespacePropertiesResponse() { + public Map<String, Object> 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 258a5b029a..9972a4ae14 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<String, Object> 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<String, 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-rest-server/src/main/java/org/apache/gravitino/listener/api/event/IcebergUpdateTableEvent.java index 159613c757..ebf8d902b8 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<String, Object> updateTableRequest; + private final Map<String, Object> 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<String, Object> createTableRequest() { return updateTableRequest; } - public LoadTableResponse loadTableResponse() { + public Map<String, Object> 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 21bc16cb92..9e9308df00 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<String, Object> 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<String, Object> updateTableRequest() { return updateTableRequest; }
