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%2FContainerSchemaNodes.java;h=8010b84fbb395a1b1b16c00a40a0d99012e54099;hb=7b90edc623bb972e58d38643bfedb21e53bc7bdb;hp=9222f3dbc59f13fadfbff4db49218cea3125a237;hpb=fcfb9bd360a007d6f68a63394681fa0c440896d9;p=yangtools.git diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java index 9222f3dbc5..8010b84fbb 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java @@ -11,30 +11,29 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; import java.util.Collection; -import java.util.List; -import java.util.Map; import java.util.Optional; -import java.util.Set; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ActionDefinition; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ContainerLike; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; +import org.opendaylight.yangtools.yang.model.api.InputSchemaNode; +import org.opendaylight.yangtools.yang.model.api.MustDefinition; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; +import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound; /** * yang-data-util @@ -48,17 +47,16 @@ public final class ContainerSchemaNodes { } @Beta - public static ContainerSchemaNode forNotification(final NotificationDefinition notification) { + public static ContainerLike forNotification(final NotificationDefinition notification) { return new NotificationContainerSchemaNode(notification); } @Beta - public static ContainerSchemaNode forRPC(final RpcDefinition rpc) { + public static ContainerLike forRPC(final RpcDefinition rpc) { return new RpcContainerSchemaNode(rpc); } - private abstract static class AbstractContainerSchemaNode implements ContainerSchemaNode { - + private abstract static class AbstractContainerSchemaNode implements ContainerLike { private final SchemaNode schemaNode; private AbstractContainerSchemaNode(final SchemaNode schemaNode) { @@ -66,12 +64,7 @@ public final class ContainerSchemaNodes { } @Override - public boolean isPresenceContainer() { - return false; - } - - @Override - public Set getUses() { + public Collection getUses() { return ImmutableSet.of(); } @@ -81,50 +74,45 @@ public final class ContainerSchemaNodes { } @Override - public boolean isConfiguration() { - return false; - } - - @Override - public ConstraintDefinition getConstraints() { - return EmptyConstraintDefinition.create(false); + public Optional effectiveConfig() { + return Optional.empty(); } - @Nonnull @Override public QName getQName() { return schemaNode.getQName(); } - @Nonnull @Override + @Deprecated public SchemaPath getPath() { return schemaNode.getPath(); } - @Nullable @Override - public String getDescription() { + public Optional getDescription() { return schemaNode.getDescription(); } - @Nullable @Override - public String getReference() { + public Optional getReference() { return schemaNode.getReference(); } - @Nonnull @Override public Status getStatus() { return schemaNode.getStatus(); } - @Nonnull @Override - public List getUnknownSchemaNodes() { + public Collection getMustConstraints() { return ImmutableList.of(); } + + @Override + public Optional getWhenCondition() { + return Optional.empty(); + } } private static final class RpcContainerSchemaNode extends AbstractContainerSchemaNode { @@ -137,24 +125,24 @@ public final class ContainerSchemaNodes { } @Override - public Set getGroupings() { + public Collection getGroupings() { return rpcDefinition.getGroupings(); } @Override - public Set> getTypeDefinitions() { + public Collection> getTypeDefinitions() { return rpcDefinition.getTypeDefinitions(); } @Override - public Set getAvailableAugmentations() { + public Collection getAvailableAugmentations() { return ImmutableSet.of(); } @Override - public Collection getChildNodes() { - final ContainerSchemaNode input = rpcDefinition.getInput(); - final ContainerSchemaNode output = rpcDefinition.getOutput(); + public Collection getChildNodes() { + final InputSchemaNode input = rpcDefinition.getInput(); + final OutputSchemaNode output = rpcDefinition.getOutput(); if (input == null && output == null) { return ImmutableList.of(); } else if (input != null && output != null) { @@ -178,13 +166,19 @@ public final class ContainerSchemaNodes { } } + @Deprecated @Override public boolean isAddedByUses() { return false; } @Override - public Set getActions() { + public Collection getActions() { + return ImmutableSet.of(); + } + + @Override + public Collection getNotifications() { return ImmutableSet.of(); } } @@ -192,7 +186,7 @@ public final class ContainerSchemaNodes { private static final class NotificationContainerSchemaNode extends AbstractContainerSchemaNode { private final NotificationDefinition notification; - private final Map mapNodes; + private final ImmutableMap mapNodes; private NotificationContainerSchemaNode(final NotificationDefinition notification) { super(notification); @@ -201,27 +195,27 @@ public final class ContainerSchemaNodes { } @Override - public Set getNotifications() { + public Collection getNotifications() { return ImmutableSet.of(notification); } @Override - public Set getAvailableAugmentations() { + public Collection getAvailableAugmentations() { return notification.getAvailableAugmentations(); } @Override - public Set> getTypeDefinitions() { + public Collection> getTypeDefinitions() { return notification.getTypeDefinitions(); } @Override - public Collection getChildNodes() { + public Collection getChildNodes() { return notification.getChildNodes(); } @Override - public Set getGroupings() { + public Collection getGroupings() { return notification.getGroupings(); } @@ -231,13 +225,14 @@ public final class ContainerSchemaNodes { } @Override + @Deprecated public boolean isAddedByUses() { //FIXME: reference to https://bugs.opendaylight.org/show_bug.cgi?id=6897 return false; } @Override - public Set getActions() { + public Collection getActions() { return ImmutableSet.of(); } }