From: Stephen Kitt Date: Fri, 2 Feb 2018 15:57:30 +0000 (+0100) Subject: Closed nested JSON writers X-Git-Tag: release/oxygen~6 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=59cfc16131c9eed2a706f59db527db0f47c735f0;p=netconf.git Closed nested JSON writers With I9c597fe96937867cffdcbeeddd4b1507de20f2ee, JSONNormalizedNodeStreamWriter.createNestedWriter() leaves it up to the caller to close the provided JsonWriter. This patch ensures that that is the case. Change-Id: If20a596db06e40d1636de168dd11677372964364 Signed-off-by: Stephen Kitt (cherry picked from commit b6be299466349d775d860ab45d785028e6b899f7) --- diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java index 434233caf7..e4f00aa145 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java @@ -86,12 +86,14 @@ public class NormalizedNodeJsonBodyWriter implements MessageBodyWriter) context.getInstanceIdentifierContext(); final SchemaPath path = identifierCtx.getSchemaNode().getPath(); - final JsonWriter jsonWriter = createJsonWriter(entityStream, context.getWriterParameters().isPrettyPrint()); - jsonWriter.beginObject(); - writeNormalizedNode( - jsonWriter,path,identifierCtx,data, Optional.fromNullable(context.getWriterParameters().getDepth())); - jsonWriter.endObject(); - jsonWriter.flush(); + try (JsonWriter jsonWriter = createJsonWriter(entityStream, context.getWriterParameters().isPrettyPrint())) { + jsonWriter.beginObject(); + writeNormalizedNode( + jsonWriter, path, identifierCtx, data, + Optional.fromNullable(context.getWriterParameters().getDepth())); + jsonWriter.endObject(); + jsonWriter.flush(); + } } private static void writeNormalizedNode(final JsonWriter jsonWriter, SchemaPath path, diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/NormalizedNodeJsonBodyWriter.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/NormalizedNodeJsonBodyWriter.java index 2b49392c6f..59a976743c 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/NormalizedNodeJsonBodyWriter.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/NormalizedNodeJsonBodyWriter.java @@ -87,14 +87,14 @@ public class NormalizedNodeJsonBodyWriter implements MessageBodyWriter identifierCtx = (InstanceIdentifierContext) context.getInstanceIdentifierContext(); final SchemaPath path = identifierCtx.getSchemaNode().getPath(); - final JsonWriter jsonWriter = createJsonWriter(entityStream, - context.getWriterParameters().isPrettyPrint()); - - jsonWriter.beginObject(); - writeNormalizedNode(jsonWriter, path, identifierCtx, data, - context.getWriterParameters().getDepth(), context.getWriterParameters().getFields()); - jsonWriter.endObject(); - jsonWriter.flush(); + + try (JsonWriter jsonWriter = createJsonWriter(entityStream, context.getWriterParameters().isPrettyPrint())) { + jsonWriter.beginObject(); + writeNormalizedNode(jsonWriter, path, identifierCtx, data, + context.getWriterParameters().getDepth(), context.getWriterParameters().getFields()); + jsonWriter.endObject(); + jsonWriter.flush(); + } } private static void writeNormalizedNode(final JsonWriter jsonWriter,