Switch to Objects.requireNonNull
[mdsal.git] / dom / mdsal-dom-inmemory-datastore / src / main / java / org / opendaylight / mdsal / dom / store / inmemory / ShardDataModification.java
index 33d596bfec2ac1638d2011be45960aafa7e19f12..c922ab2ae50cce79fe99dbe73606f310b0b83cde 100644 (file)
@@ -8,31 +8,36 @@
 
 package org.opendaylight.mdsal.dom.store.inmemory;
 
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.collect.ImmutableMap;
 import java.util.Map;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+import org.opendaylight.mdsal.dom.spi.shard.ForeignShardModificationContext;
+import org.opendaylight.mdsal.dom.spi.shard.WritableNodeOperation;
+import org.opendaylight.mdsal.dom.spi.shard.WriteCursorStrategy;
+import org.opendaylight.mdsal.dom.spi.shard.WriteableModificationNode;
+import org.opendaylight.mdsal.dom.spi.shard.WriteableNodeWithSubshard;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 
-final class ShardDataModification extends WriteableNodeWithSubshard {
+public final class ShardDataModification extends WriteableNodeWithSubshard {
 
     private final ShardRootModificationContext rootContext;
     private final Map<DOMDataTreeIdentifier, ForeignShardModificationContext> childShards;
 
     ShardDataModification(final ShardRootModificationContext boundary,
-            final Map<PathArgument, WriteableModificationNode> subshards,
-            final Map<DOMDataTreeIdentifier, ForeignShardModificationContext> childShards) {
+                          final Map<PathArgument, WriteableModificationNode> subshards,
+                          final Map<DOMDataTreeIdentifier, ForeignShardModificationContext> childShards) {
         super(subshards);
-        this.rootContext = Preconditions.checkNotNull(boundary);
+        this.rootContext = requireNonNull(boundary);
         this.childShards = ImmutableMap.copyOf(childShards);
     }
 
     @Override
-    WriteCursorStrategy createOperation(final DOMDataTreeWriteCursor parentCursor) {
-        return new WriteableNodeOperation(this, rootContext.cursor()) {
+    public WriteCursorStrategy createOperation(final DOMDataTreeWriteCursor parentCursor) {
+        return new WritableNodeOperation(this, rootContext.cursor()) {
             @Override
             public void exit() {
                 throw new IllegalStateException("Can not exit data tree root");
@@ -45,16 +50,6 @@ final class ShardDataModification extends WriteableNodeWithSubshard {
         return rootContext.getIdentifier().getRootIdentifier().getLastPathArgument();
     }
 
-    static ShardDataModification from(final ShardRootModificationContext root,
-            final Map<YangInstanceIdentifier, ForeignShardModificationContext> shards) {
-
-        ShardDataModificationBuilder builder = new ShardDataModificationBuilder(root);
-        for (ForeignShardModificationContext subshard : shards.values()) {
-            builder.addSubshard(subshard);
-        }
-        return builder.build();
-    }
-
     DOMDataTreeIdentifier getPrefix() {
         return rootContext.getIdentifier();
     }