import java.io.File;
import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.io.Writer;
import java.net.URISyntaxException;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
+import org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream;
+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.api.SchemaPath;
public class TestUtils {
}
static String loadTextFile(final File file) throws IOException {
- FileReader fileReader = new FileReader(file);
- BufferedReader bufReader = new BufferedReader(fileReader);
+ final FileReader fileReader = new FileReader(file);
+ final BufferedReader bufReader = new BufferedReader(fileReader);
String line = null;
- StringBuilder result = new StringBuilder();
+ final StringBuilder result = new StringBuilder();
while ((line = bufReader.readLine()) != null) {
result.append(line);
}
return loadTextFile(new File(TestUtils.class.getResource(relativePath).toURI()));
}
+ static void loadXmlToNormalizedNodes(final InputStream xmlInputStream, final NormalizedNodeResult result,
+ final SchemaContext schemaContext) throws Exception {
+ final XMLInputFactory factory = XMLInputFactory.newInstance();
+ final XMLStreamReader reader = factory.createXMLStreamReader(xmlInputStream);
+ final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ final XmlParserStream xmlParser = XmlParserStream.create(streamWriter, schemaContext, schemaContext);
+ xmlParser.parse(reader);
+ }
+
+ static String normalizedNodesToJsonString(final NormalizedNode<?, ?> data, final SchemaContext schemaContext,
+ final SchemaPath rootPath) throws IOException {
+ final Writer writer = new StringWriter();
+ final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter(
+ JSONCodecFactory.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;
+ }
+
static JsonObject childObject(final JsonObject jsonObject, final String... names) {
- for (String name : names) {
- JsonObject childJsonObject = jsonObject.getAsJsonObject(name);
+ for (final String name : names) {
+ final JsonObject childJsonObject = jsonObject.getAsJsonObject(name);
if (childJsonObject != null) {
return childJsonObject;
}
}
static JsonPrimitive childPrimitive(final JsonObject jsonObject, final String... names) {
- for (String name : names) {
- JsonPrimitive childJsonPrimitive = jsonObject.getAsJsonPrimitive(name);
+ for (final String name : names) {
+ final JsonPrimitive childJsonPrimitive = jsonObject.getAsJsonPrimitive(name);
if (childJsonPrimitive != null) {
return childJsonPrimitive;
}
}
static JsonArray childArray(final JsonObject jsonObject, final String... names) {
- for (String name : names) {
- JsonArray childJsonArray = jsonObject.getAsJsonArray(name);
+ for (final String name : names) {
+ final JsonArray childJsonArray = jsonObject.getAsJsonArray(name);
if (childJsonArray != null) {
return childJsonArray;
}
return null;
}
- static JsonObject resolveCont1(String jsonOutput) {
- JsonParser parser = new JsonParser();
- JsonElement rootElement = parser.parse(jsonOutput);
+ static JsonObject resolveCont1(final String jsonOutput) {
+ final JsonParser parser = new JsonParser();
+ final JsonElement rootElement = parser.parse(jsonOutput);
assertTrue(rootElement.isJsonObject());
- JsonObject rootObject = rootElement.getAsJsonObject();
- JsonObject cont1 = childObject(rootObject, "complexjson:cont1", "cont1");
+ final JsonObject rootObject = rootElement.getAsJsonObject();
+ final JsonObject cont1 = childObject(rootObject, "complexjson:cont1", "cont1");
return cont1;
}