Skip to content

Commit b9727de

Browse files
amogh-jahagirdarsfc-gh-prsingh
authored andcommitted
Move rest parsers to rest module, make content file parser public, minor style changes
1 parent 08b6a69 commit b9727de

File tree

6 files changed

+27
-15
lines changed

6 files changed

+27
-15
lines changed

core/src/main/java/org/apache/iceberg/ContentFileParser.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
2828
import org.apache.iceberg.util.JsonUtil;
2929

30-
class ContentFileParser {
30+
public class ContentFileParser {
3131
private static final String SPEC_ID = "spec-id";
3232
private static final String CONTENT = "content";
3333
private static final String FILE_PATH = "file-path";
@@ -56,12 +56,12 @@ private static boolean hasPartitionData(StructLike partitionData) {
5656
return partitionData != null && partitionData.size() > 0;
5757
}
5858

59-
static String toJson(ContentFile<?> contentFile, PartitionSpec spec) {
59+
public static String toJson(ContentFile<?> contentFile, PartitionSpec spec) {
6060
return JsonUtil.generate(
6161
generator -> ContentFileParser.toJson(contentFile, spec, generator), false);
6262
}
6363

64-
static void toJson(ContentFile<?> contentFile, PartitionSpec spec, JsonGenerator generator)
64+
public static void toJson(ContentFile<?> contentFile, PartitionSpec spec, JsonGenerator generator)
6565
throws IOException {
6666
Preconditions.checkArgument(contentFile != null, "Invalid content file: null");
6767
Preconditions.checkArgument(spec != null, "Invalid partition spec: null");
@@ -134,11 +134,11 @@ static void toJson(ContentFile<?> contentFile, PartitionSpec spec, JsonGenerator
134134
generator.writeEndObject();
135135
}
136136

137-
static ContentFile<?> fromJson(JsonNode jsonNode, PartitionSpec spec) {
137+
public static ContentFile<?> fromJson(JsonNode jsonNode, PartitionSpec spec) {
138138
return fromJson(jsonNode, spec == null ? null : Map.of(spec.specId(), spec));
139139
}
140140

141-
static ContentFile<?> fromJson(JsonNode jsonNode, Map<Integer, PartitionSpec> specsById) {
141+
public static ContentFile<?> fromJson(JsonNode jsonNode, Map<Integer, PartitionSpec> specsById) {
142142
Preconditions.checkArgument(jsonNode != null, "Invalid JSON node for content file: null");
143143
Preconditions.checkArgument(
144144
jsonNode.isObject(), "Invalid JSON node for content file: non-object (%s)", jsonNode);

core/src/main/java/org/apache/iceberg/RESTFileScanTaskParser.java renamed to core/src/main/java/org/apache/iceberg/rest/RESTFileScanTaskParser.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
package org.apache.iceberg;
19+
package org.apache.iceberg.rest;
2020

2121
import com.fasterxml.jackson.core.JsonGenerator;
2222
import com.fasterxml.jackson.databind.JsonNode;
@@ -25,13 +25,21 @@
2525
import java.util.List;
2626
import java.util.Map;
2727
import java.util.Set;
28+
import org.apache.iceberg.BaseFileScanTask;
29+
import org.apache.iceberg.ContentFileParser;
30+
import org.apache.iceberg.DataFile;
31+
import org.apache.iceberg.DeleteFile;
32+
import org.apache.iceberg.FileScanTask;
33+
import org.apache.iceberg.PartitionSpec;
34+
import org.apache.iceberg.PartitionSpecParser;
35+
import org.apache.iceberg.SchemaParser;
2836
import org.apache.iceberg.expressions.Expression;
2937
import org.apache.iceberg.expressions.ExpressionParser;
3038
import org.apache.iceberg.expressions.ResidualEvaluator;
3139
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
3240
import org.apache.iceberg.util.JsonUtil;
3341

34-
public class RESTFileScanTaskParser {
42+
class RESTFileScanTaskParser {
3543
private static final String DATA_FILE = "data-file";
3644
private static final String DELETE_FILE_REFERENCES = "delete-file-references";
3745
private static final String RESIDUAL_FILTER = "residual-filter";
@@ -83,10 +91,7 @@ public static FileScanTask fromJson(
8391
"Invalid delete file references: %s, expected indices < %s",
8492
indices,
8593
allDeleteFiles.size());
86-
deleteFiles =
87-
indices.stream()
88-
.map(index -> (GenericDeleteFile) allDeleteFiles.get(index))
89-
.toArray(GenericDeleteFile[]::new);
94+
deleteFiles = indices.stream().map(allDeleteFiles::get).toArray(DeleteFile[]::new);
9095
}
9196

9297
Expression filter = null;

core/src/main/java/org/apache/iceberg/TableScanResponseParser.java renamed to core/src/main/java/org/apache/iceberg/rest/TableScanResponseParser.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,18 @@
1616
* specific language governing permissions and limitations
1717
* under the License.
1818
*/
19-
package org.apache.iceberg;
19+
package org.apache.iceberg.rest;
2020

2121
import com.fasterxml.jackson.core.JsonGenerator;
2222
import com.fasterxml.jackson.databind.JsonNode;
2323
import java.io.IOException;
2424
import java.util.List;
2525
import java.util.Map;
2626
import java.util.Set;
27+
import org.apache.iceberg.ContentFileParser;
28+
import org.apache.iceberg.DeleteFile;
29+
import org.apache.iceberg.FileScanTask;
30+
import org.apache.iceberg.PartitionSpec;
2731
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
2832
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableList;
2933
import org.apache.iceberg.relocated.com.google.common.collect.Lists;
@@ -49,6 +53,7 @@ public static List<DeleteFile> parseDeleteFiles(
4953
DeleteFile deleteFile = (DeleteFile) ContentFileParser.fromJson(deleteFileNode, specsById);
5054
deleteFilesBuilder.add(deleteFile);
5155
}
56+
5257
return deleteFilesBuilder.build();
5358
}
5459

@@ -94,6 +99,7 @@ public static void serializeScanTasks(
9499
deleteFilePathToIndex.put(String.valueOf(deleteFile.path()), i);
95100
ContentFileParser.toJson(deleteFiles.get(i), specsById.get(deleteFile.specId()), gen);
96101
}
102+
97103
gen.writeEndArray();
98104
}
99105

@@ -114,6 +120,7 @@ public static void serializeScanTasks(
114120
fileScanTask.file().specId());
115121
RESTFileScanTaskParser.toJson(fileScanTask, deleteFileReferences, spec, gen);
116122
}
123+
117124
gen.writeEndArray();
118125
}
119126
}

core/src/main/java/org/apache/iceberg/rest/responses/FetchPlanningResultResponseParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
import org.apache.iceberg.DeleteFile;
2727
import org.apache.iceberg.FileScanTask;
2828
import org.apache.iceberg.PartitionSpec;
29-
import org.apache.iceberg.TableScanResponseParser;
3029
import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
3130
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
3231
import org.apache.iceberg.rest.PlanStatus;
32+
import org.apache.iceberg.rest.TableScanResponseParser;
3333
import org.apache.iceberg.util.JsonUtil;
3434

3535
public class FetchPlanningResultResponseParser {

core/src/main/java/org/apache/iceberg/rest/responses/FetchScanTasksResponseParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
import org.apache.iceberg.DeleteFile;
2727
import org.apache.iceberg.FileScanTask;
2828
import org.apache.iceberg.PartitionSpec;
29-
import org.apache.iceberg.TableScanResponseParser;
3029
import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
3130
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
31+
import org.apache.iceberg.rest.TableScanResponseParser;
3232
import org.apache.iceberg.util.JsonUtil;
3333

3434
public class FetchScanTasksResponseParser {

core/src/main/java/org/apache/iceberg/rest/responses/PlanTableScanResponseParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
import org.apache.iceberg.DeleteFile;
2828
import org.apache.iceberg.FileScanTask;
2929
import org.apache.iceberg.PartitionSpec;
30-
import org.apache.iceberg.TableScanResponseParser;
3130
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
3231
import org.apache.iceberg.rest.PlanStatus;
32+
import org.apache.iceberg.rest.TableScanResponseParser;
3333
import org.apache.iceberg.util.JsonUtil;
3434

3535
public class PlanTableScanResponseParser {

0 commit comments

Comments
 (0)