Do not use Optional for augmentation traversal 10/100310/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 31 Mar 2022 20:46:32 +0000 (22:46 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 31 Mar 2022 20:47:44 +0000 (22:47 +0200)
We can skip allocation of an Optional by using nullable return with a
check.

Change-Id: I78cf3316d8d026b32ecb94ece77ae637444d5bb0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java

index 0a92a61c7c4ee676ef24db36e408689a15d7d136..57d0bf03cd6a4e9ceb26d8bee58fd9b6644c3320 100644 (file)
@@ -295,7 +295,7 @@ public abstract class DataSchemaContextNode<T extends PathArgument> extends Abst
     static @Nullable DataSchemaContextNode<?> fromAugmentation(final DataNodeContainer parent,
             final AugmentationTarget parentAug, final DataSchemaNode child) {
         for (AugmentationSchemaNode aug : parentAug.getAvailableAugmentations()) {
-            if (aug.findDataChildByName(child.getQName()).isPresent()) {
+            if (aug.dataChildByName(child.getQName()) != null) {
                 return new AugmentationContextNode(aug, parent);
             }
         }
index 02ddfdadc5f1d379439b1f587cbec7868b33f3f1..cec10592e7160bacd8679c8047ed079d79d6ab3b 100644 (file)
@@ -84,8 +84,7 @@ public final class NormalizedNodeSchemaUtils {
         }
 
         for (final AugmentationSchemaNode augmentation : ((AugmentationTarget) parent).getAvailableAugmentations()) {
-            final Optional<DataSchemaNode> childInAugmentation = augmentation.findDataChildByName(child.getQName());
-            if (childInAugmentation.isPresent()) {
+            if (augmentation.dataChildByName(child.getQName()) != null) {
                 return augmentation;
             }
         }
index 35b16a9e422178e8e3842681c27b35cc6a5dd73b..dfc838944129073613c5d3a540eebaab3eea6e9b 100644 (file)
@@ -17,7 +17,6 @@ import com.google.common.collect.Iterables;
 import java.io.IOException;
 import java.util.ArrayDeque;
 import java.util.Deque;
-import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 import org.eclipse.jdt.annotation.NonNull;
@@ -340,8 +339,7 @@ public final class NormalizedNodeStreamWriterStack implements LeafrefResolver {
     // FIXME: 7.0.0: can we get rid of this?
     private static SchemaNode findCaseByChild(final ChoiceSchemaNode parent, final QName qname) {
         for (final CaseSchemaNode caze : parent.getCases()) {
-            final Optional<DataSchemaNode> potential = caze.findDataChildByName(qname);
-            if (potential.isPresent()) {
+            if (caze.dataChildByName(qname) != null) {
                 return caze;
             }
         }