From 4e6fec15b3d8b4ec8f666859a2a208711d66a1e0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 31 Mar 2022 22:46:32 +0200 Subject: [PATCH] Do not use Optional for augmentation traversal We can skip allocation of an Optional by using nullable return with a check. Change-Id: I78cf3316d8d026b32ecb94ece77ae637444d5bb0 Signed-off-by: Robert Varga --- .../yangtools/yang/data/util/DataSchemaContextNode.java | 2 +- .../yangtools/yang/data/util/NormalizedNodeSchemaUtils.java | 3 +-- .../yang/data/util/NormalizedNodeStreamWriterStack.java | 4 +--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java index 0a92a61c7c..57d0bf03cd 100644 --- a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java +++ b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java @@ -295,7 +295,7 @@ public abstract class DataSchemaContextNode 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); } } diff --git a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java index 02ddfdadc5..cec10592e7 100644 --- a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java +++ b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeSchemaUtils.java @@ -84,8 +84,7 @@ public final class NormalizedNodeSchemaUtils { } for (final AugmentationSchemaNode augmentation : ((AugmentationTarget) parent).getAvailableAugmentations()) { - final Optional childInAugmentation = augmentation.findDataChildByName(child.getQName()); - if (childInAugmentation.isPresent()) { + if (augmentation.dataChildByName(child.getQName()) != null) { return augmentation; } } diff --git a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java index 35b16a9e42..dfc8389441 100644 --- a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java +++ b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java @@ -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 potential = caze.findDataChildByName(qname); - if (potential.isPresent()) { + if (caze.dataChildByName(qname) != null) { return caze; } } -- 2.36.6