Skip to content

Commit

Permalink
Reduce code duplication.
Browse files Browse the repository at this point in the history
  • Loading branch information
dawidxc committed Jun 6, 2024
1 parent 3c8ddbf commit 59153a3
Showing 1 changed file with 17 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import com.google.common.base.MoreObjects;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.edwmigration.dumper.application.dumper.ConnectorArguments;
import com.google.edwmigration.dumper.application.dumper.annotations.RespectsArgumentDatabasePredicate;
import com.google.edwmigration.dumper.application.dumper.connector.Connector;
Expand All @@ -45,6 +46,7 @@
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;
import javax.annotation.Nonnull;
import org.apache.commons.csv.CSVFormat;
Expand Down Expand Up @@ -335,32 +337,25 @@ private void dumpTable(
monitor.count();
Table table = thriftClient.getTable(databaseName, tableName);
TBase<?, ?> rawTableThriftObject = table.getRawThriftObject();
ImmutableList<? extends TBase<?, ?>> primaryKeys = table.getRawPrimaryKeys();
ImmutableList<? extends TBase<?, ?>> foreignKeys = table.getRawForeignKeys();
ImmutableList<? extends TBase<?, ?>> uniqueConstraints =
table.getRawUniqueConstraints();
ImmutableList<? extends TBase<?, ?>> nonNullConstraints =
table.getRawNonNullConstraints();
ImmutableList<? extends TBase<?, ?>> defaultConstraints =
table.getRawDefaultConstraints();
ImmutableList<? extends TBase<?, ?>> checkConstraints =
table.getRawCheckConstraints();
ImmutableMap<String, ImmutableList<? extends TBase<?, ?>>> additionalMetadata =
ImmutableMap.of(
"primaryKeys", table.getRawPrimaryKeys(),
"foreignKeys", table.getRawForeignKeys(),
"uniqueConstraints", table.getRawUniqueConstraints(),
"nonNullConstraints", table.getRawNonNullConstraints(),
"defaultConstraints", table.getRawDefaultConstraints(),
"checkConstraints", table.getRawCheckConstraints());
ThriftJsonSerializer jsonSerializer = new ThriftJsonSerializer();
synchronized (writer) {
writer.write("{\"table\":");
writer.write(jsonSerializer.serialize(rawTableThriftObject));
writer.write(",\"primaryKeys\":");
jsonSerializer.serialize(primaryKeys, writer);
writer.write(",\"foreignKeys\":");
jsonSerializer.serialize(foreignKeys, writer);
writer.write(",\"uniqueConstraints\":");
jsonSerializer.serialize(uniqueConstraints, writer);
writer.write(",\"nonNullConstraints\":");
jsonSerializer.serialize(nonNullConstraints, writer);
writer.write(",\"defaultConstraints\":");
jsonSerializer.serialize(defaultConstraints, writer);
writer.write(",\"checkConstraints\":");
jsonSerializer.serialize(checkConstraints, writer);
for (Map.Entry<String, ImmutableList<? extends TBase<?, ?>>> entry :
additionalMetadata.entrySet()) {
writer.write(",\"");
writer.write(entry.getKey());
writer.write("\":");
jsonSerializer.serialize(entry.getValue(), writer);
}
writer.write("}");
writer.write('\n');
}
Expand Down

0 comments on commit 59153a3

Please sign in to comment.