package org.opendaylight.yangtools.yang.data.impl.schema.tree;
import static org.junit.Assert.assertEquals;
package org.opendaylight.yangtools.yang.data.impl.schema.tree;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.junit.Test;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
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.DataTreeCandidate;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
private static final String REV = "2016-07-28";
private static final QName ROOT = QName.create(NS, REV, "root");
private static final QName MY_LIST = QName.create(NS, REV, "my-list");
private static final QName LIST_ID = QName.create(NS, REV, "list-id");
private static final QName MANDATORY_LEAF = QName.create(NS, REV, "mandatory-leaf");
private static final QName COMMON_LEAF = QName.create(NS, REV, "common-leaf");
private static final String REV = "2016-07-28";
private static final QName ROOT = QName.create(NS, REV, "root");
private static final QName MY_LIST = QName.create(NS, REV, "my-list");
private static final QName LIST_ID = QName.create(NS, REV, "list-id");
private static final QName MANDATORY_LEAF = QName.create(NS, REV, "mandatory-leaf");
private static final QName COMMON_LEAF = QName.create(NS, REV, "common-leaf");
- @Before
- public void init() throws ReactorException {
- this.schemaContext = TestModel.createTestContext("/bug5968/foo.yang");
- assertNotNull("Schema context must not be null.", this.schemaContext);
+ @BeforeClass
+ public static void beforeClass() {
+ SCHEMA_CONTEXT = TestModel.createTestContext("/bug5968.yang");
- private static InMemoryDataTree initDataTree(final SchemaContext schemaContext, final boolean withMapNode)
+ @AfterClass
+ public static void afterClass() {
+ SCHEMA_CONTEXT = null;
+ }
+
+ private static DataTree initDataTree(final EffectiveModelContext schemaContext, final boolean withMapNode)
- final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) InMemoryDataTreeFactory.getInstance().create(
- DataTreeConfiguration.DEFAULT_CONFIGURATION);
- inMemoryDataTree.setSchemaContext(schemaContext);
+ final DataTree inMemoryDataTree = new InMemoryDataTreeFactory().create(
+ DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext);
modificationTree.merge(
YangInstanceIdentifier.of(ROOT),
withMapNode ? root.withChild(
modificationTree.merge(
YangInstanceIdentifier.of(ROOT),
withMapNode ? root.withChild(
- final InMemoryDataTree inMemoryDataTree = (InMemoryDataTree) InMemoryDataTreeFactory.getInstance().create(
- DataTreeConfiguration.DEFAULT_CONFIGURATION);
- inMemoryDataTree.setSchemaContext(schemaContext);
-
- return inMemoryDataTree;
+ return new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, schemaContext);
- public void mergeInvalidContainerTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
+ public void mergeInvalidContainerTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
- public void mergeInvalidMapTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void mergeInvalidMapTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
- public void mergeInvalidMapEntryTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = initDataTree(schemaContext, true);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void mergeInvalidMapEntryTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
mergeMapEntry(modificationTree, "1", null, "common-value");
mergeMapEntry(modificationTree, "1", null, "common-value");
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
final boolean mandatoryDataMissing) throws DataValidationFailedException {
final MapNode myList = createMap(mandatoryDataMissing);
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), myList);
final boolean mandatoryDataMissing) throws DataValidationFailedException {
final MapNode myList = createMap(mandatoryDataMissing);
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), myList);
- private static void mergeMapEntry(final InMemoryDataTreeModification modificationTree, final Object listIdValue,
+ private static void mergeMapEntry(final DataTreeModification modificationTree, final Object listIdValue,
final Object mandatoryLeafValue, final Object commonLeafValue) throws DataValidationFailedException {
final MapEntryNode taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue)
: createMapEntry(listIdValue, mandatoryLeafValue, commonLeafValue);
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
final Object mandatoryLeafValue, final Object commonLeafValue) throws DataValidationFailedException {
final MapEntryNode taskEntryNode = mandatoryLeafValue == null ? createMapEntry(listIdValue, commonLeafValue)
: createMapEntry(listIdValue, mandatoryLeafValue, commonLeafValue);
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue))),
taskEntryNode);
}
private static MapEntryNode createMapEntry(final Object listIdValue, final Object mandatoryLeafValue,
final Object commonLeafValue) throws DataValidationFailedException {
return Builders.mapEntryBuilder()
taskEntryNode);
}
private static MapEntryNode createMapEntry(final Object listIdValue, final Object mandatoryLeafValue,
final Object commonLeafValue) throws DataValidationFailedException {
return Builders.mapEntryBuilder()
- .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue))
.withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build();
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue))
.withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build();
private static MapEntryNode createMapEntry(final Object listIdValue, final Object commonLeafValue)
throws DataValidationFailedException {
return Builders.mapEntryBuilder()
private static MapEntryNode createMapEntry(final Object listIdValue, final Object commonLeafValue)
throws DataValidationFailedException {
return Builders.mapEntryBuilder()
- .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build();
}
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(COMMON_LEAF, commonLeafValue)).build();
}
private static MapEntryNode createMapEntryM(final Object listIdValue, final Object mandatoryLeafValue)
throws DataValidationFailedException {
return Builders.mapEntryBuilder()
private static MapEntryNode createMapEntryM(final Object listIdValue, final Object mandatoryLeafValue)
throws DataValidationFailedException {
return Builders.mapEntryBuilder()
- .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue)).build();
}
@Test
.withChild(ImmutableNodes.leafNode(LIST_ID, listIdValue))
.withChild(ImmutableNodes.leafNode(MANDATORY_LEAF, mandatoryLeafValue)).build();
}
@Test
- public void mergeValidContainerTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
+ public void mergeValidContainerTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build());
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);
modificationTree.merge(YangInstanceIdentifier.of(ROOT), root.build());
modificationTree.ready();
inMemoryDataTree.validate(modificationTree);
- public void mergeValidMapTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void mergeValidMapTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
mergeMap(modificationTree, false);
modificationTree.ready();
mergeMap(modificationTree, false);
modificationTree.ready();
- public void mergeValidMapEntryTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = initDataTree(schemaContext, true);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void mergeValidMapEntryTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = initDataTree(SCHEMA_CONTEXT, true);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
mergeMapEntry(modificationTree, "1", "mandatory-value", "common-value");
mergeMapEntry(modificationTree, "1", "mandatory-value", "common-value");
- public void validMultiStepsMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void validMultiStepsMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntry("1", "mandatory-value", "common-value"));
modificationTree.ready();
createMapEntry("1", "mandatory-value", "common-value"));
modificationTree.ready();
- public void invalidMultiStepsMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void invalidMultiStepsMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.merge(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
- .withNodeIdentifier(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, listIdValue)))
- public void validMultiStepsWriteAndMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void validMultiStepsWriteAndMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntry("1", "mandatory-value", "common-value"));
modificationTree.ready();
createMapEntry("1", "mandatory-value", "common-value"));
modificationTree.ready();
- public void invalidMultiStepsWriteAndMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void invalidMultiStepsWriteAndMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=1}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=1}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
- public void validMapEntryMultiCommitMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void validMapEntryMultiCommitMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntry("1", "common-value"));
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree2);
createMapEntry("1", "common-value"));
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree2);
- public void invalidMapEntryMultiCommitMergeTest() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ public void invalidMapEntryMultiCommitMergeTest() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
final DataTreeCandidate prepare = inMemoryDataTree.prepare(modificationTree);
inMemoryDataTree.commit(prepare);
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntry("1", "common-value"));
modificationTree2.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
createMapEntry("1", "common-value"));
modificationTree2.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntryM("1", "mandatory-value"));
modificationTree2.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
createMapEntryM("1", "mandatory-value"));
modificationTree2.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "2"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "2"))),
createMapEntry("2", "common-value"));
try {
modificationTree2.ready();
createMapEntry("2", "common-value"));
try {
modificationTree2.ready();
inMemoryDataTree.commit(prepare2);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
inMemoryDataTree.commit(prepare2);
fail("Should fail due to missing mandatory leaf.");
} catch (final IllegalArgumentException e) {
- assertEquals(
- "Node (foo?revision=2016-07-28)my-list[{(foo?revision=2016-07-28)list-id=2}] is missing mandatory "
- + "descendant /(foo?revision=2016-07-28)mandatory-leaf", e.getMessage());
+ assertEquals("Node (bug5968?revision=2016-07-28)my-list[{(bug5968?revision=2016-07-28)list-id=2}] is "
+ + "missing mandatory descendant /(bug5968?revision=2016-07-28)mandatory-leaf", e.getMessage());
/*
* This test consists of two transactions (i.e. data tree modifications) on
* empty data tree. The first one writes mandatory data and second one
* writes common data without any mandatory data.
*/
/*
* This test consists of two transactions (i.e. data tree modifications) on
* empty data tree. The first one writes mandatory data and second one
* writes common data without any mandatory data.
*/
- public void validMapEntryMultiCommitMergeTest2() throws ReactorException, DataValidationFailedException {
- final InMemoryDataTree inMemoryDataTree = emptyDataTree(schemaContext);
- final InMemoryDataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
- final InMemoryDataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification();
+ @Test
+ public void validMapEntryMultiCommitMergeTest2() throws DataValidationFailedException {
+ final DataTree inMemoryDataTree = emptyDataTree(SCHEMA_CONTEXT);
+ final DataTreeModification modificationTree = inMemoryDataTree.takeSnapshot().newModification();
+ final DataTreeModification modificationTree2 = inMemoryDataTree.takeSnapshot().newModification();
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
modificationTree.write(YangInstanceIdentifier.of(ROOT), createContainerBuilder().build());
modificationTree.merge(YangInstanceIdentifier.of(ROOT).node(MY_LIST), createMapBuilder().build());
modificationTree.merge(
YangInstanceIdentifier.of(ROOT).node(MY_LIST)
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
createMapEntryM("1", "mandatory-value"));
modificationTree.ready();
- .node(new NodeIdentifierWithPredicates(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
+ .node(NodeIdentifierWithPredicates.of(MY_LIST, ImmutableMap.of(LIST_ID, "1"))),
createMapEntry("1", "common-value"));
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree2);
createMapEntry("1", "common-value"));
modificationTree2.ready();
inMemoryDataTree.validate(modificationTree2);