Do not use entrySet() where values() or keySet() suffices 59/46359/1
authorRobert Varga <rovarga@cisco.com>
Tue, 20 Sep 2016 01:48:33 +0000 (03:48 +0200)
committerRobert Varga <rovarga@cisco.com>
Mon, 3 Oct 2016 11:36:04 +0000 (13:36 +0200)
Instead of forcing instatiation of entrySet() and using only
part of the provided data, use values() and keySet() based
on what we really need.

Change-Id: I0a9333b872f9c56e1fa4eddb985309741cf77fe8
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit c935f35b6eb698878eb73ba439a57fb7f40d6539)

dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardDataModification.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeOperation.java
dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/WriteableNodeWithSubshard.java

index eeb8e91d6611343d2d5215a5c596871aa5128aee..0a4bffa9a143bb27514509876b38d56d8b2e4bb9 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.mdsal.dom.store.inmemory;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
 import java.util.Map;
-import java.util.Map.Entry;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -50,8 +49,8 @@ final class ShardDataModification extends WriteableNodeWithSubshard {
             Map<YangInstanceIdentifier, ForeignShardModificationContext> shards) {
 
         ShardDataModificationBuilder builder = new ShardDataModificationBuilder(root);
-        for (Entry<YangInstanceIdentifier, ForeignShardModificationContext> subshard : shards.entrySet()) {
-            builder.addSubshard(subshard.getValue());
+        for (ForeignShardModificationContext subshard : shards.values()) {
+            builder.addSubshard(subshard);
         }
         return builder.build();
     }
index 29087156512c117d27bc64d5dbb0d2bbc33e5f28..11eae69abbc426e9dc2c7edd285f098f4d155540 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.mdsal.dom.store.inmemory;
 
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
-import java.util.Map.Entry;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteCursor;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -101,8 +100,7 @@ abstract class WriteableNodeOperation implements WriteCursorStrategy {
             write(writtenChild.getIdentifier(), writtenChild);
         }
         // Delete step - remove subshard data that was written into current shard
-        for (Entry<PathArgument, WriteableModificationNode> shardChild : node.getChildrenWithSubshards().entrySet()) {
-            PathArgument childId = shardChild.getKey();
+        for (PathArgument childId : node.getChildrenWithSubshards().keySet()) {
             @SuppressWarnings("unchecked")
             Optional<NormalizedNode<?, ?>> writtenValue = ((NormalizedNodeContainer) data).getChild(childId);
             if (writtenValue.isPresent()) {
index 326ab2330681b835d36cb57ba6e646ca92b0e60c..58cb6d9852b0486917928c155b4eb0de6b350d2d 100644 (file)
@@ -10,14 +10,13 @@ package org.opendaylight.mdsal.dom.store.inmemory;
 
 import com.google.common.collect.ImmutableMap;
 import java.util.Map;
-import java.util.Map.Entry;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 abstract class WriteableNodeWithSubshard extends WriteableModificationNode {
 
     private final Map<PathArgument, WriteableModificationNode> children;
 
-    WriteableNodeWithSubshard(Map<PathArgument, WriteableModificationNode> children) {
+    WriteableNodeWithSubshard(final Map<PathArgument, WriteableModificationNode> children) {
         this.children = ImmutableMap.copyOf(children);
     }
 
@@ -27,14 +26,14 @@ abstract class WriteableNodeWithSubshard extends WriteableModificationNode {
     }
 
     @Override
-    WriteableModificationNode getChild(PathArgument node) {
+    WriteableModificationNode getChild(final PathArgument node) {
         return children.get(node);
     }
 
     @Override
     void markDeleted() {
-        for (Entry<PathArgument, WriteableModificationNode> child : children.entrySet()) {
-            child.getValue().markDeleted();
+        for (WriteableModificationNode child : children.values()) {
+            child.markDeleted();
         }
     }
 }
\ No newline at end of file