1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
Description: a few changes to calls to JsonFormat methods have to be changed
when building against protobuf-java-format 1.3 instead of 1.2
Author: Pierre Gruet <pgt@debian.org>
Forwarded: https://github.com/GenomicsDB/GenomicsDB/issues/229
Last-Update: 2022-07-26
--- a/src/main/java/org/genomicsdb/importer/extensions/JsonFileExtensions.java
+++ b/src/main/java/org/genomicsdb/importer/extensions/JsonFileExtensions.java
@@ -35,7 +35,7 @@
*/
default File dumpTemporaryLoaderJSONFile(final GenomicsDBImportConfiguration.ImportConfiguration importConfiguration,
final String filename) throws IOException {
- String loaderJSONString = JsonFormat.printToString(importConfiguration);
+ String loaderJSONString = new JsonFormat().printToString(importConfiguration);
File tempLoaderJSONFile = (filename.isEmpty()) ?
File.createTempFile("loader_", ".json") :
@@ -61,7 +61,7 @@
default void writeCallsetMapJSONFile(final String outputCallsetMapJSONFilePath,
final GenomicsDBCallsetsMapProto.CallsetMappingPB callsetMappingPB)
{
- String callsetMapJSONString = printToString(callsetMappingPB);
+ String callsetMapJSONString = new JsonFormat().printToString(callsetMappingPB);
if (GenomicsDBUtils.writeToFile(outputCallsetMapJSONFilePath, callsetMapJSONString) != 0) {
throw new GenomicsDBException(String.format("Could not write callset map json file : %s", outputCallsetMapJSONFilePath));
}
@@ -79,7 +79,7 @@
default void writeVidMapJSONFile(final String outputVidMapJSONFilePath,
final GenomicsDBVidMapProto.VidMappingPB vidMappingPB)
{
- String vidMapJSONString = printToString(vidMappingPB);
+ String vidMapJSONString = new JsonFormat().printToString(vidMappingPB);
if (GenomicsDBUtils.writeToFile(outputVidMapJSONFilePath, vidMapJSONString) != 0) {
throw new GenomicsDBException(String.format("Could not write vid map json file : %s", outputVidMapJSONFilePath));
}
@@ -124,7 +124,12 @@
String existingVidJson = GenomicsDBUtils.readEntireFile(vidFile);
GenomicsDBVidMapProto.VidMappingPB.Builder vidMapBuilder =
GenomicsDBVidMapProto.VidMappingPB.newBuilder();
- merge(existingVidJson, vidMapBuilder);
+ try {
+ new JsonFormat().merge(new ByteArrayInputStream(existingVidJson.getBytes()), vidMapBuilder);
+ } catch (IOException e) {
+ System.err.println(e.getMessage());
+ System.exit(1);
+ }
return vidMapBuilder.build();
}
@@ -157,7 +162,12 @@
static String getProtobufAsBase64StringFromFile(Message.Builder builder,
String file) throws com.googlecode.protobuf.format.JsonFormat.ParseException {
String jsonString = GenomicsDBUtils.readEntireFile(file);
- JsonFormat.merge(jsonString, builder);
+ try {
+ new JsonFormat().merge(new ByteArrayInputStream(jsonString.getBytes()), builder);
+ } catch (IOException e) {
+ System.err.println(e.getMessage());
+ System.exit(1);
+ }
byte[] pb = builder.build().toByteArray();
return Base64.getEncoder().encodeToString(pb);
}
--- a/src/main/java/org/genomicsdb/importer/extensions/CallSetMapExtensions.java
+++ b/src/main/java/org/genomicsdb/importer/extensions/CallSetMapExtensions.java
@@ -1,5 +1,6 @@
package org.genomicsdb.importer.extensions;
+import com.googlecode.protobuf.format.JsonFormat;
import htsjdk.tribble.FeatureReader;
import htsjdk.variant.variantcontext.VariantContext;
import htsjdk.variant.vcf.VCFHeader;
@@ -7,6 +8,8 @@
import org.genomicsdb.GenomicsDBUtils;
import org.genomicsdb.exception.GenomicsDBException;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.net.URI;
import java.util.*;
@@ -232,7 +235,12 @@
GenomicsDBCallsetsMapProto.CallsetMappingPB.Builder callsetMapBuilder =
newCallsetMapPB.toBuilder();
checkDuplicateCallsetsForIncrementalImport(existingCallsetsJSON, inputSampleNameToPath);
- merge(existingCallsetsJSON, callsetMapBuilder);
+ try {
+ new JsonFormat().merge(new ByteArrayInputStream(existingCallsetsJSON.getBytes()), callsetMapBuilder);
+ } catch (IOException e) {
+ System.err.println(e.getMessage());
+ System.exit(1);
+ }
return callsetMapBuilder.build();
}
@@ -253,7 +261,12 @@
// iterate through the existing callset
GenomicsDBCallsetsMapProto.CallsetMappingPB.Builder callsetMapBuilder =
GenomicsDBCallsetsMapProto.CallsetMappingPB.newBuilder();
- merge(existingCallsetsJSON, callsetMapBuilder);
+ try {
+ new JsonFormat().merge(new ByteArrayInputStream(existingCallsetsJSON.getBytes()), callsetMapBuilder);
+ } catch (IOException e) {
+ System.err.println(e.getMessage());
+ System.exit(1);
+ }
GenomicsDBCallsetsMapProto.CallsetMappingPB existingCallsetsPB = callsetMapBuilder.build();
int callsetsCount = existingCallsetsPB.getCallsetsCount();
for (int i=0; i<callsetsCount; i++) {
--- a/example/java/TestGenomicsDB.java
+++ b/example/java/TestGenomicsDB.java
@@ -39,6 +39,7 @@
import org.genomicsdb.model.GenomicsDBExportConfiguration;
import org.genomicsdb.reader.GenomicsDBFeatureReader;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
@@ -55,7 +56,12 @@
private static GenomicsDBExportConfiguration.ExportConfiguration resolveExportConfigurationFromJsonString(String jsonString) throws JsonFormat.ParseException {
GenomicsDBExportConfiguration.ExportConfiguration.Builder exportConfigurationBuilder =
GenomicsDBExportConfiguration.ExportConfiguration.newBuilder();
- JsonFormat.merge(jsonString, exportConfigurationBuilder);
+ try {
+ new JsonFormat().merge(new ByteArrayInputStream(jsonString.getBytes()), exportConfigurationBuilder);
+ } catch(IOException e) {
+ System.err.println(e.getMessage());
+ System.exit(1);
+ }
return exportConfigurationBuilder.build();
}
|