DeclaredStatements can contain default implementations
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / uses / UsesStatementImpl.java
index b4fc5230ae8a19839fd0e999191d8fcec6e5b86b..1357a5754e05f4a23dc6ec8c7db8fb8ca54c51d2 100644 (file)
@@ -13,22 +13,15 @@ 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;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangVersion;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
-import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
 import org.opendaylight.yangtools.yang.parser.rfc7950.namespace.SchemaNodeIdentifierBuildNamespace;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement;
@@ -52,50 +45,6 @@ final class UsesStatementImpl extends AbstractDeclaredStatement<QName> implement
         super(context);
     }
 
-    @Nonnull
-    @Override
-    public QName getName() {
-        return argument();
-    }
-
-    @Override
-    public WhenStatement getWhenStatement() {
-        return firstDeclared(WhenStatement.class);
-    }
-
-    @Nonnull
-    @Override
-    public Collection<? extends IfFeatureStatement> getIfFeatures() {
-        return allDeclared(IfFeatureStatement.class);
-    }
-
-    @Override
-    public StatusStatement getStatus() {
-        return firstDeclared(StatusStatement.class);
-    }
-
-    @Override
-    public DescriptionStatement getDescription() {
-        return firstDeclared(DescriptionStatement.class);
-    }
-
-    @Override
-    public ReferenceStatement getReference() {
-        return firstDeclared(ReferenceStatement.class);
-    }
-
-    @Nonnull
-    @Override
-    public Collection<? extends AugmentStatement> getAugments() {
-        return allDeclared(AugmentStatement.class);
-    }
-
-    @Nonnull
-    @Override
-    public Collection<? extends RefineStatement> getRefines() {
-        return allDeclared(RefineStatement.class);
-    }
-
     /**
      * Copy statements from a grouping to a target node.
      *
@@ -161,14 +110,14 @@ final class UsesStatementImpl extends AbstractDeclaredStatement<QName> implement
     public static boolean needToCopyByUses(final StmtContext<?, ?, ?> stmtContext) {
         final StatementDefinition def = stmtContext.getPublicDefinition();
         if (REUSED_DEF_SET.contains(def)) {
-            LOG.debug("Will reuse {} statement {}", def, stmtContext);
+            LOG.trace("Will reuse {} statement {}", def, stmtContext);
             return false;
         }
         if (NOCOPY_FROM_GROUPING_SET.contains(def)) {
             return !YangStmtMapping.GROUPING.equals(stmtContext.getParentContext().getPublicDefinition());
         }
 
-        LOG.debug("Will copy {} statement {}", def, stmtContext);
+        LOG.trace("Will copy {} statement {}", def, stmtContext);
         return true;
     }
 
@@ -203,7 +152,7 @@ final class UsesStatementImpl extends AbstractDeclaredStatement<QName> implement
 
         final StmtContext<?, ?, ?> refineTargetNodeCtx = optRefineTargetCtx.get();
         if (StmtContextUtils.isUnknownStatement(refineTargetNodeCtx)) {
-            LOG.debug("Refine node '{}' in uses '{}' has target node unknown statement '{}'. "
+            LOG.trace("Refine node '{}' in uses '{}' has target node unknown statement '{}'. "
                 + "Refine has been skipped. At line: {}", subStmtCtx.getStatementArgument(),
                 subStmtCtx.getParentContext().getStatementArgument(),
                 refineTargetNodeCtx.getStatementArgument(), subStmtCtx.getStatementSourceReference());