File: JsonFormat_methods.patch

package info (click to toggle)
genomicsdb 1.4.4-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 24,788 kB
  • sloc: cpp: 78,988; ansic: 58,119; java: 8,531; python: 2,270; sh: 1,850; perl: 1,621; makefile: 490; xml: 455
file content (133 lines) | stat: -rw-r--r-- 6,228 bytes parent folder | download
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();
   }