Retain DeclarationReference in DeclaredStatements
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / meta / StatusStatementSupport.java
index 7807ccc23bb61ba00407789cf4985b1aac297956..7e05b87a8b4fbfaf268a6777615471524803cef6 100644 (file)
@@ -10,10 +10,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.meta;
 import com.google.common.collect.ImmutableList;
 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;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
+import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators;
 import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
@@ -26,14 +29,9 @@ public final class StatusStatementSupport
         extends AbstractStatementSupport<Status, StatusStatement, StatusEffectiveStatement> {
     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR =
         SubstatementValidator.builder(YangStmtMapping.STATUS).build();
-    private static final StatusStatementSupport INSTANCE = new StatusStatementSupport();
 
-    private StatusStatementSupport() {
-        super(YangStmtMapping.STATUS, StatementPolicy.contextIndependent());
-    }
-
-    public static StatusStatementSupport getInstance() {
-        return INSTANCE;
+    public StatusStatementSupport(final YangParserConfiguration config) {
+        super(YangStmtMapping.STATUS, StatementPolicy.contextIndependent(), config);
     }
 
     @Override
@@ -76,8 +74,9 @@ public final class StatusStatementSupport
     }
 
     @Override
-    protected StatusStatement createEmptyDeclared(final StmtContext<Status, StatusStatement, ?> ctx) {
-        return DeclaredStatements.createStatus(ctx.getArgument());
+    protected StatusStatement attachDeclarationReference(final StatusStatement stmt,
+            final DeclarationReference reference) {
+        return DeclaredStatementDecorators.decorateStatus(stmt, reference);
     }
 
     @Override