import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace;
+import org.opendaylight.yangtools.yang.parser.spi.meta.CopyHistory;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.TypeOfCopy;
+import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
public abstract class UnknownEffectiveStatementBase<A> extends AbstractEffectiveDocumentedNode<A, UnknownStatement<A>>
implements UnknownSchemaNode {
nodeType = ctx.getPublicDefinition().getArgumentName();
} else {
extension = (ExtensionEffectiveStatementImpl) extensionInit.buildEffective();
- nodeType = extension.getQName();
+ nodeType = null;
}
// initCopyType
- List<TypeOfCopy> copyTypesFromOriginal = ctx.getCopyHistory();
- if (copyTypesFromOriginal.contains(TypeOfCopy.ADDED_BY_USES_AUGMENTATION)) {
+ final CopyHistory copyTypesFromOriginal = ctx.getCopyHistory();
+ if (copyTypesFromOriginal.contains(CopyType.ADDED_BY_USES_AUGMENTATION)) {
this.addedByUses = this.addedByAugmentation = true;
} else {
- this.addedByAugmentation = copyTypesFromOriginal.contains(TypeOfCopy.ADDED_BY_AUGMENTATION);
- this.addedByUses = copyTypesFromOriginal.contains(TypeOfCopy.ADDED_BY_USES);
+ this.addedByAugmentation = copyTypesFromOriginal.contains(CopyType.ADDED_BY_AUGMENTATION);
+ this.addedByUses = copyTypesFromOriginal.contains(CopyType.ADDED_BY_USES);
}
nodeParameter = (ctx.rawStatementArgument() == null) ? "" : ctx.rawStatementArgument();
@Override
public QName getNodeType() {
- return nodeType;
+ return extension == null ? nodeType : extension.getQName();
}
@Override
@Override
public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append(nodeType.getNamespace());
- sb.append(":");
- sb.append(nodeType.getLocalName());
- sb.append(" ");
- sb.append(nodeParameter);
- return sb.toString();
- }
+ final QName type = getNodeType();
+ return String.valueOf(type.getNamespace()) +
+ ":" + type.getLocalName() + " " + nodeParameter;
+ }
}