*/
package org.opendaylight.yangtools.yang.parser.spi.meta;
-import com.google.common.base.Optional;
import java.util.Collection;
import java.util.Map;
+import java.util.Optional;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QNameModule;
/**
* Return the {@link SchemaPath} of this statement. Not all statements have a SchemaPath, in which case
- * {@link Optional#absent()} is returned.
+ * {@link Optional#empty()} is returned.
*
* @return Optional SchemaPath
*/
boolean isSupportedByFeatures();
- StmtContext<?, ?, ?> getOriginalCtx();
+ Optional<StmtContext<?, ?, ?>> getOriginalCtx();
int getOrder();
}
if (qNameModule == null
&& ctx.getCopyHistory().getLastOperation() == CopyType.ADDED_BY_AUGMENTATION) {
- ctx = ctx.getOriginalCtx();
+ ctx = ctx.getOriginalCtx().orElse(null);
qNameModule = StmtContextUtils.getModuleQNameByPrefix(ctx, prefix);
}
break;
*/
package org.opendaylight.yangtools.yang.parser.stmt.reactor;
-import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Verify;
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
+import java.util.Optional;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QNameModule;
original.getStatementSourceReference());
this.rawArgument = original.rawArgument;
this.copyHistory = CopyHistory.of(copyType, original.getCopyHistory());
-
- if (original.getOriginalCtx() != null) {
- this.originalCtx = original.getOriginalCtx();
- } else {
- this.originalCtx = original;
- }
+ this.originalCtx = original.getOriginalCtx().orElse(original);
}
@Override
}
@Override
- public StmtContext<?, ?, ?> getOriginalCtx() {
- return originalCtx;
+ public Optional<StmtContext<?, ?, ?>> getOriginalCtx() {
+ return Optional.ofNullable(originalCtx);
}
@Override
final Optional<StatementContextBase<?, ?, ?>> implicitStatement = definition.beforeSubStatementCreated(this,
offset, def, ref, argument);
- if(implicitStatement.isPresent()) {
- final StatementContextBase<?, ?, ?> presentImplicitStmt = implicitStatement.get();
- return presentImplicitStmt.createSubstatement(offset, def, ref, argument);
+ if (implicitStatement.isPresent()) {
+ return implicitStatement.get().createSubstatement(offset, def, ref, argument);
}
final StatementContextBase<CA, CD, CE> ret = new SubstatementContext<>(this, def, ref, argument);
*/
package org.opendaylight.yangtools.yang.parser.stmt.reactor;
-import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Verify;
import com.google.common.collect.ImmutableSet;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Optional;
import java.util.Set;
import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
if (argument instanceof QName) {
final QName qname = (QName) argument;
if (StmtContextUtils.producesDeclared(this, UsesStatement.class)) {
- return maybeParentPath.orNull();
+ return maybeParentPath.orElse(null);
}
final SchemaPath path;
}
if (argument instanceof String) {
// FIXME: This may yield illegal argument exceptions
- final StmtContext<?, ?, ?> originalCtx = getOriginalCtx();
- final QName qname = originalCtx != null ? StmtContextUtils.qnameFromArgument(originalCtx, (String) argument)
- : StmtContextUtils.qnameFromArgument(this, (String) argument);
+ final Optional<StmtContext<?, ?, ?>> originalCtx = getOriginalCtx();
+ final QName qname = StmtContextUtils.qnameFromArgument(originalCtx.orElse(this), (String) argument);
return parentPath.createChild(qname);
}
if (argument instanceof SchemaNodeIdentifier
- && (StmtContextUtils.producesDeclared(this, AugmentStatement.class) || StmtContextUtils
- .producesDeclared(this, RefineStatement.class) || StmtContextUtils
- .producesDeclared(this, DeviationStatement.class))) {
+ && (StmtContextUtils.producesDeclared(this, AugmentStatement.class)
+ || StmtContextUtils.producesDeclared(this, RefineStatement.class)
+ || StmtContextUtils.producesDeclared(this, DeviationStatement.class))) {
return parentPath.createChild(((SchemaNodeIdentifier) argument).getPathFromRoot());
}
// FIXME: this does not look right
- return maybeParentPath.orNull();
+ return maybeParentPath.orElse(null);
}
@Nonnull
}
- return Optional.fromNullable(local);
+ return Optional.ofNullable(local);
}
@Override
public AnyXmlEffectiveStatementImpl(
final StmtContext<QName, AnyxmlStatement, EffectiveStatement<QName, AnyxmlStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (AnyXmlSchemaNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (AnyXmlSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
}
@Override
this.revision = rootModuleQName.getRevision();
this.order = ctx.getOrder();
- this.copyOf = ctx.getOriginalCtx() == null ? null : (AugmentationSchema) ctx.getOriginalCtx().buildEffective();
+ this.copyOf = (AugmentationSchema) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final WhenEffectiveStatementImpl whenStmt = firstEffective(WhenEffectiveStatementImpl.class);
this.whenCondition = whenStmt == null ? null : whenStmt.argument();
public CaseEffectiveStatementImpl(
final StmtContext<QName, CaseStatement, EffectiveStatement<QName, CaseStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (ChoiceCaseNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (ChoiceCaseNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
if (ctx.isConfiguration()) {
configuration = isAtLeastOneChildConfiguration(ctx.declaredSubstatements())
public ChoiceEffectiveStatementImpl(
final StmtContext<QName, ChoiceStatement, EffectiveStatement<QName, ChoiceStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (ChoiceSchemaNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (ChoiceSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final DefaultEffectiveStatementImpl defaultStmt = firstEffective(DefaultEffectiveStatementImpl.class);
this.defaultCase = defaultStmt == null ? null : defaultStmt.argument();
public ContainerEffectiveStatementImpl(
final StmtContext<QName, ContainerStatement, EffectiveStatement<QName, ContainerStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (ContainerSchemaNode) ctx.getOriginalCtx()
- .buildEffective();
+ this.original = (ContainerSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final ImmutableSet.Builder<ActionDefinition> actionsBuilder = ImmutableSet.builder();
final Builder<NotificationDefinition> notificationsBuilder = ImmutableSet.builder();
for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase;
public abstract class DeclaredEffectiveStatementBase<A, D extends DeclaredStatement<A>> extends
EffectiveStatementBase<A, D> {
* @param ctx
* context of statement.
*/
- protected DeclaredEffectiveStatementBase(StmtContext<A, D, ?> ctx) {
+ protected DeclaredEffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
super(ctx);
this.argument = ctx.getStatementArgument();
* declared statement.
*/
@SuppressWarnings("unchecked")
- final StatementContextBase<A, D, ?> originalCtx = (StatementContextBase<A, D, ?>) ctx.getOriginalCtx();
- if (originalCtx != null) {
- ctx = originalCtx;
- }
- declaredInstance = Verify.verifyNotNull(ctx.buildDeclared(), "Statement %s failed to build declared statement",
- ctx);
+ final StmtContext<?, D, ?> lookupCtx = (StmtContext<?, D, ?>) ctx.getOriginalCtx().orElse(ctx);
+ declaredInstance = Verify.verifyNotNull(lookupCtx.buildDeclared(),
+ "Statement %s failed to build declared statement", lookupCtx);
}
@Nonnull
public LeafEffectiveStatementImpl(final StmtContext<QName, LeafStatement, EffectiveStatement<QName, LeafStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (LeafSchemaNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (LeafSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final TypeEffectiveStatement<?> typeStmt = SourceException.throwIfNull(
firstSubstatementOfType(TypeEffectiveStatement.class), ctx.getStatementSourceReference(),
public LeafListEffectiveStatementImpl(
final StmtContext<QName, LeafListStatement, EffectiveStatement<QName, LeafListStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (LeafListSchemaNode) ctx.getOriginalCtx()
- .buildEffective();
+ this.original = (LeafListSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final TypeEffectiveStatement<?> typeStmt = SourceException.throwIfNull(
firstSubstatementOfType(TypeEffectiveStatement.class), ctx.getStatementSourceReference(),
final StmtContext<QName, ListStatement, EffectiveStatement<QName, ListStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (ListSchemaNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (ListSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
final OrderedByEffectiveStatementImpl orderedByStmt = firstEffective(OrderedByEffectiveStatementImpl.class);
if (orderedByStmt != null && ORDER_BY_USER_KEYWORD.equals(orderedByStmt.argument())) {
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 {
public AnyDataEffectiveStatementImpl(
final StmtContext<QName, AnydataStatement, EffectiveStatement<QName, AnydataStatement>> ctx) {
super(ctx);
- this.original = ctx.getOriginalCtx() == null ? null : (AnyDataSchemaNode) ctx.getOriginalCtx().buildEffective();
+ this.original = (AnyDataSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective).orElse(null);
/*
* :TODO we need to determine a way how to set schema of AnyData
*/