1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.linecorp.centraldogma.xds.internal;
18
19 import com.google.protobuf.util.JsonFormat;
20 import com.google.protobuf.util.JsonFormat.Parser;
21 import com.google.protobuf.util.JsonFormat.Printer;
22 import com.google.protobuf.util.JsonFormat.TypeRegistry;
23
24 import io.envoyproxy.envoy.extensions.filters.http.router.v3.Router;
25 import io.envoyproxy.envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager;
26
27 final class JsonFormatUtil {
28
29 private static final Printer PRINTER;
30 private static final Parser PARSER;
31
32 static {
33 final TypeRegistry typeRegistry = TypeRegistry.newBuilder()
34 .add(HttpConnectionManager.getDescriptor())
35 .add(Router.getDescriptor())
36 .build();
37 PRINTER = JsonFormat.printer().usingTypeRegistry(typeRegistry);
38 PARSER = JsonFormat.parser().usingTypeRegistry(typeRegistry);
39 }
40
41 static Printer printer() {
42 return PRINTER;
43 }
44
45 static Parser parser() {
46 return PARSER;
47 }
48
49 private JsonFormatUtil() {}
50 }