diff --git a/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protobuf/schema/SchemaValidator.java b/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protobuf/schema/SchemaValidator.java index 14092d38bc..5049ff0430 100644 --- a/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protobuf/schema/SchemaValidator.java +++ b/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protobuf/schema/SchemaValidator.java @@ -9,7 +9,6 @@ import java.io.IOException; import java.lang.invoke.MethodHandles; import java.net.URL; -import java.util.Map; import org.hibernate.HibernateException; import org.hibernate.ogm.datastore.infinispanremote.impl.schema.SequenceTableDefinition; @@ -21,9 +20,10 @@ import org.infinispan.protostream.DescriptorParserException; import org.infinispan.protostream.FileDescriptorSource; +import org.infinispan.protostream.ProtobufUtil; +import org.infinispan.protostream.SerializationContext; import org.infinispan.protostream.config.Configuration; import org.infinispan.protostream.descriptors.FileDescriptor; -import org.infinispan.protostream.impl.parser.SquareProtoParser; /** * Validate a user defined schema using ProtoStream library @@ -73,8 +73,8 @@ private void validate() { try { fileDescriptor = parseSchema(); } - catch (DescriptorParserException descriptorParserException) { - throw LOG.providedSchemaHasAnIllegalFormat( descriptorParserException.getMessage(), protoSchema ); + catch (DescriptorParserException | IOException e) { + throw LOG.providedSchemaHasAnIllegalFormat( e.getMessage(), protoSchema ); } if ( !owner.packageName.equals( fileDescriptor.getPackage() ) ) { @@ -92,12 +92,11 @@ private void validate() { } } - private FileDescriptor parseSchema() { + private FileDescriptor parseSchema() throws DescriptorParserException, IOException { FileDescriptorSource fileDescriptorSource = FileDescriptorSource.fromString( schemaName, protoSchema ); Configuration config = Configuration.builder().build(); - - SquareProtoParser protoParser = new SquareProtoParser( config ); - Map fileDescriptorMap = protoParser.parse( fileDescriptorSource ); - return fileDescriptorMap.get( schemaName ); + SerializationContext serCtx = ProtobufUtil.newSerializationContext( config ); + serCtx.registerProtoFiles( fileDescriptorSource ); + return serCtx.getFileDescriptors().get( schemaName ); } } diff --git a/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protostream/ProtostreamSerializerSetup.java b/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protostream/ProtostreamSerializerSetup.java index e960c0d3cf..d888886c31 100644 --- a/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protostream/ProtostreamSerializerSetup.java +++ b/infinispan-remote/src/main/java/org/hibernate/ogm/datastore/infinispanremote/impl/protostream/ProtostreamSerializerSetup.java @@ -15,9 +15,9 @@ import org.hibernate.ogm.datastore.infinispanremote.logging.impl.LoggerFactory; import java.lang.invoke.MethodHandles; import org.infinispan.protostream.DescriptorParserException; +import org.infinispan.protostream.ProtobufUtil; import org.infinispan.protostream.SerializationContext; import org.infinispan.protostream.config.Configuration; -import org.infinispan.protostream.impl.SerializationContextImpl; public class ProtostreamSerializerSetup { @@ -30,7 +30,7 @@ private ProtostreamSerializerSetup() { public static SerializationContext buildSerializationContext( SchemaDefinitions sd, MainOgmCoDec delegate, OgmProtoStreamMarshaller marshaller) throws DescriptorParserException, IOException { Configuration cfg = Configuration.builder().setLogOutOfSequenceReads( true ).build(); - SerializationContextImpl serContext = new SerializationContextImpl( cfg ); + SerializationContext serContext = ProtobufUtil.newSerializationContext( cfg ); IdMessageMarshaller idM = new IdMessageMarshaller( delegate ); PayloadMessageMarshaller valueM = new PayloadMessageMarshaller( delegate ); try { @@ -52,7 +52,7 @@ public static SerializationContext buildSerializationContext( public static SerializationContext buildSerializationContextForSequences( SchemaDefinitions sd, SequenceTableDefinition std) { Configuration cfg = Configuration.builder().setLogOutOfSequenceReads( true ).build(); - SerializationContextImpl serContext = new SerializationContextImpl( cfg ); + SerializationContext serContext = ProtobufUtil.newSerializationContext( cfg ); try { serContext.registerProtoFiles( sd.asFileDescriptorSource() ); }