<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<plugin>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-maven-plugin</artifactId>
- <version>9.0.1</version>
+ <version>10.0.0</version>
<dependencies>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item;
import org.opendaylight.yangtools.yang.binding.OpaqueObject;
+import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
// declaration site
final var possibleChildren = augment.statement()
.streamEffectiveSubstatements(SchemaTreeEffectiveStatement.class)
- .map(SchemaTreeEffectiveStatement::getIdentifier)
+ .map(stmt -> (QName) stmt.argument())
.collect(ImmutableSet.toImmutableSet());
if (possibleChildren.isEmpty()) {
return null;
final Map map = new HashMap<>();
for (final NormalizedNode childValue : data.body()) {
- if (childValue instanceof AugmentationNode) {
- final AugmentationNode augDomNode = (AugmentationNode) childValue;
+ if (childValue instanceof AugmentationNode augDomNode) {
final DataContainerCodecPrototype<?> codecProto = augmentationByYang.get(augDomNode.getIdentifier());
if (codecProto != null) {
final DataContainerCodecContext<?, ?> codec = codecProto.get();
import org.opendaylight.yangtools.yang.model.api.stmt.AugmentEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement.SchemaTreeNamespace;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
final var stmts = augment.effectiveSubstatements();
final var builder = ImmutableList.<EffectiveStatement<?, ?>>builderWithExpectedSize(stmts.size());
for (var child : stmts) {
- if (child instanceof SchemaTreeEffectiveStatement) {
- final var qname = ((SchemaTreeEffectiveStatement<?>) child).getIdentifier();
+ if (child instanceof SchemaTreeEffectiveStatement<?> schemaTreeChild) {
+ final var qname = schemaTreeChild.argument();
// Note: a match in target may be missing -- for example if it was 'deviate unsupported'
- target.get(SchemaTreeNamespace.class, transform.apply(qname)).ifPresent(builder::add);
+ target.findSchemaTreeNode(transform.apply(qname)).ifPresent(builder::add);
} else {
builder.add(child);
}
@Override
final void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterDataTree(statement().getIdentifier());
+ dataTree.enterDataTree(statement().argument());
}
@Override
// such in the schema tree.
//
// That is in general -- 'choice' statements are doing their own thing separately.
- if (!isAugmentedChild(child.getIdentifier())) {
+ if (!isAugmentedChild(child.argument())) {
final var childGen = verifyNotNull(findChildGenerator(generator, child.argument().getLocalName()),
"Cannot find child for %s in %s", child, generator);
final var childRuntimeType = childGen.createInternalRuntimeType(resolver, child);
@Override
void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterDataTree(statement().getIdentifier());
+ dataTree.enterDataTree(statement().argument());
}
@Override
@Override
void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterDataTree(statement().getIdentifier());
+ dataTree.enterDataTree(statement().argument());
}
@Override
@Override
void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterSchemaTree(statement().getIdentifier());
+ dataTree.enterSchemaTree(statement().argument());
}
@Override
@Override
void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterDataTree(statement().getIdentifier());
+ dataTree.enterDataTree(statement().argument());
}
@Override
@Override
final void pushToInference(final SchemaInferenceStack dataTree) {
- dataTree.enterSchemaTree(statement().getIdentifier());
+ dataTree.enterSchemaTree(statement().argument());
}
@Override
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin;
import org.opendaylight.yangtools.yang.model.api.stmt.AugmentEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
final class TargetAugmentEffectiveStatement implements AugmentEffectiveStatement, AugmentationSchemaNode {
}
@Override
- public <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace, final K identifier) {
- return Optional.empty();
+ public List<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
+ return substatements;
}
@Override
- public <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
- return Map.of();
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public Collection<SchemaTreeEffectiveStatement<?>> schemaTreeNodes() {
+ return (Collection) collectEffectiveSubstatements(SchemaTreeEffectiveStatement.class);
}
@Override
- public List<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
- return substatements;
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public Optional<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode(final QName qname) {
+ return (Optional) streamEffectiveSubstatements(SchemaTreeEffectiveStatement.class)
+ .filter(stmt -> qname.equals(stmt.argument()))
+ .findAny();
}
@Override
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<link>https://google.github.io/guava/releases/31.1-jre/api/docs/</link>
<link>https://commons.apache.org/proper/commons-lang/javadocs/api-release/</link>
- <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/11.0.1/</link>
- <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/9.0.1/</link>
+ <link>https://www.javadoc.io/doc/org.opendaylight.odlparent/odlparent-docs/12.0.0/</link>
+ <link>https://www.javadoc.io/doc/org.opendaylight.yangtools/yangtools-docs/10.0.0/</link>
</links>
<groups>
<group>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bundle-parent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yangtools-artifacts</artifactId>
- <version>9.0.1</version>
+ <version>10.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yangtools-artifacts</artifactId>
- <version>9.0.1</version>
+ <version>10.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-binding-api">
<feature name="odl-mdsal-binding-api">
- <feature version="[9,10)">odl-yangtools-data-api</feature>
+ <feature version="[10,11)">odl-yangtools-data-api</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-binding-base">
<feature name="odl-mdsal-binding-base">
- <feature version="[9,10)">odl-yangtools-common</feature>
+ <feature version="[10,11)">odl-yangtools-common</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-runtime-api">
<feature name="odl-mdsal-binding-runtime-api">
- <feature version="[9,10)">odl-yangtools-data</feature>
- <feature version="[9,10)">odl-yangtools-parser</feature>
+ <feature version="[10,11)">odl-yangtools-data</feature>
+ <feature version="[10,11)">odl-yangtools-parser</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-common">
<feature name="odl-mdsal-common">
- <feature version="[9,10)">odl-yangtools-common</feature>
+ <feature version="[10,11)">odl-yangtools-common</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-dom-api">
<feature name="odl-mdsal-dom-api">
- <feature version="[9,10)">odl-yangtools-data-api</feature>
+ <feature version="[10,11)">odl-yangtools-data-api</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-eos-common">
<feature name="odl-mdsal-eos-common">
- <feature version="[9,10)">odl-yangtools-data-api</feature>
+ <feature version="[10,11)">odl-yangtools-data-api</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-exp-yanglib-api">
<feature name="odl-mdsal-exp-yanglib-api">
- <feature version="[9,10)">odl-yangtools-data-api</feature>
+ <feature version="[10,11)">odl-yangtools-data-api</feature>
</feature>
</features>
<configfile finalname="etc/org.opendaylight.mdsal.replicate.netty.sink.cfg">mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/sink</configfile>
<configfile finalname="etc/org.opendaylight.mdsal.replicate.netty.source.cfg">mvn:org.opendaylight.mdsal/mdsal-replicate-netty/${project.version}/config/source</configfile>
<feature version="[11,12)">odl-netty-4</feature>
- <feature version="[9,10)">odl-yangtools-codec</feature>
+ <feature version="[10,11)">odl-yangtools-codec</feature>
</feature>
</features>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-mdsal-uint24-netty">
<feature name="odl-mdsal-uint24-netty">
- <feature version="[9,10)">odl-yangtools-netty</feature>
+ <feature version="[10,11)">odl-yangtools-netty</feature>
</feature>
</features>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>11.0.1</version>
+ <version>12.0.0</version>
<relativePath/>
</parent>