import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadTextFile;
import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.IOException;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.XMLNamespace;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
-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.impl.schema.ImmutableNormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
+import org.opendaylight.yangtools.yang.data.impl.schema.NormalizationResultHolder;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
.node(TOP_QNAME)
.node(FOOLIST_QNAME)
.node(NodeIdentifierWithPredicates.of(FOOLIST_QNAME, ImmutableMap.of(NAME_QNAME, "key-value")))
- .node(new AugmentationIdentifier(ImmutableSet.of(BARCONTAINER_QNAME)))
.node(BARCONTAINER_QNAME)
.node(QName.create(BARMOD, "bar-leaf"))
.build();
final String inputJson = loadTextFile("/bug8083/json/foo.json");
// deserialization
- final NormalizedNodeResult result = new NormalizedNodeResult();
- final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- final JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
+ final var result = new NormalizationResultHolder();
+ final var streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ final var jsonParser = JsonParserStream.create(streamWriter,
JSONCodecFactorySupplier.RFC7951.getShared(FULL_SCHEMA_CONTEXT));
jsonParser.parse(new JsonReader(new StringReader(inputJson)));
- final NormalizedNode transformedInput = result.getResult();
+ final var transformedInput = result.getResult().data();
assertTrue(transformedInput instanceof ContainerNode);
- final ContainerNode container = (ContainerNode) transformedInput;
- final NormalizedNode child = container.childByArg(new NodeIdentifier(FOO_QNAME));
+ final var container = (ContainerNode) transformedInput;
+ final var child = container.childByArg(new NodeIdentifier(FOO_QNAME));
assertTrue(child instanceof LeafNode);
assertEquals(TEST_IID, child.body());
}
@Test
public void testInstanceIdentifierPathWithEmptyListKey() throws IOException, URISyntaxException {
- final EffectiveModelContext schemaContext = YangParserTestUtils.parseYangResource("/bug8083/yang/baz.yang");
+ final var schemaContext = YangParserTestUtils.parseYangResource("/bug8083/yang/baz.yang");
final String inputJson = loadTextFile("/bug8083/json/baz.json");
// deserialization
- final NormalizedNodeResult result = new NormalizedNodeResult();
- final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- final JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
+ final var result = new NormalizationResultHolder();
+ final var streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ final var jsonParser = JsonParserStream.create(streamWriter,
JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext));
jsonParser.parse(new JsonReader(new StringReader(inputJson)));
- final NormalizedNode transformedInput = result.getResult();
+ final var transformedInput = result.getResult().data();
assertNotNull(transformedInput);
}
@Test
public void testInstanceIdentifierPathWithIdentityrefListKey() throws IOException, URISyntaxException {
- final EffectiveModelContext schemaContext = YangParserTestUtils.parseYangResource("/bug8083/yang/zab.yang");
+ final var schemaContext = YangParserTestUtils.parseYangResource("/bug8083/yang/zab.yang");
final String inputJson = loadTextFile("/bug8083/json/zab.json");
// deserialization
- final NormalizedNodeResult result = new NormalizedNodeResult();
- final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- final JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
+ final var result = new NormalizationResultHolder();
+ final var streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ final var jsonParser = JsonParserStream.create(streamWriter,
JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext));
jsonParser.parse(new JsonReader(new StringReader(inputJson)));
- final NormalizedNode transformedInput = result.getResult();
+ final var transformedInput = result.getResult().data();
assertNotNull(transformedInput);
}
final String inputJson = loadTextFile("/bug8083/json/foobar.json");
// deserialization
- final NormalizedNodeResult result = new NormalizedNodeResult();
- final NormalizedNodeStreamWriter streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
- final JsonParserStream jsonParser = JsonParserStream.create(streamWriter,
+ final var result = new NormalizationResultHolder();
+ final var streamWriter = ImmutableNormalizedNodeStreamWriter.from(result);
+ final var jsonParser = JsonParserStream.create(streamWriter,
JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext));
jsonParser.parse(new JsonReader(new StringReader(inputJson)));
- final NormalizedNode transformedInput = result.getResult();
+ final var transformedInput = result.getResult().data();
assertNotNull(transformedInput);
}
private static JSONCodec<YangInstanceIdentifier> getCodec(final JSONCodecFactorySupplier supplier) {
- final DataSchemaNode top = FULL_SCHEMA_CONTEXT.findDataChildByName(TOP_QNAME).get();
+ final DataSchemaNode top = FULL_SCHEMA_CONTEXT.getDataChildByName(TOP_QNAME);
assertTrue(top instanceof ContainerSchemaNode);
- final DataSchemaNode foo = ((ContainerSchemaNode) top).findDataChildByName(FOO_QNAME).get();
+ final DataSchemaNode foo = ((ContainerSchemaNode) top).getDataChildByName(FOO_QNAME);
assertTrue(foo instanceof LeafSchemaNode);
final TypeDefinition<? extends TypeDefinition<?>> type = ((LeafSchemaNode) foo).getType();
assertTrue(type instanceof InstanceIdentifierTypeDefinition);
- return (JSONCodec<YangInstanceIdentifier>) supplier.createSimple(FULL_SCHEMA_CONTEXT)
+ return supplier.createSimple(FULL_SCHEMA_CONTEXT)
.instanceIdentifierCodec((InstanceIdentifierTypeDefinition) type);
}