X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Futil%2FDataSchemaContextNode.java;h=336ab56e942aa3857dd8a36267d0244f449def52;hb=1cb3b70ea959108d66dd19cbe30c86d78c77e5c9;hp=8db4e0c21d0b3fd77f8d0bdcece1defbf1c6df9c;hpb=235ddb77ee07900bda10a0675ecb158e78555a3c;p=yangtools.git diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java index 8db4e0c21d..336ab56e94 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.util; - import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableSet; import java.util.Collections; @@ -20,7 +19,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; -import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; +import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationTarget; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; @@ -54,7 +53,6 @@ public abstract class DataSchemaContextNode implements I } protected DataSchemaContextNode(final T identifier, final SchemaNode schema) { - super(); this.identifier = identifier; if (schema instanceof DataSchemaNode) { this.dataSchemaNode = (DataSchemaNode) schema; @@ -75,8 +73,8 @@ public abstract class DataSchemaContextNode implements I return Collections.singleton(identifier.getNodeType()); } - @Nullable public abstract DataSchemaContextNode getChild(final PathArgument child); - + @Nullable public abstract DataSchemaContextNode getChild(PathArgument child); + @Nullable public abstract DataSchemaContextNode getChild(QName child); public abstract boolean isLeaf(); @@ -86,7 +84,7 @@ public abstract class DataSchemaContextNode implements I return dataSchemaNode; } - static final DataSchemaNode findChildSchemaNode(final DataNodeContainer parent, final QName child) { + static DataSchemaNode findChildSchemaNode(final DataNodeContainer parent, final QName child) { DataSchemaNode potential = parent.getDataChildByName(child); if (potential == null) { Iterable choices = FluentIterable.from( @@ -99,26 +97,26 @@ public abstract class DataSchemaContextNode implements I static DataSchemaContextNode fromSchemaAndQNameChecked(final DataNodeContainer schema, final QName child) { DataSchemaNode result = findChildSchemaNode(schema, child); // We try to look up if this node was added by augmentation - if (result != null && (schema instanceof DataSchemaNode) && result.isAugmenting()) { + if (result != null && schema instanceof DataSchemaNode && result.isAugmenting()) { return fromAugmentation(schema, (AugmentationTarget) schema, result); } return fromDataSchemaNode(result); } + // FIXME: this looks like it should be a Predicate on a stream with findFirst() private static ChoiceSchemaNode findChoice(final Iterable choices, final QName child) { - ChoiceSchemaNode foundChoice = null; - choiceLoop: for (ChoiceSchemaNode choice : choices) { - for (ChoiceCaseNode caze : choice.getCases()) { + for (ChoiceSchemaNode choice : choices) { + // FIXME: this looks weird: what are we looking for again? + for (ChoiceCaseNode caze : choice.getCases().values()) { if (findChildSchemaNode(caze, child) != null) { - foundChoice = choice; - break choiceLoop; + return choice; } } } - return foundChoice; + return null; } - public static AugmentationIdentifier augmentationIdentifierFrom(final AugmentationSchema augmentation) { + public static AugmentationIdentifier augmentationIdentifierFrom(final AugmentationSchemaNode augmentation) { ImmutableSet.Builder potentialChildren = ImmutableSet.builder(); for (DataSchemaNode child : augmentation.getChildNodes()) { potentialChildren.add(child.getQName()); @@ -126,7 +124,7 @@ public abstract class DataSchemaContextNode implements I return new AugmentationIdentifier(potentialChildren.build()); } - static DataNodeContainer augmentationProxy(final AugmentationSchema augmentation, + static DataNodeContainer augmentationProxy(final AugmentationSchemaNode augmentation, final DataNodeContainer schema) { Set children = new HashSet<>(); for (DataSchemaNode augNode : augmentation.getChildNodes()) { @@ -138,21 +136,16 @@ public abstract class DataSchemaContextNode implements I /** * Returns a DataContextNodeOperation for provided child node * + *

* If supplied child is added by Augmentation this operation returns a * DataContextNodeOperation for augmentation, otherwise returns a * DataContextNodeOperation for child as call for * {@link #fromDataSchemaNode(DataSchemaNode)}. - * - * - * @param parent - * @param parentAug - * @param child - * @return */ @Nullable static DataSchemaContextNode fromAugmentation(final DataNodeContainer parent, final AugmentationTarget parentAug, final DataSchemaNode child) { - AugmentationSchema augmentation = null; - for (AugmentationSchema aug : parentAug.getAvailableAugmentations()) { + AugmentationSchemaNode augmentation = null; + for (AugmentationSchemaNode aug : parentAug.getAvailableAugmentations()) { DataSchemaNode potential = aug.getDataChildByName(child.getQName()); if (potential != null) { augmentation = aug;