X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Fbuilder%2Fimpl%2FImmutableMapEntryNodeBuilder.java;h=33fd8a8ef122d53b9f5b689a382f4ee8f7ac4121;hb=19efe56f8f20f5692a100e765a581fbc8f0b4aca;hp=cebe26b0f577874e66cb2f57e0902986bd6eaed6;hpb=d9a6f8d69adf0f8e9d7947cec1e8758be2341249;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java index cebe26b0f5..33fd8a8ef1 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java @@ -11,6 +11,7 @@ import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -19,18 +20,18 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataValidationException; -import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableDataContainerAttrNode; +import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableDataContainerNode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainerNodeAttrBuilder { +public class ImmutableMapEntryNodeBuilder + extends AbstractImmutableDataContainerNodeBuilder { private static final Logger LOG = LoggerFactory.getLogger(ImmutableMapEntryNodeBuilder.class); protected final Map childrenQNamesToPaths; protected ImmutableMapEntryNodeBuilder() { - super(); this.childrenQNamesToPaths = new LinkedHashMap<>(); } @@ -45,15 +46,17 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer fillQnames(node.getValue(), childrenQNamesToPaths); } - public static DataContainerNodeAttrBuilder create() { + public static @NonNull DataContainerNodeBuilder create() { return new ImmutableMapEntryNodeBuilder(); } - public static DataContainerNodeAttrBuilder create(final int sizeHint) { + public static @NonNull DataContainerNodeBuilder create( + final int sizeHint) { return new ImmutableMapEntryNodeBuilder(sizeHint); } - public static DataContainerNodeAttrBuilder create(final MapEntryNode node) { + public static @NonNull DataContainerNodeBuilder create( + final MapEntryNode node) { if (!(node instanceof ImmutableMapEntryNode)) { throw new UnsupportedOperationException(String.format("Cannot initialize from class %s", node.getClass())); } @@ -61,12 +64,13 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer return new ImmutableMapEntryNodeBuilder((ImmutableMapEntryNode)node); } - private static void fillQnames(final Iterable> iterable, final Map out) { + private static void fillQnames(final Iterable> iterable, + final Map out) { for (final DataContainerChild childId : iterable) { final PathArgument identifier = childId.getIdentifier(); // Augmentation nodes cannot be keys, and do not have to be present in childrenQNamesToPaths map - if(isAugment(identifier)) { + if (isAugment(identifier)) { continue; } @@ -74,11 +78,11 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer } } - @Override - public DataContainerNodeAttrBuilder withValue(final Collection> value) { - fillQnames(value, childrenQNamesToPaths); - return super.withValue(value); + public DataContainerNodeBuilder withValue( + final Collection> withValue) { + fillQnames(withValue, childrenQNamesToPaths); + return super.withValue(withValue); } private static boolean isAugment(final PathArgument identifier) { @@ -86,9 +90,10 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer } @Override - public DataContainerNodeAttrBuilder withChild(final DataContainerChild child) { + public DataContainerNodeBuilder withChild( + final DataContainerChild child) { // Augmentation nodes cannot be keys, and do not have to be present in childrenQNamesToPaths map - if(!isAugment(child.getIdentifier())) { + if (!isAugment(child.getIdentifier())) { childrenQNamesToPaths.put(child.getNodeType(), child.getIdentifier()); } @@ -97,7 +102,7 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer @Override public MapEntryNode build() { - for (final Entry key : getNodeIdentifier().getKeyValues().entrySet()) { + for (final Entry key : getNodeIdentifier().entrySet()) { final DataContainerChild childNode = getChild(childrenQNamesToPaths.get(key.getKey())); // We have enough information to fill-in missing leaf nodes, so let's do that @@ -106,18 +111,20 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer LOG.debug("Adding leaf {} implied by key {}", leaf, key); withChild(leaf); } else { - DataValidationException.checkListKey(getNodeIdentifier(), key.getKey(), key.getValue(), childNode.getValue()); + DataValidationException.checkListKey(getNodeIdentifier(), key.getKey(), key.getValue(), + childNode.getValue()); } } - return new ImmutableMapEntryNode(getNodeIdentifier(), buildValue(), getAttributes()); + return new ImmutableMapEntryNode(getNodeIdentifier(), buildValue()); } - private static final class ImmutableMapEntryNode extends AbstractImmutableDataContainerAttrNode implements MapEntryNode { + private static final class ImmutableMapEntryNode + extends AbstractImmutableDataContainerNode implements MapEntryNode { ImmutableMapEntryNode(final NodeIdentifierWithPredicates nodeIdentifier, - final Map> children, final Map attributes) { - super(children, nodeIdentifier, attributes); + final Map children) { + super(children, nodeIdentifier); } } }