Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 1 addition & 14 deletions core/src/main/java/org/apache/iceberg/MetadataUpdateParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.Locale;
import java.util.Map;
Expand Down Expand Up @@ -134,19 +133,7 @@ public static String toJson(MetadataUpdate metadataUpdate) {
}

public static String toJson(MetadataUpdate metadataUpdate, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(metadataUpdate, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException(
String.format("Failed to write metadata update json for: %s", metadataUpdate), e);
}
return JsonUtil.generate(gen -> toJson(metadataUpdate, gen), pretty);
}

public static void toJson(MetadataUpdate metadataUpdate, JsonGenerator generator)
Expand Down
26 changes: 2 additions & 24 deletions core/src/main/java/org/apache/iceberg/PartitionSpecParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Iterator;
import org.apache.iceberg.exceptions.RuntimeIOException;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
Expand Down Expand Up @@ -66,19 +65,7 @@ public static String toJson(UnboundPartitionSpec spec) {
}

public static String toJson(UnboundPartitionSpec spec, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(spec, generator);
generator.flush();
return writer.toString();

} catch (IOException e) {
throw new RuntimeIOException(e);
}
return JsonUtil.generate(gen -> toJson(spec, gen), pretty);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

BTW we have a bit duplicated code for parsing as well. I was changing it in #5048.

BTW 2: i'd use generator instead of gen. That's how it's usually called, so it will be more familiar

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'd use generator instead of gen.

i see now both are used in the codebase. disregard

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW we have a bit duplicated code for parsing as well. I was changing it in #5048.

ah interesting, you're right. Do you want to open maybe a separate PR for removing that part of duplicated code?

}

public static PartitionSpec fromJson(Schema schema, JsonNode json) {
Expand Down Expand Up @@ -126,16 +113,7 @@ static void toJsonFields(UnboundPartitionSpec spec, JsonGenerator generator) thr
}

static String toJsonFields(PartitionSpec spec) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
toJsonFields(spec, generator);
generator.flush();
return writer.toString();

} catch (IOException e) {
throw new RuntimeIOException(e);
}
return JsonUtil.generate(gen -> toJsonFields(spec, gen), false);
}

static PartitionSpec fromJsonFields(Schema schema, int specId, JsonNode json) {
Expand Down
17 changes: 3 additions & 14 deletions core/src/main/java/org/apache/iceberg/SchemaParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -165,19 +164,9 @@ public static String toJson(Schema schema) {
}

public static String toJson(Schema schema, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(schema.asStruct(), schema.schemaId(), schema.identifierFieldIds(), generator);
generator.flush();
return writer.toString();

} catch (IOException e) {
throw new RuntimeIOException(e);
}
return JsonUtil.generate(
gen -> toJson(schema.asStruct(), schema.schemaId(), schema.identifierFieldIds(), gen),
pretty);
}

private static Type typeFromJson(JsonNode json) {
Expand Down
14 changes: 1 addition & 13 deletions core/src/main/java/org/apache/iceberg/SingleValueParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.math.BigDecimal;
import java.nio.ByteBuffer;
import java.util.Iterator;
Expand Down Expand Up @@ -240,18 +239,7 @@ public static String toJson(Type type, Object defaultValue) {
}

public static String toJson(Type type, Object defaultValue, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(type, defaultValue, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new RuntimeException(e);
}
return JsonUtil.generate(gen -> toJson(type, defaultValue, gen), pretty);
}

@SuppressWarnings("checkstyle:MethodLength")
Expand Down
14 changes: 1 addition & 13 deletions core/src/main/java/org/apache/iceberg/SnapshotParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -100,18 +99,7 @@ public static String toJson(Snapshot snapshot) {
}

public static String toJson(Snapshot snapshot, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(snapshot, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new RuntimeIOException(e, "Failed to write json for: %s", snapshot);
}
return JsonUtil.generate(gen -> toJson(snapshot, gen), pretty);
}

static Snapshot fromJson(FileIO io, JsonNode node) {
Expand Down
15 changes: 1 addition & 14 deletions core/src/main/java/org/apache/iceberg/SnapshotRefParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.Locale;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
Expand All @@ -42,19 +41,7 @@ public static String toJson(SnapshotRef ref) {
}

public static String toJson(SnapshotRef ref, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}

toJson(ref, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
return JsonUtil.generate(gen -> toJson(ref, gen), pretty);
}

public static void toJson(SnapshotRef ref, JsonGenerator generator) throws IOException {
Expand Down
16 changes: 1 addition & 15 deletions core/src/main/java/org/apache/iceberg/StatisticsFileParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.List;
import java.util.Map;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
Expand All @@ -49,19 +47,7 @@ public static String toJson(StatisticsFile statisticsFile) {
}

public static String toJson(StatisticsFile statisticsFile, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}

toJson(statisticsFile, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
return JsonUtil.generate(gen -> toJson(statisticsFile, gen), pretty);
}

public static void toJson(StatisticsFile statisticsFile, JsonGenerator generator)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.List;
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
Expand Down Expand Up @@ -54,18 +53,7 @@ public static String toJson(TableIdentifier identifier) {
}

public static String toJson(TableIdentifier identifier, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(identifier, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException(String.format("Failed to write json for: %s", identifier), e);
}
return JsonUtil.generate(gen -> toJson(identifier, gen), pretty);
}

public static void toJson(TableIdentifier identifier, JsonGenerator generator)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import java.util.Set;
import org.apache.iceberg.exceptions.RuntimeIOException;
Expand Down Expand Up @@ -51,16 +50,7 @@ private NameMappingParser() {}
private static final String FIELDS = "fields";

public static String toJson(NameMapping mapping) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
generator.useDefaultPrettyPrinter();
toJson(mapping, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new RuntimeIOException(e, "Failed to write json for: %s", mapping);
}
return JsonUtil.generate(gen -> toJson(mapping, gen), true);
}

static void toJson(NameMapping nameMapping, JsonGenerator generator) throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.List;
import java.util.Map;
Expand All @@ -46,18 +45,7 @@ private FileMetadataParser() {}
private static final String COMPRESSION_CODEC = "compression-codec";

public static String toJson(FileMetadata fileMetadata, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(fileMetadata, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException("Failed to write json for: " + fileMetadata, e);
}
return JsonUtil.generate(gen -> toJson(fileMetadata, gen), pretty);
}

public static FileMetadata fromJson(String json) {
Expand Down
11 changes: 1 addition & 10 deletions core/src/main/java/org/apache/iceberg/rest/auth/OAuth2Util.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.util.List;
import java.util.Map;
import java.util.Set;
Expand Down Expand Up @@ -252,15 +251,7 @@ private static Map<String, String> clientCredentialsRequest(
}

public static String tokenResponseToJson(OAuthTokenResponse response) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
tokenResponseToJson(response, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new RuntimeIOException(e);
}
return JsonUtil.generate(gen -> tokenResponseToJson(response, gen), false);
}

public static void tokenResponseToJson(OAuthTokenResponse response, JsonGenerator gen)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
import java.io.StringWriter;
import java.io.UncheckedIOException;
import java.util.Locale;
import java.util.Map;
Expand Down Expand Up @@ -87,19 +86,7 @@ public static String toJson(UpdateRequirement updateRequirement) {
}

public static String toJson(UpdateRequirement updateRequirement, boolean pretty) {
try {
StringWriter writer = new StringWriter();
JsonGenerator generator = JsonUtil.factory().createGenerator(writer);
if (pretty) {
generator.useDefaultPrettyPrinter();
}
toJson(updateRequirement, generator);
generator.flush();
return writer.toString();
} catch (IOException e) {
throw new UncheckedIOException(
String.format("Failed to write update requirement json for: %s", updateRequirement), e);
}
return JsonUtil.generate(gen -> toJson(updateRequirement, gen), pretty);
}

public static void toJson(UpdateRequirement updateRequirement, JsonGenerator generator)
Expand Down