Finish trivial conversions
[yangtools.git] / yang / rfc6643-parser-support / src / main / java / org / opendaylight / yangtools / rfc6643 / parser / OidStatementSupport.java
index 108fba0ad3379200b47c821f8e33d34034c85faf..df4f046e03d96b04a3df4849022f1bd79a7d37e0 100644 (file)
@@ -15,20 +15,21 @@ import org.opendaylight.yangtools.rfc6643.model.api.OidEffectiveStatement;
 import org.opendaylight.yangtools.rfc6643.model.api.OidStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
+import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 
 @Beta
 public final class OidStatementSupport
-        extends BaseStatementSupport<ObjectIdentifier, OidStatement, OidEffectiveStatement> {
+        extends AbstractStatementSupport<ObjectIdentifier, OidStatement, OidEffectiveStatement> {
     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR =
             SubstatementValidator.builder(IetfYangSmiv2ExtensionsMapping.OBJECT_ID).build();
     private static final OidStatementSupport INSTANCE = new OidStatementSupport();
 
     private OidStatementSupport() {
-        super(IetfYangSmiv2ExtensionsMapping.OBJECT_ID);
+        super(IetfYangSmiv2ExtensionsMapping.OBJECT_ID, StatementPolicy.contextIndependent());
     }
 
     public static OidStatementSupport getInstance() {
@@ -40,7 +41,7 @@ public final class OidStatementSupport
         try {
             return ObjectIdentifier.forString(value);
         } catch (IllegalArgumentException e) {
-            throw new SourceException(ctx.getStatementSourceReference(), e, "Invalid object identifier '%s'", value);
+            throw new SourceException(ctx, e, "Invalid object identifier '%s'", value);
         }
     }
 
@@ -52,7 +53,7 @@ public final class OidStatementSupport
     @Override
     protected OidStatement createDeclared(final StmtContext<ObjectIdentifier, OidStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new OidIdStatementImpl(ctx.coerceStatementArgument(), substatements);
+        return new OidIdStatementImpl(ctx.getArgument(), substatements);
     }
 
     @Override
@@ -61,15 +62,8 @@ public final class OidStatementSupport
     }
 
     @Override
-    protected OidEffectiveStatement createEffective(
-            final StmtContext<ObjectIdentifier, OidStatement, OidEffectiveStatement> ctx,
-            final OidStatement declared, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        return new OidEffectiveStatementImpl(declared, substatements, ctx);
-    }
-
-    @Override
-    protected OidEffectiveStatement createEmptyEffective(
-            final StmtContext<ObjectIdentifier, OidStatement, OidEffectiveStatement> ctx, final OidStatement declared) {
-        return createEffective(ctx, declared, ImmutableList.of());
+    protected OidEffectiveStatement createEffective(final Current<ObjectIdentifier, OidStatement> stmt,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        return new OidEffectiveStatementImpl(stmt, substatements);
     }
 }
\ No newline at end of file