X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-codec-gson%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2FStreamToNormalizedNodeTest.java;h=7af0cb752a8ea2f41b0e956d2c40a516c797e387;hb=21b3fb1ea12d1e28115f6c216bbbfd9c80b2216f;hp=534b3bdb445759685121c033e4b1a2b15375b326;hpb=153362f50d57c7e3b39e07b626d8acf238aa88ed;p=yangtools.git diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/StreamToNormalizedNodeTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/StreamToNormalizedNodeTest.java index 534b3bdb44..7af0cb752a 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/StreamToNormalizedNodeTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/StreamToNormalizedNodeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -7,25 +7,20 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.gson.stream.JsonReader; +import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadTextFile; + +import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import java.io.BufferedReader; +import com.google.gson.stream.JsonReader; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; -import java.net.URI; import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.LoggingNormalizedNodeStreamWriter; @@ -34,8 +29,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWrit import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser; -import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; +import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,8 +40,8 @@ public class StreamToNormalizedNodeTest { private static String streamAsString; @BeforeClass - public static void initialization() throws IOException, URISyntaxException { - schemaContext = loadModules("/complexjson/yang"); + public static void initialization() throws IOException, URISyntaxException, ReactorException { + schemaContext = YangParserTestUtils.parseYangSources("/complexjson/yang"); streamAsString = loadTextFile(new File(StreamToNormalizedNodeTest.class.getResource( "/complexjson/complex-json.json").toURI())); } @@ -109,7 +104,10 @@ public class StreamToNormalizedNodeTest { final StringWriter writer = new StringWriter(); // StreamWriter which outputs JSON strings - final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.create(schemaContext, writer, 2); + // StreamWriter which outputs JSON strings + final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter. + createExclusiveWriter(JSONCodecFactory.create(schemaContext), SchemaPath.ROOT, null, + JsonWriterFactory.createJsonWriter(writer, 2)); // NormalizedNode -> StreamWriter final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); @@ -121,33 +119,4 @@ public class StreamToNormalizedNodeTest { LOG.debug("Serialized JSON: {}", writer.toString()); } - private static SchemaContext loadModules(final String resourceDirectory) throws IOException, URISyntaxException { - YangContextParser parser = new YangParserImpl(); - URI path = StreamToNormalizedNodeTest.class.getResource(resourceDirectory).toURI(); - final File testDir = new File(path); - final String[] fileList = testDir.list(); - final List testFiles = new ArrayList(); - if (fileList == null) { - throw new FileNotFoundException(resourceDirectory); - } - for (String fileName : fileList) { - if (new File(testDir, fileName).isDirectory() == false) { - testFiles.add(new File(testDir, fileName)); - } - } - return parser.parseFiles(testFiles); - } - - private static String loadTextFile(final File file) throws IOException { - FileReader fileReader = new FileReader(file); - BufferedReader bufReader = new BufferedReader(fileReader); - - String line = null; - StringBuilder result = new StringBuilder(); - while ((line = bufReader.readLine()) != null) { - result.append(line); - } - bufReader.close(); - return result.toString(); - } }