Skip to content

Commit fb0c6c2

Browse files
authored
Move rest parsers to rest module, make content file parser public, minor style changes
Move rest parsers to rest module, make content file parser public, minor style changes
2 parents 75cb595 + b25c844 commit fb0c6c2

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)