import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyCollection;
-import static org.mockito.Matchers.anyMap;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyCollection;
+import static org.mockito.ArgumentMatchers.anyMap;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
+import com.google.common.collect.Iterables;
import com.google.common.util.concurrent.Futures;
import java.util.Collection;
import java.util.Collections;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.InOrder;
-import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
import org.opendaylight.mdsal.dom.api.DOMDataTreeProducer;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
import org.opendaylight.mdsal.dom.broker.util.TestModel;
-import org.opendaylight.mdsal.dom.store.inmemory.DOMDataTreeShardProducer;
-import org.opendaylight.mdsal.dom.store.inmemory.DOMDataTreeShardWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.shard.DOMDataTreeShardProducer;
+import org.opendaylight.mdsal.dom.spi.shard.DOMDataTreeShardWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.shard.WriteableDOMDataTreeShard;
import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataTreeShard;
-import org.opendaylight.mdsal.dom.store.inmemory.WriteableDOMDataTreeShard;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
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.tree.DataTreeCandidate;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder;
+import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
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.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public class ShardedDOMDataTreeProducerMultiShardTest {
- private static final Logger LOG = LoggerFactory.getLogger(ShardedDOMDataTreeProducerMultiShardTest.class);
-
- private static SchemaContext schemaContext = null;
-
- static {
- try {
- schemaContext = TestModel.createTestContext();
- } catch (final ReactorException e) {
- LOG.error("Unable to create schema context for TestModel", e);
- }
- }
+ private static final SchemaContext SCHEMA_CONTEXT = TestModel.createTestContext();
private static final DOMDataTreeIdentifier ROOT_ID =
- new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.EMPTY);
+ new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.empty());
private static final DOMDataTreeIdentifier TEST_ID =
new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, TestModel.TEST_PATH);
MockitoAnnotations.initMocks(this);
rootShard = InMemoryDOMDataTreeShard.create(ROOT_ID, executor, 1);
- rootShard.onGlobalContextUpdated(schemaContext);
+ rootShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
final ShardedDOMDataTree dataTree = new ShardedDOMDataTree();
final DOMDataTreeProducer shardRegProducer = dataTree.createProducer(Collections.singletonList(ROOT_ID));
dataTreeService = dataTree;
}
- @Test(expected=IllegalStateException.class)
+ @Test(expected = IllegalStateException.class)
public void testTxReadyMultiples() throws Exception {
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
transaction.ready();
}
- @Test(expected=IllegalStateException.class)
+ @Test(expected = IllegalStateException.class)
public void testSubmitUnclosedCursor() throws Exception {
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
@Test
public void testMultipleCursorsFromOneTx() throws Exception {
- final DOMDataTreeListener mockedDataTreeListener = Mockito.mock(DOMDataTreeListener.class);
+ final DOMDataTreeListener mockedDataTreeListener = mock(DOMDataTreeListener.class);
doNothing().when(mockedDataTreeListener).onDataTreeChanged(anyCollection(), anyMap());
- dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID), true, Collections.emptyList());
+ dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID),
+ true, Collections.emptyList());
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
transaction.ready();
transaction.submit();
- verify(mockedDataTreeListener, timeout(1000).times(2)).onDataTreeChanged(captorForChanges.capture(), captorForSubtrees.capture());
+ verify(mockedDataTreeListener, timeout(1000).times(2)).onDataTreeChanged(
+ captorForChanges.capture(), captorForSubtrees.capture());
final Collection<DataTreeCandidate> capturedValue = captorForChanges.getValue();
assertTrue(capturedValue.size() == 1);
- final ContainerNode dataAfter = (ContainerNode) capturedValue.iterator().next().getRootNode().getDataAfter().get();
+ final ContainerNode dataAfter =
+ (ContainerNode) capturedValue.iterator().next().getRootNode().getDataAfter().get();
assertEquals(innerContainer, dataAfter);
verifyNoMoreInteractions(mockedDataTreeListener);
}
@Test
public void testSingleShardListener() throws Exception {
- final DOMDataTreeListener mockedDataTreeListener = Mockito.mock(DOMDataTreeListener.class);
+ final DOMDataTreeListener mockedDataTreeListener = mock(DOMDataTreeListener.class);
doNothing().when(mockedDataTreeListener).onDataTreeChanged(anyCollection(), anyMap());
- dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID), true, Collections.emptyList());
+ dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID), true,
+ Collections.emptyList());
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
writeCrossShardContainer(transaction);
- verify(mockedDataTreeListener, timeout(1000).times(2)).onDataTreeChanged(captorForChanges.capture(), captorForSubtrees.capture());
+ verify(mockedDataTreeListener, timeout(1000).times(2)).onDataTreeChanged(
+ captorForChanges.capture(), captorForSubtrees.capture());
final Collection<DataTreeCandidate> capturedValue = captorForChanges.getValue();
assertTrue(capturedValue.size() == 1);
- final ContainerNode dataAfter = (ContainerNode) capturedValue.iterator().next().getRootNode().getDataAfter().get();
- assertEquals(crossShardContainer.getChild(TestModel.INNER_CONTAINER_PATH.getLastPathArgument()).get(), dataAfter);
+ final ContainerNode dataAfter =
+ (ContainerNode) capturedValue.iterator().next().getRootNode().getDataAfter().get();
+ assertEquals(crossShardContainer.getChild(
+ TestModel.INNER_CONTAINER_PATH.getLastPathArgument()).get(), dataAfter);
final Map<DOMDataTreeIdentifier, NormalizedNode<?, ?>> capturedSubtrees = captorForSubtrees.getValue();
assertTrue(capturedSubtrees.size() == 1);
assertTrue(capturedSubtrees.containsKey(INNER_CONTAINER_ID));
- assertEquals(crossShardContainer.getChild(TestModel.INNER_CONTAINER_PATH.getLastPathArgument()).get(), capturedSubtrees.get(INNER_CONTAINER_ID));
+ assertEquals(crossShardContainer.getChild(TestModel.INNER_CONTAINER_PATH.getLastPathArgument()).get(),
+ capturedSubtrees.get(INNER_CONTAINER_ID));
verifyNoMoreInteractions(mockedDataTreeListener);
}
@Test
public void testMultipleShards() throws Exception {
- final DOMDataTreeListener mockedDataTreeListener = Mockito.mock(DOMDataTreeListener.class);
+ final DOMDataTreeListener mockedDataTreeListener = mock(DOMDataTreeListener.class);
doNothing().when(mockedDataTreeListener).onDataTreeChanged(anyCollection(), anyMap());
final InMemoryDOMDataTreeShard innerShard = InMemoryDOMDataTreeShard.create(INNER_CONTAINER_ID, executor, 1);
- innerShard.onGlobalContextUpdated(schemaContext);
- final DOMDataTreeProducer shardRegProducer = dataTreeService.createProducer(Collections.singletonList(INNER_CONTAINER_ID));
+ innerShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
+ final DOMDataTreeProducer shardRegProducer =
+ dataTreeService.createProducer(Collections.singletonList(INNER_CONTAINER_ID));
innerShardReg = dataTreeService.registerDataTreeShard(INNER_CONTAINER_ID, innerShard, shardRegProducer);
shardRegProducer.close();
- dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(TEST_ID), true, Collections.emptyList());
+ dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(TEST_ID),
+ true, Collections.emptyList());
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
.build();
//verify listeners have been notified
- verify(mockedDataTreeListener, timeout(1000).times(4)).onDataTreeChanged(captorForChanges.capture(), captorForSubtrees.capture());
+ verify(mockedDataTreeListener, timeout(1000).times(4)).onDataTreeChanged(
+ captorForChanges.capture(), captorForSubtrees.capture());
final List<Collection<DataTreeCandidate>> capturedChanges = captorForChanges.getAllValues();
- final List<Map<DOMDataTreeIdentifier, NormalizedNode<?, ?>>> capturedSubtrees = captorForSubtrees.getAllValues();
+ final List<Map<DOMDataTreeIdentifier, NormalizedNode<?, ?>>> capturedSubtrees =
+ captorForSubtrees.getAllValues();
final DataTreeCandidate firstNotificationCandidate = capturedChanges.get(2).iterator().next();
assertTrue(capturedSubtrees.get(2).size() == 1);
verifyNoMoreInteractions(mockedDataTreeListener);
}
+ @Test
+ public void testMultipleShardsProducerClose() throws Exception {
+ final InMemoryDOMDataTreeShard innerShard = InMemoryDOMDataTreeShard.create(INNER_CONTAINER_ID, executor, 1);
+ innerShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
+
+ assertTrue(rootShard.getProducers().isEmpty());
+
+ final DOMDataTreeProducer innerShardRegProducer =
+ dataTreeService.createProducer(Collections.singletonList(INNER_CONTAINER_ID));
+ assertTrue(rootShard.getProducers().size() == 1);
+ final DOMDataTreeShardProducer rootShardProducer = Iterables.getOnlyElement(rootShard.getProducers());
+ assertEquals(rootShardProducer.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+
+ dataTreeService.registerDataTreeShard(INNER_CONTAINER_ID, innerShard, innerShardRegProducer);
+
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().size() == 1);
+ final DOMDataTreeShardProducer innerShardProducer = Iterables.getOnlyElement(innerShard.getProducers());
+ assertEquals(innerShardProducer.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+
+ innerShardRegProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().isEmpty());
+
+ final DOMDataTreeProducer testProducer =
+ dataTreeService.createProducer(Collections.singletonList(TEST_ID));
+ assertTrue(rootShard.getProducers().size() == 1);
+ final DOMDataTreeShardProducer rootShardProducer2 = Iterables.getOnlyElement(rootShard.getProducers());
+ assertEquals(rootShardProducer2.getPrefixes().toString(),
+ Collections.singletonList(TEST_ID).toString());
+
+ assertTrue(innerShard.getProducers().size() == 1);
+ final DOMDataTreeShardProducer innerShardProducer2 = Iterables.getOnlyElement(innerShard.getProducers());
+ assertEquals(innerShardProducer2.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+
+ testProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().isEmpty());
+ }
+
+ @Test
+ public void testMultipleShardsChildProducerClose() throws Exception {
+ final InMemoryDOMDataTreeShard innerShard = InMemoryDOMDataTreeShard.create(INNER_CONTAINER_ID, executor, 1);
+ innerShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
+
+ final DOMDataTreeProducer innerShardRegProducer =
+ dataTreeService.createProducer(Collections.singletonList(INNER_CONTAINER_ID));
+ dataTreeService.registerDataTreeShard(INNER_CONTAINER_ID, innerShard, innerShardRegProducer);
+ innerShardRegProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().isEmpty());
+
+ final DOMDataTreeProducer testProducer =
+ dataTreeService.createProducer(Collections.singletonList(TEST_ID));
+ final DOMDataTreeProducer testChildProducer = testProducer.createProducer(
+ Collections.singletonList(INNER_CONTAINER_ID));
+ assertTrue(rootShard.getProducers().size() == 1);
+ assertTrue(innerShard.getProducers().size() == 2);
+
+ final DOMDataTreeShardProducer rootShardProducer = Iterables.getOnlyElement(rootShard.getProducers());
+ assertEquals(rootShardProducer.getPrefixes().toString(),
+ Collections.singletonList(TEST_ID).toString());
+
+ for (DOMDataTreeShardProducer producer : innerShard.getProducers()) {
+ assertEquals(producer.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+ }
+
+ testProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().size() == 1);
+ final DOMDataTreeShardProducer innerShardProducer = Iterables.getOnlyElement(innerShard.getProducers());
+ assertEquals(innerShardProducer.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+
+ testChildProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().isEmpty());
+ }
+
+ @Test
+ public void testMultipleShardsProducerCloseForSubshardAttached() throws Exception {
+ final InMemoryDOMDataTreeShard innerShard = InMemoryDOMDataTreeShard.create(INNER_CONTAINER_ID, executor, 1);
+ innerShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
+
+ final DOMDataTreeProducer innerShardRegProducer =
+ dataTreeService.createProducer(Collections.singletonList(INNER_CONTAINER_ID));
+ dataTreeService.registerDataTreeShard(INNER_CONTAINER_ID, innerShard, innerShardRegProducer);
+ innerShardRegProducer.close();
+ assertTrue(rootShard.getProducers().isEmpty());
+ assertTrue(innerShard.getProducers().isEmpty());
+
+ final DOMDataTreeProducer testProducer =
+ dataTreeService.createProducer(Collections.singletonList(TEST_ID));
+ assertTrue(rootShard.getProducers().size() == 1);
+ assertTrue(innerShard.getProducers().size() == 1);
+
+ final DOMDataTreeShardProducer rootShardProducer = Iterables.getOnlyElement(rootShard.getProducers());
+ assertEquals(rootShardProducer.getPrefixes().toString(),
+ Collections.singletonList(TEST_ID).toString());
+
+ final DOMDataTreeShardProducer innerShardProducer = Iterables.getOnlyElement(innerShard.getProducers());
+ assertEquals(innerShardProducer.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+
+ final InMemoryDOMDataTreeShard test2Shard = InMemoryDOMDataTreeShard.create(TEST2_ID, executor, 1);
+ innerShard.onGlobalContextUpdated(SCHEMA_CONTEXT);
+
+ final DOMDataTreeProducer test2ShardRegProducer =
+ dataTreeService.createProducer(Collections.singletonList(TEST2_ID));
+ dataTreeService.registerDataTreeShard(TEST2_ID, test2Shard, test2ShardRegProducer);
+ test2ShardRegProducer.close();
+
+ assertTrue(rootShard.getProducers().size() == 1);
+ assertTrue(innerShard.getProducers().size() == 1);
+
+ final DOMDataTreeShardProducer rootShardProducer2 = Iterables.getOnlyElement(rootShard.getProducers());
+ assertEquals(rootShardProducer2.getPrefixes().toString(),
+ Collections.singletonList(TEST_ID).toString());
+
+ final DOMDataTreeShardProducer innerShardProducer2 = Iterables.getOnlyElement(innerShard.getProducers());
+ assertEquals(innerShardProducer2.getPrefixes().toString(),
+ Collections.singletonList(INNER_CONTAINER_ID).toString());
+ }
+
@Test
public void testMultipleWritesIntoSingleShard() throws Exception {
- final DOMDataTreeListener mockedDataTreeListener = Mockito.mock(DOMDataTreeListener.class);
+ final DOMDataTreeListener mockedDataTreeListener = mock(DOMDataTreeListener.class);
doNothing().when(mockedDataTreeListener).onDataTreeChanged(anyCollection(), anyMap());
- dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID), true, Collections.emptyList());
+ dataTreeService.registerListener(mockedDataTreeListener, Collections.singletonList(INNER_CONTAINER_ID),
+ true, Collections.emptyList());
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
final DOMDataTreeShardWriteTransaction transaction = producer.createTransaction();
@Test
public void testMockedSubshards() throws Exception {
- final WriteableDOMDataTreeShard mockedInnerShard = Mockito.mock(WriteableDOMDataTreeShard.class);
- final ShardedDOMDataTreeProducer shardRegProducer = Mockito.mock(ShardedDOMDataTreeProducer.class);
+ final WriteableDOMDataTreeShard mockedInnerShard = mock(WriteableDOMDataTreeShard.class);
+ final DOMDataTreeShardProducer mockedProducer = mock(DOMDataTreeShardProducer.class);
+ doReturn(mockedProducer).when(mockedInnerShard).createProducer(anyCollection());
+ final ShardedDOMDataTreeProducer shardRegProducer = mock(ShardedDOMDataTreeProducer.class);
doReturn(Collections.singleton(INNER_CONTAINER_ID)).when(shardRegProducer).getSubtrees();
doNothing().when(shardRegProducer).subshardAdded(anyMap());
dataTreeService.registerDataTreeShard(INNER_CONTAINER_ID, mockedInnerShard, shardRegProducer);
- final DOMDataTreeShardProducer mockedProducer = Mockito.mock(DOMDataTreeShardProducer.class);
- doReturn(mockedProducer).when(mockedInnerShard).createProducer(any(Collection.class));
final DOMDataTreeShardProducer producer = rootShard.createProducer(Collections.singletonList(TEST_ID));
cursor.enter(TestModel.TEST_PATH.getLastPathArgument());
final LeafNode<String> shardedValue1 =
- ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(new NodeIdentifier(TestModel.SHARDED_VALUE_1)).withValue("sharded value 1").build();
+ ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(
+ new NodeIdentifier(TestModel.SHARDED_VALUE_1)).withValue("sharded value 1").build();
final LeafNode<String> shardedValue2 =
- ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(new NodeIdentifier(TestModel.SHARDED_VALUE_2)).withValue("sharded value 2").build();
+ ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(
+ new NodeIdentifier(TestModel.SHARDED_VALUE_2)).withValue("sharded value 2").build();
- final DataContainerNodeAttrBuilder<NodeIdentifier, ContainerNode> containerNodeBuilder = ImmutableContainerNodeBuilder.create();
+ final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> containerNodeBuilder =
+ ImmutableContainerNodeBuilder.create();
final ContainerNode containerNode =
containerNodeBuilder
.withNodeIdentifier(new NodeIdentifier(TestModel.INNER_CONTAINER))
.withChild(shardedValue2)
.build();
- final DOMDataTreeShardWriteTransaction mockedTx = Mockito.mock(DOMDataTreeShardWriteTransaction.class);
+ final DOMDataTreeShardWriteTransaction mockedTx = mock(DOMDataTreeShardWriteTransaction.class);
doReturn(mockedTx).when(mockedProducer).createTransaction();
doNothing().when(mockedTx).ready();
doReturn(Futures.immediateFuture(null)).when(mockedTx).prepare();
doReturn(Futures.immediateFuture(null)).when(mockedTx).commit();
- final DOMDataTreeWriteCursor mockedCursor = Mockito.mock(DOMDataTreeWriteCursor.class);
+ final DOMDataTreeWriteCursor mockedCursor = mock(DOMDataTreeWriteCursor.class);
doNothing().when(mockedCursor).write(any(PathArgument.class), any(NormalizedNode.class));
doNothing().when(mockedCursor).close();
doReturn(mockedCursor).when(mockedTx).createCursor(any(DOMDataTreeIdentifier.class));
final ContainerNode lowerShardContainer = ImmutableContainerNodeBuilder.create()
.withNodeIdentifier(new NodeIdentifier(TestModel.ANOTHER_SHARD_CONTAINER))
- .withChild(ImmutableLeafNodeBuilder.create().withNodeIdentifier(new NodeIdentifier(TestModel.ANOTHER_SHARD_VALUE)).build())
+ .withChild(ImmutableLeafNodeBuilder.create().withNodeIdentifier(
+ new NodeIdentifier(TestModel.ANOTHER_SHARD_VALUE)).withValue("").build())
.build();
cursor.write(TestModel.ANOTHER_SHARD_PATH.getLastPathArgument(), lowerShardContainer);
}
- private ContainerNode createCrossShardContainer() {
+ private static ContainerNode createCrossShardContainer() {
final LeafNode<String> shardedValue1 =
- ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(new NodeIdentifier(TestModel.SHARDED_VALUE_1)).withValue("sharded value 1").build();
+ ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(
+ new NodeIdentifier(TestModel.SHARDED_VALUE_1)).withValue("sharded value 1").build();
final LeafNode<String> shardedValue2 =
- ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(new NodeIdentifier(TestModel.SHARDED_VALUE_2)).withValue("sharded value 2").build();
+ ImmutableLeafNodeBuilder.<String>create().withNodeIdentifier(new NodeIdentifier(
+ TestModel.SHARDED_VALUE_2)).withValue("sharded value 2").build();
final ContainerNode lowerShardContainer = ImmutableContainerNodeBuilder.create()
return testContainer;
}
- private void writeCrossShardContainer(final DOMDataTreeShardWriteTransaction transaction) throws Exception{
+ private void writeCrossShardContainer(final DOMDataTreeShardWriteTransaction transaction) throws Exception {
final DOMDataTreeWriteCursor cursor = transaction.createCursor(ROOT_ID);
cursor.write(TestModel.TEST_PATH.getLastPathArgument(), crossShardContainer);