BUG-5717: eliminate StmtContext.substatements() 05/48205/8
authorRobert Varga <rovarga@cisco.com>
Thu, 10 Nov 2016 12:49:36 +0000 (13:49 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 11 Nov 2016 13:31:06 +0000 (13:31 +0000)
There is a single caller, which really wants to get
the declared belongs-to statement.

Convert the caller and eliminate the method, making
StatementContextBase.substatements a purely-local
collection lending itself to refactoring.

Change-Id: I980c255eb426558a6a535683ccc8179082919c37
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Utils.java

index 2bd24600ae3b72a35bc59d3a89d68975c7d00266..593969cc78a187020c5bcb9d566ffe42bf93203d 100644 (file)
@@ -84,8 +84,6 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
     @Nonnull
     Collection<StatementContextBase<?, ?, ?>> effectiveSubstatements();
 
-    Collection<StatementContextBase<?, ?, ?>> substatements();
-
     D buildDeclared();
 
     E buildEffective();
index 36ab6a2ad666b80ee7efbe6c1a31aaaa7f9127df..9d27131c64a26710eefd083242c6d90e6332af40 100644 (file)
@@ -22,8 +22,8 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.EnumMap;
 import java.util.EventListener;
+import java.util.HashMap;
 import java.util.Iterator;
-import java.util.LinkedHashMap;
 import java.util.Map;
 import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.concepts.Identifiable;
@@ -69,7 +69,7 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
             if (potential == null) {
                 potential = new SubstatementContext(StatementContextBase.this, this);
                 if (substatements.isEmpty()) {
-                    substatements = new LinkedHashMap<>(1);
+                    substatements = new HashMap<>(1);
                 }
                 substatements.put(createIdentifier(), potential);
                 getDefinition().onStatementAdded(potential);
@@ -293,14 +293,6 @@ public abstract class StatementContextBase<A, D extends DeclaredStatement<A>, E
         return maybeWrap(declared);
     }
 
-    /**
-     * @return collection of all substatements
-     */
-    @Override
-    public Collection<StatementContextBase<?, ?, ?>> substatements() {
-        return maybeWrap(substatements.values());
-    }
-
     @Override
     public Collection<StatementContextBase<?, ?, ?>> effectiveSubstatements() {
         return maybeWrap(effective);
index 10d5e09e10aafdece4d18e2b4ac2c9d5ae3f16f7..716a48fa9a391ecad6cb3e51f4dfd60147900e59 100644 (file)
@@ -555,7 +555,8 @@ public final class Utils {
         if (StmtContextUtils.producesDeclared(rootCtx, ModuleStatement.class)) {
             qNameModule = rootCtx.getFromNamespace(ModuleCtxToModuleQName.class, rootCtx);
         } else if (StmtContextUtils.producesDeclared(rootCtx, SubmoduleStatement.class)) {
-            final String belongsToModuleName = firstAttributeOf(rootCtx.substatements(), BelongsToStatement.class);
+            final String belongsToModuleName = firstAttributeOf(rootCtx.declaredSubstatements(),
+                BelongsToStatement.class);
             qNameModule = rootCtx.getFromNamespace(ModuleNameToModuleQName.class, belongsToModuleName);
         } else {
             qNameModule = null;