Move transaction-invariants into producer
[mdsal.git] / dom / mdsal-dom-inmemory-datastore / src / test / java / org / opendaylight / mdsal / dom / store / inmemory / TestUtils.java
index 7f05d7acb7561515bcae2c9fb0fe09e2959ced81..649c9947df7bf8658fcd0b025322fcd6d4c911f9 100644 (file)
@@ -13,6 +13,7 @@ import static org.mockito.Mockito.reset;
 import com.google.common.util.concurrent.ListenableFuture;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Map;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
@@ -67,4 +68,18 @@ final class TestUtils {
     private TestUtils() throws UnsupportedOperationException {
         throw new UnsupportedOperationException("Utility class should not be instantiated");
     }
-}
\ No newline at end of file
+
+    static ShardDataModification createModification(final ShardRootModificationContext root,
+            final Map<YangInstanceIdentifier, ForeignShardModificationContext> shards) {
+
+        final ShardDataModificationFactoryBuilder builder = new ShardDataModificationFactoryBuilder(
+            root.getIdentifier());
+        for (ForeignShardModificationContext subshard : shards.values()) {
+            builder.addSubshard(subshard);
+        }
+
+        final ShardDataModificationFactory factory = builder.build();
+        return new ShardDataModification(root, factory.getChildren(), factory.getChildShards());
+    }
+
+}