From afb5b13f9512e4886300bd54523a3b05611fe76e Mon Sep 17 00:00:00 2001 From: Steven Berler Date: Thu, 18 Jan 2018 19:23:18 -0800 Subject: [PATCH] change GeneratedMessage to GeneratedMessageV3 The proto3 compiler generates slightly different classes, so we must use GeneratedMessageV3 instead. --- .../description/ColumnValueDescription.java | 16 ++++++++-------- .../table/description/TableDefinition.java | 4 ++-- .../atlasdb/table/generation/ColumnValues.java | 4 ++-- docs/source/schemas/tables_and_indices.rst | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/ColumnValueDescription.java b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/ColumnValueDescription.java index bd084469bf3..98f7ba4b49f 100644 --- a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/ColumnValueDescription.java +++ b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/ColumnValueDescription.java @@ -33,7 +33,7 @@ import com.google.protobuf.Descriptors.Descriptor; import com.google.protobuf.Descriptors.DescriptorValidationException; import com.google.protobuf.Descriptors.FileDescriptor; -import com.google.protobuf.GeneratedMessage; +import com.google.protobuf.GeneratedMessageV3; import com.google.protobuf.InvalidProtocolBufferException; import com.google.protobuf.Message; import com.googlecode.protobuf.format.JsonFormat; @@ -125,11 +125,11 @@ public static ColumnValueDescription forPersister(Class> return new ColumnValueDescription(Format.PERSISTER, clazz.getName(), clazz.getCanonicalName(), compression, null); } - public static ColumnValueDescription forProtoMessage(Class clazz) { + public static ColumnValueDescription forProtoMessage(Class clazz) { return forProtoMessage(clazz, Compression.NONE); } - public static ColumnValueDescription forProtoMessage(Class clazz, + public static ColumnValueDescription forProtoMessage(Class clazz, Compression compression) { return new ColumnValueDescription( Format.PROTO, @@ -139,7 +139,7 @@ public static ColumnValueDescription forProtoMessage(Class Descriptor getDescriptor(Class clazz) { + private static Descriptor getDescriptor(Class clazz) { try { Method method = clazz.getMethod("getDescriptor"); return (Descriptor) method.invoke(null); @@ -270,7 +270,7 @@ public byte[] persistJsonToBytes(ClassLoader classLoader, String str) throws Par throw new IllegalArgumentException("Tried to write json to a Persister that isn't for JsonNode."); } } else if (format == Format.PROTO) { - GeneratedMessage.Builder builder = createBuilder(classLoader); + GeneratedMessageV3.Builder builder = createBuilder(classLoader); // This will have issues with base64 blobs JsonFormat.merge(str, builder); bytes = builder.build().toByteArray(); @@ -280,10 +280,10 @@ public byte[] persistJsonToBytes(ClassLoader classLoader, String str) throws Par return CompressionUtils.compress(bytes, compression); } - private GeneratedMessage.Builder createBuilder(ClassLoader classLoader) { + private GeneratedMessageV3.Builder createBuilder(ClassLoader classLoader) { try { Method method = getImportClass(classLoader).getMethod("newBuilder"); - return (GeneratedMessage.Builder) method.invoke(null); + return (GeneratedMessageV3.Builder) method.invoke(null); } catch (Exception e) { throw Throwables.throwUncheckedException(e); } @@ -341,7 +341,7 @@ public Object hydratePersister(ClassLoader classLoader, byte[] value) { @SuppressWarnings("unchecked") public Message hydrateProto(ClassLoader classLoader, byte[] value) { Preconditions.checkState(format == Format.PROTO, "Column value is not a protocol buffer."); - return ColumnValues.parseProtoBuf((Class) getImportClass(classLoader), CompressionUtils.decompress(value, compression)); + return ColumnValues.parseProtoBuf((Class) getImportClass(classLoader), CompressionUtils.decompress(value, compression)); } public TableMetadataPersistence.ColumnValueDescription.Builder persistToProto() { diff --git a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/TableDefinition.java b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/TableDefinition.java index 15d4c1e21aa..84ff0db0a51 100644 --- a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/TableDefinition.java +++ b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/description/TableDefinition.java @@ -23,7 +23,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import com.google.protobuf.GeneratedMessage; +import com.google.protobuf.GeneratedMessageV3; import com.palantir.atlasdb.AtlasDbConstants; import com.palantir.atlasdb.persist.api.Persister; import com.palantir.atlasdb.protos.generated.TableMetadataPersistence.LogSafety; @@ -438,7 +438,7 @@ public ConstraintMetadata getConstraintMetadata() { @SuppressWarnings({ "rawtypes", "unchecked" }) private ColumnValueDescription getColumnValueDescription(Class protoOrPersistable, Compression compression) { - if (GeneratedMessage.class.isAssignableFrom(protoOrPersistable)) { + if (GeneratedMessageV3.class.isAssignableFrom(protoOrPersistable)) { return ColumnValueDescription.forProtoMessage(protoOrPersistable, compression); } else if (Persister.class.isAssignableFrom(protoOrPersistable)) { return ColumnValueDescription.forPersister(protoOrPersistable, compression); diff --git a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/generation/ColumnValues.java b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/generation/ColumnValues.java index d82be943541..8d3a1dc4b35 100644 --- a/atlasdb-client/src/main/java/com/palantir/atlasdb/table/generation/ColumnValues.java +++ b/atlasdb-client/src/main/java/com/palantir/atlasdb/table/generation/ColumnValues.java @@ -29,7 +29,7 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import com.google.common.collect.Sets; -import com.google.protobuf.GeneratedMessage; +import com.google.protobuf.GeneratedMessageV3; import com.palantir.atlasdb.keyvalue.api.Cell; import com.palantir.atlasdb.table.api.ColumnValue; import com.palantir.common.base.Throwables; @@ -76,7 +76,7 @@ public static Function, T> getValuesFun() { } @SuppressWarnings("unchecked") - public static T parseProtoBuf(Class clazz, byte[] msg) { + public static T parseProtoBuf(Class clazz, byte[] msg) { try { Method parseMethod = clazz.getMethod("parseFrom", byte[].class); return (T) parseMethod.invoke(null, msg); diff --git a/docs/source/schemas/tables_and_indices.rst b/docs/source/schemas/tables_and_indices.rst index fc67ba6c16a..d04333381a8 100644 --- a/docs/source/schemas/tables_and_indices.rst +++ b/docs/source/schemas/tables_and_indices.rst @@ -437,7 +437,7 @@ component ordering determines sort ordering for retrieval. .. code:: java public void value(ValueType valueType) - public void value(Class proto, Compression compression = Compression.NONE) + public void value(Class proto, Compression compression = Compression.NONE) Every dynamic column will also have a value associated with it, which can be a primitive ValueType or protobuf (optionally compressed).