From: Robert Varga Date: Tue, 18 Jan 2022 11:42:49 +0000 (+0100) Subject: Do not instantiate JsonParser X-Git-Tag: v8.0.0~63 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=312f89f44c345c398bb9fbdd9880b081cd705efb Do not instantiate JsonParser JsonParser.parse() should not be used, but rather its equivalent static methods should be invoked. Migrate tests to do so, fixing a few warnings in the process. Change-Id: I6bbfad51c584a5dc0e752bcbb1ed2ec3cdff483f Signed-off-by: Robert Varga --- diff --git a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java index 0ffcb02723..284fe600be 100644 --- a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java +++ b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AnyXmlSupportTest.java @@ -14,7 +14,6 @@ import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadText import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadXmlToNormalizedNodes; import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.normalizedNodesToJsonString; -import com.google.gson.JsonElement; import com.google.gson.JsonParser; import com.google.gson.stream.JsonReader; import java.io.File; @@ -77,10 +76,7 @@ public class AnyXmlSupportTest extends AbstractComplexJsonTest { final String serializationResult = normalizedNodesToJsonString(transformedInput, schemaContext, SchemaPath.ROOT); - final JsonParser parser = new JsonParser(); - final JsonElement expected = parser.parse(inputJson); - final JsonElement actual = parser.parse(serializationResult); - assertTrue(expected.equals(actual)); + assertEquals(JsonParser.parseString(inputJson), JsonParser.parseString(serializationResult)); } @Test @@ -112,11 +108,8 @@ public class AnyXmlSupportTest extends AbstractComplexJsonTest { final String serializationResult = normalizedNodesToJsonString(transformedInput, schemaContext, SchemaPath.ROOT); - final JsonParser parser = new JsonParser(); - final String expectedJson = loadTextFile("/bug8927/json/composite.json"); - final JsonElement expected = parser.parse(expectedJson); - final JsonElement actual = parser.parse(serializationResult); - assertTrue(expected.equals(actual)); + assertEquals(JsonParser.parseString(loadTextFile("/bug8927/json/composite.json")), + JsonParser.parseString(serializationResult)); } @Test @@ -153,11 +146,9 @@ public class AnyXmlSupportTest extends AbstractComplexJsonTest { .childByArg(new NodeIdentifier(QName.create("bug8927.test", "2017-01-01", "foo"))); assertNotNull(data); final String jsonOutput = normalizedNodesToJsonString(data, schemaContext, SchemaPath.ROOT); - final JsonParser parser = new JsonParser(); - final JsonElement expextedJson = parser.parse(new FileReader( - new File(getClass().getResource(expectedJsonFile).toURI()), StandardCharsets.UTF_8)); - final JsonElement serializedJson = parser.parse(jsonOutput); - assertEquals(expextedJson, serializedJson); + assertEquals(JsonParser.parseReader(new FileReader( + new File(getClass().getResource(expectedJsonFile).toURI()), StandardCharsets.UTF_8)), + JsonParser.parseString(jsonOutput)); } private static DOMSource getParsedAnyXmlValue(final NormalizedNode transformedInput, final QName anyxmlName) { diff --git a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug5446Test.java b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug5446Test.java index b1aed2332f..c8ec8a2a39 100644 --- a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug5446Test.java +++ b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug5446Test.java @@ -64,9 +64,8 @@ public class Bug5446Test { final Writer writer = new StringWriter(); final String jsonOutput = normalizedNodeToJsonStreamTransformation(writer, rootNode); - final JsonParser parser = new JsonParser(); - final JsonElement serializedJson = parser.parse(jsonOutput); - final JsonElement expextedJson = parser.parse(new FileReader(new File(getClass().getResource( + final JsonElement serializedJson = JsonParser.parseString(jsonOutput); + final JsonElement expextedJson = JsonParser.parseReader(new FileReader(new File(getClass().getResource( "/bug5446/json/foo.json").toURI()), StandardCharsets.UTF_8)); assertEquals(expextedJson, serializedJson); @@ -78,10 +77,10 @@ public class Bug5446Test { final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter( JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext), SchemaPath.ROOT, null, JsonWriterFactory.createJsonWriter(writer, 2)); - final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); - nodeWriter.write(inputStructure); + try (NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream)) { + nodeWriter.write(inputStructure); + } - nodeWriter.close(); return writer.toString(); } diff --git a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java index 7d25227d46..46af223958 100644 --- a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java +++ b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.data.codec.gson; import static org.junit.Assert.assertEquals; -import com.google.gson.JsonElement; import com.google.gson.JsonParser; import java.io.File; import java.io.FileReader; @@ -38,11 +37,6 @@ public class Bug7246Test { public void test() throws Exception { final EffectiveModelContext schemaContext = YangParserTestUtils.parseYangResource("/bug7246/yang/rpc-test.yang"); - final JsonParser parser = new JsonParser(); - final JsonElement expextedJson = parser - .parse(new FileReader(new File(getClass().getResource("/bug7246/json/expected-output.json").toURI()), - StandardCharsets.UTF_8)); - final ContainerNode inputStructure = ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new NodeIdentifier(qN("my-name"))) .withChild(ImmutableNodes.leafNode(new NodeIdentifier(qN("my-name")), "my-value")).build(); @@ -50,9 +44,10 @@ public class Bug7246Test { final Writer writer = new StringWriter(); final String jsonOutput = normalizedNodeToJsonStreamTransformation(schemaContext, rootPath, writer, inputStructure); - final JsonElement serializedJson = parser.parse(jsonOutput); - assertEquals(expextedJson, serializedJson); + assertEquals(JsonParser.parseReader(new FileReader( + new File(getClass().getResource("/bug7246/json/expected-output.json").toURI()), StandardCharsets.UTF_8)), + JsonParser.parseString(jsonOutput)); } private static QName qN(final String localName) { @@ -66,10 +61,9 @@ public class Bug7246Test { final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter( JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext), path, XMLNamespace.of(NS), JsonWriterFactory.createJsonWriter(writer, 2)); - final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); - nodeWriter.write(inputStructure); - - nodeWriter.close(); + try (NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream)) { + nodeWriter.write(inputStructure); + } return writer.toString(); } } diff --git a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestUtils.java b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestUtils.java index 13251a2f94..9271d0ee77 100644 --- a/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestUtils.java +++ b/codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestUtils.java @@ -68,11 +68,10 @@ public final class TestUtils { final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter( JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext), rootPath, null, JsonWriterFactory.createJsonWriter(writer, 2)); - final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); - nodeWriter.write(data); - nodeWriter.close(); - final String serializationResult = writer.toString(); - return serializationResult; + try (NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream)) { + nodeWriter.write(data); + } + return writer.toString(); } static JsonObject childObject(final JsonObject jsonObject, final String... names) { @@ -106,7 +105,7 @@ public final class TestUtils { } static JsonObject resolveCont1(final String jsonOutput) { - final JsonElement rootElement = new JsonParser().parse(jsonOutput); + final JsonElement rootElement = JsonParser.parseString(jsonOutput); assertTrue(rootElement.isJsonObject()); final JsonObject rootObject = rootElement.getAsJsonObject(); final JsonObject cont1 = childObject(rootObject, "complexjson:cont1", "cont1"); @@ -114,7 +113,7 @@ public final class TestUtils { } static JsonObject resolveCont2(final String jsonOutput) { - final JsonElement rootElement = new JsonParser().parse(jsonOutput); + final JsonElement rootElement = JsonParser.parseString(jsonOutput); assertTrue(rootElement.isJsonObject()); final JsonObject rootObject = rootElement.getAsJsonObject(); final JsonObject cont2 = childObject(rootObject, "complexjson:cont2", "cont2");