in app/common/src/main/java/com/googlecodesamples/cloud/jss/common/util/MessageUtil.java [144:152]
public static PubsubMessage convertToPubSubMessage(Object message, Schema schema)
throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().jsonEncoder(schema, output);
DatumWriter<SpecificRecordBase> writer = new SpecificDatumWriter<>(schema);
writer.write((SpecificRecordBase) message, encoder);
encoder.flush();
return PubsubMessage.newBuilder().setData(ByteString.copyFrom(output.toByteArray())).build();
}