import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-public class ShardedDOMDataTreeTest {
-
- private static final SchemaContext SCHEMA_CONTEXT = TestModel.createTestContext();
+public class ShardedDOMDataTreeTest extends AbstractDatastoreTest {
private static final DOMDataTreeIdentifier ROOT_ID =
- new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY);
+ new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.empty());
private static final DOMDataTreeIdentifier TEST_ID =
new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, TestModel.TEST_PATH);
new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, TestModel.INNER_CONTAINER_PATH);
private static final YangInstanceIdentifier OUTER_LIST_YID = TestModel.OUTER_LIST_PATH.node(
- new NodeIdentifierWithPredicates(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1));
+ NodeIdentifierWithPredicates.of(TestModel.OUTER_LIST_QNAME, TestModel.ID_QNAME, 1));
private static final DOMDataTreeIdentifier OUTER_LIST_ID =
new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, OUTER_LIST_YID);
dataTreeService.createProducer(Collections.singletonList(TEST_ID));
}
+ @Test(expected = IllegalArgumentException.class)
+ public void testProducerPathContentionReverse() throws Exception {
+ dataTreeService.createProducer(Collections.singletonList(TEST_ID));
+ dataTreeService.createProducer(Collections.singletonList(ROOT_ID));
+ }
+
@Test
public void testShardRegistrationClose() throws Exception {
rootShardReg.close();
final DOMDataTreeProducer shardRegProducer = dataTreeService.createProducer(Collections.singletonList(ROOT_ID));
final ListenerRegistration<InMemoryDOMDataTreeShard> newRootShardReg =
- dataTreeService.registerDataTreeShard(ROOT_ID, rootShard, shardRegProducer);
+ dataTreeService.registerDataTreeShard(ROOT_ID, newRootShard, shardRegProducer);
shardRegProducer.close();
final InMemoryDOMDataTreeShard innerShard = InMemoryDOMDataTreeShard.create(INNER_CONTAINER_ID, executor, 1);
@Test
public void testMultipleWritesIntoSingleMapEntry() throws Exception {
- final YangInstanceIdentifier oid1 = TestModel.OUTER_LIST_PATH.node(new NodeIdentifierWithPredicates(
+ final YangInstanceIdentifier oid1 = TestModel.OUTER_LIST_PATH.node(NodeIdentifierWithPredicates.of(
TestModel.OUTER_LIST_QNAME, QName.create(TestModel.OUTER_LIST_QNAME, "id"), 0));
final DOMDataTreeIdentifier outerListPath = new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, oid1);
final Collection<MapEntryNode> ret = new ArrayList<>();
for (int i = 0; i < amount; i++) {
ret.add(ImmutableNodes.mapEntryBuilder()
- .withNodeIdentifier(new NodeIdentifierWithPredicates(TestModel.INNER_LIST_QNAME,
+ .withNodeIdentifier(NodeIdentifierWithPredicates.of(TestModel.INNER_LIST_QNAME,
QName.create(TestModel.OUTER_LIST_QNAME, "name"), Integer.toString(i)))
.withChild(ImmutableNodes
.leafNode(QName.create(TestModel.INNER_LIST_QNAME, "name"), Integer.toString(i)))
doNothing().when(listener).onDataTreeChanged(any(), any());
dataTreeService.registerListener(listener,
Collections.singletonList(
- new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY)),
+ new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.empty())),
false, Collections.emptyList());
verify(listener, times(2)).onDataTreeChanged(any(), any());