import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import java.net.URI;
-import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
+import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.NamespaceRevisionAware;
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
public final class AugmentEffectiveStatementImpl
extends AbstractEffectiveDocumentedDataNodeContainer<SchemaNodeIdentifier, AugmentStatement>
- implements AugmentationSchema, NamespaceRevisionAware {
+ implements AugmentationSchemaNode, NamespaceRevisionAware {
private final SchemaPath targetPath;
private final URI namespace;
- private final Date revision;
+ private final Revision revision;
private final Set<ActionDefinition> actions;
private final Set<NotificationDefinition> notifications;
private final List<UnknownSchemaNode> unknownNodes;
private final RevisionAwareXPath whenCondition;
- private final AugmentationSchema copyOf;
+ private final AugmentationSchemaNode copyOf;
public AugmentEffectiveStatementImpl(final StmtContext<SchemaNodeIdentifier, AugmentStatement,
EffectiveStatement<SchemaNodeIdentifier, AugmentStatement>> ctx) {
final QNameModule rootModuleQName = StmtContextUtils.getRootModuleQName(ctx);
this.namespace = rootModuleQName.getNamespace();
- this.revision = rootModuleQName.getRevision();
+ this.revision = rootModuleQName.getRevision().orElse(null);
- this.copyOf = (AugmentationSchema) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
+ this.copyOf = (AugmentationSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final WhenEffectiveStatementImpl whenStmt = firstEffective(WhenEffectiveStatementImpl.class);
this.whenCondition = whenStmt == null ? null : whenStmt.argument();
}
@Override
- public Optional<AugmentationSchema> getOriginalDefinition() {
+ public Optional<AugmentationSchemaNode> getOriginalDefinition() {
return Optional.ofNullable(this.copyOf);
}
}
@Override
- public RevisionAwareXPath getWhenCondition() {
- return whenCondition;
+ public Optional<RevisionAwareXPath> getWhenCondition() {
+ return Optional.ofNullable(whenCondition);
}
@Nonnull
}
@Override
- public Date getRevision() {
- return revision;
+ public Optional<Revision> getRevision() {
+ return Optional.ofNullable(revision);
}
@Override