*/
package org.opendaylight.yangtools.yang.model.api;
-import java.util.Optional;
import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
import org.opendaylight.yangtools.yang.model.api.stmt.AugmentEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
default SchemaNodeIdentifier getTargetPath() {
return asEffectiveStatement().argument();
}
-
- /**
- * Returns Augmentation Definition from which this augmentation is derived if augmentation was added transitively
- * via augmented uses.
- *
- * @return Augmentation Definition from which this augmentation is derived if augmentation was added transitively
- * via augmented uses.
- * @deprecated This method has only a single user, who should be able to do without it.
- */
- @Deprecated(since = "7.0.9", forRemoval = true)
- Optional<AugmentationSchemaNode> getOriginalDefinition();
}
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
public static AugmentEffectiveStatement createAugment(final AugmentStatement declared,
final SchemaNodeIdentifier argument, final int flags, final QNameModule rootModuleQName,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable AugmentationSchemaNode original) throws SubstatementIndexingException {
- return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements, original);
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
+ throws SubstatementIndexingException {
+ return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements);
}
public static BaseEffectiveStatement createBase(final BaseStatement declared,
import static java.util.Objects.requireNonNull;
import com.google.common.collect.ImmutableList;
-import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
ActionNodeContainerMixin<SchemaNodeIdentifier, AugmentStatement>,
NotificationNodeContainerMixin<SchemaNodeIdentifier, AugmentStatement>,
WhenConditionMixin<SchemaNodeIdentifier, AugmentStatement> {
- private final @Nullable AugmentationSchemaNode original;
private final @NonNull SchemaNodeIdentifier argument;
private final @NonNull QNameModule rootModuleQName;
private final int flags;
public AugmentEffectiveStatementImpl(final AugmentStatement declared, final SchemaNodeIdentifier argument,
final int flags, final QNameModule rootModuleQName,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable AugmentationSchemaNode original) {
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
super(declared, substatements);
this.argument = requireNonNull(argument);
this.rootModuleQName = requireNonNull(rootModuleQName);
this.flags = flags;
- this.original = original;
}
@Override
return argument;
}
- @Override
- @Deprecated(since = "7.0.9", forRemoval = true)
- public Optional<AugmentationSchemaNode> getOriginalDefinition() {
- return Optional.ofNullable(original);
- }
-
@Override
public int flags() {
return flags;
return delegate.getUses();
}
- @Override
- public Optional<AugmentationSchemaNode> getOriginalDefinition() {
- return delegate.getOriginalDefinition();
- }
-
@Override
public Collection<? extends ActionDefinition> getActions() {
return delegate.getActions();
return delegate.moduleName();
}
- @Override
- @Deprecated(forRemoval = true)
- public EffectiveStatement<?, ?> original() {
- return delegate.original();
- }
-
@Override
public QName argumentAsTypeQName() {
return delegate.argumentAsTypeQName();
return QName.create(StmtContextUtils.getRootModuleQName(root), root.getRawArgument());
}
- @Override
- @Deprecated(since = "7.0.9", forRemoval = true)
- public final EffectiveStatement<?, ?> original() {
- return getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
- }
-
//
// In the next two methods we are looking for an effective statement. If we already have an effective instance,
// defer to it's implementation of the equivalent search. Otherwise we search our substatement contexts.
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.List;
-import java.util.Objects;
import java.util.regex.Pattern;
import org.opendaylight.yangtools.yang.common.Empty;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
(copy, current, substatements) ->
copy.getArgument().equals(current.getArgument())
&& copy.moduleName().getModule().equals(current.moduleName().getModule())
- && Objects.equals(copy.original(), current.original())
), config, validator);
}
}
@Override
- @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST", justification = "Cast of original(), should be always safe")
protected final AugmentEffectiveStatement createEffective(
final Current<SchemaNodeIdentifier, AugmentStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
try {
return EffectiveStatements.createAugment(stmt.declared(), stmt.getArgument(), flags,
- stmt.moduleName().getModule(), substatements, (AugmentationSchemaNode) stmt.original());
+ stmt.moduleName().getModule(), substatements);
} catch (SubstatementIndexingException e) {
throw new SourceException(e.getMessage(), stmt, e);
}
* <li>{@link Current#argument()} does not change</li>
* <li>{@link Current#history()} does not change as far as {@link CopyableNode} is concerned</li>
* <li>{@link Current#effectiveConfig()} does not change</li>
- * <li>{@link Current#original()} does not change</li>
* </ul>
*
* <p>
@NonNull QName moduleName();
- @Deprecated(since = "7.0.9", forRemoval = true)
- @Nullable EffectiveStatement<?, ?> original();
-
// FIXME: 8.0.0: this method should be moved to stmt.type in some shape or form
@NonNull QName argumentAsTypeQName();