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.MapEntryNode;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
+import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
public class Bug8291Test {
- private static final String NS = "foo";
- private static final String REV = "1970-01-01";
- private static final QName ROOT = QName.create(NS, REV, "root");
- private static final QName OUTER_LIST = QName.create(NS, REV, "outer-list");
- private static final QName OUTER_LIST_ID = QName.create(NS, REV, "id");
- private static final QName INNER_LIST = QName.create(NS, REV, "inner-list");
- private SchemaContext schemaContext;
+ private static final String NS = "bug8291";
+ private static final QName ROOT = QName.create(NS, "root");
+ private static final QName OUTER_LIST = QName.create(NS, "outer-list");
+ private static final QName OUTER_LIST_ID = QName.create(NS, "id");
+ private static final QName INNER_LIST = QName.create(NS, "inner-list");
+
+ private EffectiveModelContext schemaContext;
@Before
- public void init() throws ReactorException {
- this.schemaContext = TestModel.createTestContext("/bug8291/foo.yang");
+ public void init() {
+ this.schemaContext = TestModel.createTestContext("/bug8291.yang");
assertNotNull("Schema context must not be null.", this.schemaContext);
}
- private static InMemoryDataTree initDataTree(final SchemaContext schemaContext)
+ private static DataTree initDataTree(final EffectiveModelContext schemaContext)
throws DataValidationFailedException {
final DataTreeConfiguration config = new DataTreeConfiguration.Builder(TreeType.CONFIGURATION).setRootPath(
YangInstanceIdentifier.of(ROOT).node(OUTER_LIST)).build();
- final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) InMemoryDataTreeFactory.getInstance().create(
- config, schemaContext);
- return inMemoryDataTree;
+ return new InMemoryDataTreeFactory().create(config, schemaContext);
}
@Test
public void test() throws DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = initDataTree(schemaContext);
+ final DataTree inMemoryDataTree = initDataTree(schemaContext);
writeOuterListMapEntry(inMemoryDataTree);
writeInnerList(inMemoryDataTree);
}
- private void writeInnerList(final InMemoryDataTree inMemoryDataTree) throws DataValidationFailedException {
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ private static void writeInnerList(final DataTree inMemoryDataTree) throws DataValidationFailedException {
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(
YangInstanceIdentifier.create(
- new NodeIdentifierWithPredicates(OUTER_LIST, ImmutableMap.of(OUTER_LIST_ID, 1))).node(
+ NodeIdentifierWithPredicates.of(OUTER_LIST, ImmutableMap.of(OUTER_LIST_ID, 1))).node(
INNER_LIST), Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(INNER_LIST)).build());
modificationTree.ready();
inMemoryDataTree.commit(prepare);
}
- private static void writeOuterListMapEntry(final InMemoryDataTree inMemoryDataTree)
+ private static void writeOuterListMapEntry(final DataTree inMemoryDataTree)
throws DataValidationFailedException {
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
final MapEntryNode outerListMapEntry = Builders.mapEntryBuilder()
- .withNodeIdentifier(new NodeIdentifierWithPredicates(OUTER_LIST, ImmutableMap.of(OUTER_LIST_ID, 1)))
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(OUTER_LIST, ImmutableMap.of(OUTER_LIST_ID, 1)))
.withChild(ImmutableNodes.leafNode(OUTER_LIST_ID, 1)).build();
- modificationTree.write(YangInstanceIdentifier.create(new NodeIdentifierWithPredicates(OUTER_LIST, ImmutableMap
- .of(OUTER_LIST_ID, 1))), outerListMapEntry);
+ modificationTree.write(YangInstanceIdentifier.create(NodeIdentifierWithPredicates.of(OUTER_LIST,
+ ImmutableMap.of(OUTER_LIST_ID, 1))), outerListMapEntry);
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);