Do not instantiate JsonParser
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / converter / JsonStringConverter.java
index 2a071a7ebf524c8995fb3d874a3a8d355543b16b..7f7680b5fa4bdd55cdffa2c1ef9a08b813a91637 100644 (file)
@@ -37,9 +37,8 @@ import org.slf4j.LoggerFactory;
 
 public class JsonStringConverter<T extends DataObject> {
     private static final Logger LOG = LoggerFactory.getLogger(JsonStringConverter.class);
-    private static final JsonParser PARSER = new JsonParser();
-    private BindingDOMCodecServices bindingDOMCodecServices;
 
+    private BindingDOMCodecServices bindingDOMCodecServices;
 
     public JsonStringConverter(BindingDOMCodecServices bindingDOMCodecServices) {
         this.bindingDOMCodecServices = bindingDOMCodecServices;
@@ -73,7 +72,7 @@ public class JsonStringConverter<T extends DataObject> {
                 nodeWriter.write(bindingDOMCodecServices.toNormalizedNode(id, dataObject).getValue());
                 nodeWriter.flush();
             }
-            JsonObject asJsonObject = PARSER.parse(writer.toString()).getAsJsonObject();
+            JsonObject asJsonObject = JsonParser.parseString(writer.toString()).getAsJsonObject();
             return new Gson().toJson(asJsonObject);
         } catch (IOException e) {
             LOG.error("Cannot convert object {} to string ", dataObject);
@@ -88,6 +87,7 @@ public class JsonStringConverter<T extends DataObject> {
      * @param supplier RFC7951 or DRAFT_LHOTKA_NETMOD_YANG_JSON_02
      * @return T the created object.
      */
+    @SuppressWarnings("unchecked")
     public T createDataObjectFromJsonString(YangInstanceIdentifier path, String jsonString,
             JSONCodecFactorySupplier supplier) {
         JsonReader reader = new JsonReader(new StringReader(jsonString));