*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
+import com.google.common.collect.ImmutableList;
+import java.util.ArrayList;
+import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
import org.opendaylight.yangtools.yang.model.api.Status;
+import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
// FIXME: 5.0.0: rename to AbstractEffectiveDocumentedNodeWithStatus
public abstract class AbstractEffectiveDocumentedNode<A, D extends DeclaredStatement<A>>
extends AbstractEffectiveDocumentedNodeWithoutStatus<A, D> implements DocumentedNode.WithStatus {
+ private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final @NonNull Status status;
/**
protected AbstractEffectiveDocumentedNode(final StmtContext<A, D, ?> ctx) {
super(ctx);
status = findFirstEffectiveSubstatementArgument(StatusEffectiveStatement.class).orElse(Status.CURRENT);
+
+ final List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
+ for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) {
+ if (stmt instanceof UnknownSchemaNode) {
+ unknownNodesInit.add((UnknownSchemaNode) stmt);
+ }
+ }
+ unknownNodes = ImmutableList.copyOf(unknownNodesInit);
}
@Override
public final Status getStatus() {
return status;
}
+
+ @Override
+ public final ImmutableList<UnknownSchemaNode> getUnknownSchemaNodes() {
+ return unknownNodes;
+ }
}
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
@Beta
-//FIXME: 5.0.0: rename to AbstractEffectiveDocumentedNode
+// FIXME: 5.0.0: rename to AbstractEffectiveDocumentedNode
public abstract class AbstractEffectiveDocumentedNodeWithoutStatus<A, D extends DeclaredStatement<A>>
extends DeclaredEffectiveStatementBase<A, D> implements DocumentedNode {
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
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.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
private final ImmutableSet<Deviation> deviations;
private final ImmutableList<ExtensionDefinition> extensionNodes;
private final ImmutableSet<IdentitySchemaNode> identities;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final ImmutableMap<QName, DataSchemaNode> childNodes;
private final ImmutableSet<GroupingDefinition> groupings;
private final ImmutableSet<UsesNode> uses;
this.contact = findFirstEffectiveSubstatementArgument(ContactEffectiveStatement.class)
.orElse(null);
- final List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
final Set<AugmentationSchemaNode> augmentationsInit = new LinkedHashSet<>();
final Set<ModuleImport> importsInit = new HashSet<>();
final Set<NotificationDefinition> notificationsInit = new HashSet<>();
final Set<DataSchemaNode> mutablePublicChildNodes = new LinkedHashSet<>();
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- unknownNodesInit.add((UnknownSchemaNode) effectiveStatement);
- }
if (effectiveStatement instanceof AugmentationSchemaNode) {
augmentationsInit.add((AugmentationSchemaNode) effectiveStatement);
}
}
}
- this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
this.augmentations = ImmutableSet.copyOf(augmentationsInit);
this.imports = ImmutableSet.copyOf(importsInit);
this.notifications = ImmutableSet.copyOf(notificationsInit);
this.publicChildNodes = ImmutableSet.copyOf(mutablePublicChildNodes);
this.typeDefinitions = ImmutableSet.copyOf(mutableTypeDefinitions);
this.uses = ImmutableSet.copyOf(mutableUses);
-
}
@Override
return identities;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public final Set<TypeDefinition<?>> getTypeDefinitions() {
return typeDefinitions;
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
-import com.google.common.collect.ImmutableList;
-import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
public abstract class AbstractEffectiveSchemaNode<D extends DeclaredStatement<QName>> extends
AbstractSchemaEffectiveDocumentedNode<QName, D> implements SchemaNode {
private final @NonNull SchemaPath path;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
protected AbstractEffectiveSchemaNode(final StmtContext<QName, D, ?> ctx) {
super(ctx);
this.path = ctx.getSchemaPath().get();
-
- ImmutableList.Builder<UnknownSchemaNode> listBuilder = new ImmutableList.Builder<>();
- for (EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- listBuilder.add((UnknownSchemaNode) effectiveStatement);
- }
- }
- this.unknownNodes = listBuilder.build();
}
@Override
public final SchemaPath getPath() {
return path;
}
-
- @Override
- public final List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
}
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import java.util.ArrayList;
import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Optional;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement;
AbstractEffectiveDocumentedDataNodeContainer<QName, D> implements AugmentationTarget, DataSchemaNode {
private final ImmutableSet<AugmentationSchemaNode> augmentations;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final RevisionAwareXPath whenCondition;
private final @NonNull SchemaPath path;
private final boolean configuration;
// initSubstatementCollectionsAndFields
- List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
Set<AugmentationSchemaNode> augmentationsInit = new LinkedHashSet<>();
for (EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- unknownNodesInit.add((UnknownSchemaNode) effectiveStatement);
- }
if (effectiveStatement instanceof AugmentationSchemaNode) {
augmentationsInit.add((AugmentationSchemaNode) effectiveStatement);
}
}
- this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
this.augmentations = ImmutableSet.copyOf(augmentationsInit);
// initCopyType
return augmentations;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public final Optional<RevisionAwareXPath> getWhenCondition() {
return Optional.ofNullable(whenCondition);
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
private final boolean addedByAugmentation;
private final ExtensionDefinition extension;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final QName nodeType;
private final String nodeParameter;
}
nodeParameter = ctx.rawStatementArgument() == null ? "" : ctx.rawStatementArgument();
-
- // TODO init other fields (see Bug1412Test)
- final Builder<UnknownSchemaNode> builder = ImmutableList.builder();
- for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- builder.add((UnknownSchemaNode) effectiveStatement);
- }
- }
- unknownNodes = builder.build();
}
@Deprecated
return extension;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public String toString() {
final QName type = getNodeType();
import com.google.common.collect.ImmutableSet;
import java.net.URI;
import java.util.Collection;
-import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
private final Revision revision;
private final @NonNull ImmutableSet<ActionDefinition> actions;
private final @NonNull ImmutableSet<NotificationDefinition> notifications;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final RevisionAwareXPath whenCondition;
private final AugmentationSchemaNode copyOf;
actionsBuilder.add((ActionDefinition) effectiveStatement);
} else if (effectiveStatement instanceof NotificationDefinition) {
notificationsBuilder.add((NotificationDefinition) effectiveStatement);
- } else if (effectiveStatement instanceof UnknownSchemaNode) {
- listBuilder.add((UnknownSchemaNode) effectiveStatement);
}
}
this.actions = actionsBuilder.build();
this.notifications = notificationsBuilder.build();
- this.unknownNodes = listBuilder.build();
}
@Override
return Optional.ofNullable(whenCondition);
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public URI getNamespace() {
return namespace;
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.bit;
-import com.google.common.collect.ImmutableList;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Objects;
-import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement;
private final QName qname;
private final SchemaPath schemaPath;
private final Long declaredPosition;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownSchemaNodes;
BitEffectiveStatementImpl(final StmtContext<QName, BitStatement, ?> ctx) {
super(ctx);
qname = ctx.getStatementArgument();
schemaPath = ctx.getSchemaPath().get();
- final List<UnknownSchemaNode> unknownSchemaNodesInit = new ArrayList<>();
Long declaredPositionInit = null;
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
if (effectiveStatement instanceof PositionEffectiveStatement) {
declaredPositionInit = ((PositionEffectiveStatement) effectiveStatement).argument();
}
- if (effectiveStatement instanceof UnknownSchemaNode) {
- unknownSchemaNodesInit.add((UnknownSchemaNode) effectiveStatement);
- }
}
declaredPosition = declaredPositionInit;
- unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodesInit);
}
public Long getDeclaredPosition() {
return schemaPath;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownSchemaNodes;
- }
-
@Override
public int hashCode() {
final int prime = 31;
result = prime * result + qname.hashCode();
result = prime * result + schemaPath.hashCode();
result = prime * result + Objects.hashCode(declaredPosition);
- result = prime * result + Objects.hashCode(unknownSchemaNodes);
+ result = prime * result + getUnknownSchemaNodes().hashCode();
return result;
}
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_;
-import com.google.common.collect.ImmutableList;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement;
// FIXME: 5.0.0: hide this class
public final class EnumEffectiveStatementImpl extends AbstractEffectiveDocumentedNode<String, EnumStatement>
implements EnumEffectiveStatement {
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownSchemaNodes;
private final String name;
private final Integer declaredValue;
name = ctx.rawStatementArgument();
- final List<UnknownSchemaNode> unknownSchemaNodesInit = new ArrayList<>();
Integer declaredValueInit = null;
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
if (effectiveStatement instanceof ValueEffectiveStatement) {
declaredValueInit = ((ValueEffectiveStatement) effectiveStatement).argument();
}
- if (effectiveStatement instanceof UnknownSchemaNode) {
- unknownSchemaNodesInit.add((UnknownSchemaNode) effectiveStatement);
- }
}
declaredValue = declaredValueInit;
- unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodesInit);
}
public String getName() {
public Integer getDeclaredValue() {
return declaredValue;
}
-
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownSchemaNodes;
- }
}
\ No newline at end of file
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension;
-import com.google.common.collect.ImmutableList;
import java.util.ArrayDeque;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Deque;
-import java.util.List;
import java.util.Objects;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
private final @Nullable String argument;
private final @NonNull SchemaPath schemaPath;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final boolean yin;
private ExtensionEffectiveStatementImpl(
this.qname = ctx.coerceStatementArgument();
this.schemaPath = ctx.getSchemaPath().get();
- final List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
- for (EffectiveStatement<?, ?> unknownNode : effectiveSubstatements()) {
- if (unknownNode instanceof UnknownSchemaNode) {
- unknownNodesInit.add((UnknownSchemaNode) unknownNode);
- }
- }
- this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
-
// initFields
final Optional<ArgumentEffectiveStatement> optArgumentSubstatement = findFirstEffectiveSubstatement(
ArgumentEffectiveStatement.class);
return schemaPath;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public String getArgument() {
return argument;
+ "argument=" + argument
+ ", qname=" + qname
+ ", schemaPath=" + schemaPath
- + ", extensionSchemaNodes=" + unknownNodes
+ + ", extensionSchemaNodes=" + getUnknownSchemaNodes()
+ ", yin=" + yin
+ "]";
} finally {
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.grouping;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
private final boolean addedByUses;
private final @NonNull ImmutableSet<ActionDefinition> actions;
private final @NonNull ImmutableSet<NotificationDefinition> notifications;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
GroupingEffectiveStatementImpl(
final StmtContext<QName, GroupingStatement, EffectiveStatement<QName, GroupingStatement>> ctx) {
final ImmutableSet.Builder<ActionDefinition> actionsBuilder = ImmutableSet.builder();
final ImmutableSet.Builder<NotificationDefinition> notificationsBuilder = ImmutableSet.builder();
- final ImmutableList.Builder<UnknownSchemaNode> b = ImmutableList.builder();
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
if (effectiveStatement instanceof ActionDefinition) {
actionsBuilder.add((ActionDefinition) effectiveStatement);
}
-
if (effectiveStatement instanceof NotificationDefinition) {
notificationsBuilder.add((NotificationDefinition) effectiveStatement);
}
-
- if (effectiveStatement instanceof UnknownSchemaNode) {
- b.add((UnknownSchemaNode) effectiveStatement);
- }
}
this.actions = actionsBuilder.build();
this.notifications = notificationsBuilder.build();
- unknownNodes = b.build();
}
@Override
return notifications;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public int hashCode() {
final int prime = 31;
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.notification;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.model.api.MustDefinition;
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement;
private final @NonNull QName qname;
private final @NonNull SchemaPath path;
private final ImmutableSet<AugmentationSchemaNode> augmentations;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final boolean augmenting;
private final boolean addedByUses;
private final ImmutableSet<MustDefinition> mustConstraints;
this.path = ctx.getSchemaPath().get();
// initSubstatementCollections
- final List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
final Set<AugmentationSchemaNode> augmentationsInit = new LinkedHashSet<>();
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- final UnknownSchemaNode unknownNode = (UnknownSchemaNode) effectiveStatement;
- unknownNodesInit.add(unknownNode);
- }
if (effectiveStatement instanceof AugmentationSchemaNode) {
final AugmentationSchemaNode augmentationSchema = (AugmentationSchemaNode) effectiveStatement;
augmentationsInit.add(augmentationSchema);
}
}
- this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
this.augmentations = ImmutableSet.copyOf(augmentationsInit);
this.mustConstraints = ImmutableSet.copyOf(this.allSubstatementsOfType(MustDefinition.class));
return augmentations;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Deprecated
@Override
public boolean isAugmenting() {
import static com.google.common.base.Verify.verifyNotNull;
-import com.google.common.collect.ImmutableList;
-import java.util.List;
-import java.util.stream.Collectors;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
private final @NonNull QName qname;
private final @NonNull SchemaPath path;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final SchemaNode refineTargetNode;
RefineEffectiveStatementImpl(final StmtContext<SchemaNodeIdentifier, RefineStatement, ?> ctx) {
qname = verifyNotNull(ctx.coerceStatementArgument().getLastComponent());
path = ctx.getSchemaPath().get();
refineTargetNode = (SchemaNode) ctx.getEffectOfStatement().iterator().next().buildEffective();
-
- // initSubstatementCollectionsAndFields
- this.unknownNodes = ImmutableList.copyOf(effectiveSubstatements().stream()
- .filter(UnknownSchemaNode.class::isInstance)
- .map(UnknownSchemaNode.class::cast)
- .collect(Collectors.toList()));
}
public SchemaNode getRefineTargetNode() {
public SchemaPath getPath() {
return path;
}
-
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
}
\ No newline at end of file
*/
package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.uses;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
private final boolean addedByUses;
private final @NonNull ImmutableMap<SchemaPath, SchemaNode> refines;
private final @NonNull ImmutableSet<AugmentationSchemaNode> augmentations;
- private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
private final @Nullable RevisionAwareXPath whenCondition;
UsesEffectiveStatementImpl(final StmtContext<QName, UsesStatement, EffectiveStatement<QName, UsesStatement>> ctx) {
addedByUses = ctx.getCopyHistory().contains(CopyType.ADDED_BY_USES);
// initSubstatementCollections
- final List<UnknownSchemaNode> unknownNodesInit = new ArrayList<>();
final Set<AugmentationSchemaNode> augmentationsInit = new LinkedHashSet<>();
final Map<SchemaPath, SchemaNode> refinesInit = new HashMap<>();
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
- if (effectiveStatement instanceof UnknownSchemaNode) {
- final UnknownSchemaNode unknownNode = (UnknownSchemaNode) effectiveStatement;
- unknownNodesInit.add(unknownNode);
- }
if (effectiveStatement instanceof AugmentationSchemaNode) {
final AugmentationSchemaNode augmentationSchema = (AugmentationSchemaNode) effectiveStatement;
augmentationsInit.add(augmentationSchema);
refinesInit.put(identifier.asSchemaPath(), refineStmt.getRefineTargetNode());
}
}
- this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
this.augmentations = ImmutableSet.copyOf(augmentationsInit);
this.refines = ImmutableMap.copyOf(refinesInit);
return refines;
}
- @Override
- public List<UnknownSchemaNode> getUnknownSchemaNodes() {
- return unknownNodes;
- }
-
@Override
public Optional<RevisionAwareXPath> getWhenCondition() {
return Optional.ofNullable(whenCondition);