package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
import java.util.Objects;
+import javax.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.stmt.UnknownStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
-public final class UnknownEffectiveStatementImpl extends UnknownEffectiveStatementBase<String> {
+public final class UnknownEffectiveStatementImpl
+ extends UnknownEffectiveStatementBase<String, UnknownStatement<String>> {
private final QName maybeQNameArgument;
private final SchemaPath path;
super(ctx);
// FIXME: Remove following section after fixing 4380
- final UnknownSchemaNode original = ctx.getOriginalCtx() == null ? null : (UnknownSchemaNode) ctx
- .getOriginalCtx().buildEffective();
+ final UnknownSchemaNode original = (UnknownSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective)
+ .orElse(null);
if (original != null) {
this.maybeQNameArgument = original.getQName();
} else {
QName maybeQNameArgumentInit = null;
try {
- maybeQNameArgumentInit = Utils.qNameFromArgument(ctx, argument());
+ maybeQNameArgumentInit = StmtContextUtils.qnameFromArgument(ctx, argument());
} catch (IllegalArgumentException e) {
maybeQNameArgumentInit = getNodeType();
}
path = ctx.getParentContext().getSchemaPath().get().createChild(maybeQNameArgument);
}
+ @Nonnull
@Override
public QName getQName() {
return maybeQNameArgument;
}
+ @Nonnull
@Override
public SchemaPath getPath() {
return path;