Skip to content

Commit

Permalink
[apache#4968] improvement(api): Unify the modification behavior of th…
Browse files Browse the repository at this point in the history
…e comment field (apache#4968)
  • Loading branch information
chenzeping.ricco committed Oct 19, 2024
1 parent 6272303 commit a664656
Show file tree
Hide file tree
Showing 12 changed files with 45 additions and 80 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ static FilesetChange removeProperty(String property) {
*
* @return The fileset change.
*/
@Deprecated
static FilesetChange removeComment() {
return RemoveComment.getInstance();
}
Expand Down Expand Up @@ -310,7 +311,11 @@ public String toString() {
}
}

/** A fileset change to remove comment from the fileset. */
/**
* A fileset change to remove comment from the fileset.
* The remove operation has been replaced by the update operation. Please use the update operation.
*/
@Deprecated
final class RemoveComment implements FilesetChange {
private static final RemoveComment INSTANCE = new RemoveComment();

Expand Down
9 changes: 8 additions & 1 deletion clients/client-python/gravitino/api/fileset_change.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ def remove_comment():
Returns:
The fileset change.
Deprecated:
This class is deprecated and will be removed in future versions.
"""
return FilesetChange.RemoveComment()

Expand Down Expand Up @@ -279,7 +282,11 @@ def __str__(self):

@dataclass
class RemoveComment:
"""A fileset change to remove comment from the fileset."""
"""A fileset change to remove comment from the fileset.
Deprecated:
This class is deprecated and will be removed in future versions.
"""

def __eq__(self, other) -> bool:
"""Compares this RemoveComment instance with another object for equality.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ def catalog_change(self):
return CatalogChange.update_comment(self._new_comment)

def validate(self):
if not self._new_comment:
raise ValueError('"newComment" field is required and cannot be empty')
"""Validates the fields of the request. Always pass."""
pass

@dataclass
class SetCatalogPropertyRequest(CatalogUpdateRequestBase):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,8 @@ def __init__(self, new_comment: str):
self._new_comment = new_comment

def validate(self):
"""Validates the fields of the request.
Raises:
IllegalArgumentException if the new comment is not set.
"""
if not self._new_comment:
raise ValueError('"new_comment" field is required and cannot be empty')
"""Validates the fields of the request. Always pass."""
pass

def fileset_change(self):
"""Returns the fileset change"""
Expand Down Expand Up @@ -149,7 +144,11 @@ def fileset_change(self):

@dataclass
class RemoveFilesetCommentRequest(FilesetUpdateRequestBase):
"""Represents a request to remove comment from a Fileset."""
"""Represents a request to remove comment from a Fileset.
Deprecated:
This class is deprecated and will be removed in future versions.
"""

def __init__(self):
super().__init__("removeComment")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,8 @@ def __init__(self, new_comment: str):
self._new_comment = new_comment

def validate(self):
"""Validates the fields of the request.
Raises:
IllegalArgumentException if the new comment is not set.
"""
if not self._new_comment:
raise ValueError('"newComment" field is required and cannot be empty')
"""Validates the fields of the request. Always pass."""
pass

def metalake_change(self):
return MetalakeChange.update_comment(self._new_comment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,17 +117,9 @@ public UpdateCatalogCommentRequest() {
this(null);
}

/**
* Validates the fields of the request.
*
* @throws IllegalArgumentException if the new comment is not set.
*/
/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment),
"\"newComment\" field is required and cannot be empty");
}
public void validate() throws IllegalArgumentException {}

@Override
public CatalogChange catalogChange() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,17 +109,9 @@ public FilesetChange filesetChange() {
return FilesetChange.updateComment(newComment);
}

/**
* Validates the request.
*
* @throws IllegalArgumentException if the request is invalid.
*/
/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment),
"\"newComment\" field is required and cannot be empty");
}
public void validate() throws IllegalArgumentException {}
}

/** The fileset update request for setting the properties of a fileset. */
Expand Down Expand Up @@ -189,6 +181,7 @@ public void validate() throws IllegalArgumentException {
@EqualsAndHashCode
@NoArgsConstructor(force = true)
@ToString
@Deprecated
class RemoveFilesetCommentRequest implements FilesetUpdateRequest {

/** @return The fileset change. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,17 +117,9 @@ public UpdateMetalakeCommentRequest() {
this(null);
}

/**
* Validates the fields of the request.
*
* @throws IllegalArgumentException if the new comment is not set.
*/
/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment),
"\"newComment\" field is required and cannot be empty");
}
public void validate() throws IllegalArgumentException {}

@Override
public MetalakeChange metalakeChange() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,17 +164,9 @@ public UpdateTableCommentRequest() {
this(null);
}

/**
* Validates the request.
*
* @throws IllegalArgumentException If the request is invalid, this exception is thrown.
*/
/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment),
"\"newComment\" field is required and cannot be empty");
}
public void validate() throws IllegalArgumentException {}

/**
* Returns the table change.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,9 @@ public TagChange tagChange() {
return TagChange.updateComment(newComment);
}

/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment), "\"newComment\" must not be blank");
}
public void validate() throws IllegalArgumentException {}
}

/** The tag update request for setting a tag property. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,9 @@ public UpdateTopicCommentRequest() {
this(null);
}

/**
* Validates the request.
*
* @throws IllegalArgumentException If the request is invalid, this exception is thrown.
*/
/** Validates the fields of the request. Always pass. */
@Override
public void validate() throws IllegalArgumentException {
Preconditions.checkArgument(
StringUtils.isNotBlank(newComment),
"\"newComment\" field is required and cannot be empty");
}
public void validate() throws IllegalArgumentException {}

/**
* Returns the topic change.
Expand Down
14 changes: 7 additions & 7 deletions docs/manage-fileset-metadata-using-gravitino.md
Original file line number Diff line number Diff line change
Expand Up @@ -389,13 +389,13 @@ fileset_new = catalog.as_fileset_catalog().alter_fileset(NameIdentifier.of("sche

Currently, Gravitino supports the following changes to a fileset:

| Supported modification | JSON | Java |
|----------------------------|--------------------------------------------------------------|-----------------------------------------------|
| Rename a fileset | `{"@type":"rename","newName":"fileset_renamed"}` | `FilesetChange.rename("fileset_renamed")` |
| Update a comment | `{"@type":"updateComment","newComment":"new_comment"}` | `FilesetChange.updateComment("new_comment")` |
| Set a fileset property | `{"@type":"setProperty","property":"key1","value":"value1"}` | `FilesetChange.setProperty("key1", "value1")` |
| Remove a fileset property | `{"@type":"removeProperty","property":"key1"}` | `FilesetChange.removeProperty("key1")` |
| Remove comment | `{"@type":"removeComment"}` | `FilesetChange.removeComment()` |
| Supported modification | JSON | Java |
|-----------------------------|--------------------------------------------------------------|-----------------------------------------------|
| Rename a fileset | `{"@type":"rename","newName":"fileset_renamed"}` | `FilesetChange.rename("fileset_renamed")` |
| Update a comment | `{"@type":"updateComment","newComment":"new_comment"}` | `FilesetChange.updateComment("new_comment")` |
| Set a fileset property | `{"@type":"setProperty","property":"key1","value":"value1"}` | `FilesetChange.setProperty("key1", "value1")` |
| Remove a fileset property | `{"@type":"removeProperty","property":"key1"}` | `FilesetChange.removeProperty("key1")` |
| Remove comment (deprecated) | `{"@type":"removeComment"}` | `FilesetChange.removeComment()` |

### Drop a fileset

Expand Down

0 comments on commit a664656

Please sign in to comment.