import java.util.Map;
import java.util.Optional;
+import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationEffectiveStatement;
import org.opendaylight.yangtools.odlext.model.api.AnyxmlSchemaLocationStatement;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
-import org.opendaylight.yangtools.yang.parser.rfc7950.namespace.SchemaNodeIdentifierBuildNamespace;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.anyxml.AnyxmlStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.ForwardingStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
extends ForwardingStatementSupport<QName, AnyxmlStatement, AnyxmlEffectiveStatement> {
private static final AnyxmlStatementSupportOverride INSTANCE = new AnyxmlStatementSupportOverride();
- private final StatementSupport<QName, AnyxmlStatement, AnyxmlEffectiveStatement> delegate =
- new AnyxmlStatementSupport();
-
private AnyxmlStatementSupportOverride() {
}
@Override
protected StatementSupport<QName, AnyxmlStatement, AnyxmlEffectiveStatement> delegate() {
- return delegate;
+ return AnyxmlStatementSupport.getInstance();
}
@Override
public Class<? extends EffectiveStatement<?, ?>> getEffectiveRepresentationClass() {
// FIXME: this is not entirely accurate?
- return delegate.getEffectiveRepresentationClass();
+ return delegate().getEffectiveRepresentationClass();
}
@Override
public AnyxmlEffectiveStatement createEffective(
final StmtContext<QName, AnyxmlStatement, AnyxmlEffectiveStatement> ctx) {
- final AnyxmlEffectiveStatement delegateStatement = delegate.createEffective(ctx);
+ final AnyxmlEffectiveStatement delegateStatement = delegate().createEffective(ctx);
final Map<StatementDefinition, Mutable<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement,
- EffectiveStatement<SchemaNodeIdentifier, AnyxmlSchemaLocationStatement>>> schemaLocations =
+ AnyxmlSchemaLocationEffectiveStatement>> schemaLocations =
ctx.getAllFromCurrentStmtCtxNamespace(AnyxmlSchemaLocationNamespace.class);
if (schemaLocations != null && !schemaLocations.isEmpty()) {
final SchemaNodeIdentifier anyXmlSchemaNodeIdentifier = schemaLocations.values().iterator().next()
private static Optional<ContainerSchemaNode> getAnyXmlSchema(
final StmtContext<QName, AnyxmlStatement, AnyxmlEffectiveStatement> ctx,
final SchemaNodeIdentifier contentSchemaPath) {
- return SchemaNodeIdentifierBuildNamespace.findNode(ctx.getRoot(), contentSchemaPath)
+ return SchemaTreeNamespace.findNode(ctx.getRoot(), contentSchemaPath)
.map(StmtContext::buildEffective)
.filter(ContainerSchemaNode.class::isInstance).map(ContainerSchemaNode.class::cast);
}