rdblue commented on code in PR #4716:
URL: https://github.com/apache/iceberg/pull/4716#discussion_r875306185


##########
core/src/main/java/org/apache/iceberg/MetadataUpdateParser.java:
##########
@@ -271,5 +378,51 @@ private static MetadataUpdate readAddSortOrder(JsonNode 
node) {
     UnboundSortOrder sortOrder = SortOrderParser.fromJson(sortOrderNode);
     return new MetadataUpdate.AddSortOrder(sortOrder);
   }
+
+  private static MetadataUpdate readSetDefaultSortOrder(JsonNode node) {
+    int sortOrderId = JsonUtil.getInt(SORT_ORDER_ID, node);
+    return new MetadataUpdate.SetDefaultSortOrder(sortOrderId);
+  }
+
+  private static MetadataUpdate readAddSnapshot(JsonNode node) {
+    Snapshot snapshot = SnapshotParser.fromJson(null, node);
+    return new MetadataUpdate.AddSnapshot(snapshot);
+  }
+
+  private static MetadataUpdate readRemoveSnapshots(JsonNode node) {
+    Set<Long> snapshotIds = JsonUtil.getLongSetOrNull(SNAPSHOT_IDS, node);
+    Preconditions.checkArgument(snapshotIds != null && snapshotIds.size() == 1,
+        "Invalid set of snapshot ids to remove. Expected one value but 
received: %o", snapshotIds);
+    Long snapshotId = snapshotIds.iterator().next();
+    return new MetadataUpdate.RemoveSnapshot(snapshotId);
+  }
+
+  private static MetadataUpdate readSetSnapshotRef(JsonNode node) {
+    String refName = JsonUtil.getString(REF_NAME, node);
+    long snapshotId = JsonUtil.getLong(SNAPSHOT_ID, node);
+    SnapshotRefType type = SnapshotRefType.valueOf(JsonUtil.getString(TYPE, 
node).toUpperCase(Locale.ENGLISH));
+    Integer minSnapshotsToKeep = JsonUtil.getIntOrNull(MIN_SNAPSHOTS_TO_KEEP, 
node);
+    Long maxSnapshotAgeMs = JsonUtil.getLongOrNull(MAX_SNAPSHOT_AGE_MS, node);
+    Long maxRefAgeMs = JsonUtil.getLongOrNull(MAX_REF_AGE_MS, node);
+    return new MetadataUpdate.SetSnapshotRef(
+        refName, snapshotId, type, minSnapshotsToKeep, maxSnapshotAgeMs, 
maxRefAgeMs);
+  }
+
+  private static MetadataUpdate readSetProperties(JsonNode node) {
+    Map<String, String> updated = JsonUtil.getStringMapWithNullValues(UPDATED, 
node);
+    return new MetadataUpdate.SetProperties(updated);
+  }
+
+  private static MetadataUpdate readRemoveProperties(JsonNode node) {
+    Preconditions.checkArgument(node.hasNonNull(REMOVED), "Missing field: 
removed");
+    JsonNode removedNode = node.get(REMOVED);
+    String[] removed = JsonUtil.getStringArray(removedNode);

Review Comment:
   What about using `getStringSet`? There's a `getLongSetOrNull` method.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to