Revert "Add OnDemandSchemaTreeStorageNode" 62/93462/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 29 Oct 2020 11:54:51 +0000 (12:54 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 29 Oct 2020 11:56:20 +0000 (12:56 +0100)
This reverts commit 81aa05143b9cdc4cea1bf39dad0ae937525f40e5, as it
is miss-filed.

JIRA: YANGTOOLS-874
Change-Id: I68b8ad39af88a100dc8c97b148426025bbb4edc6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/ChildSchemaNodeNamespace.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java

index b8a7e5172408636857ae38899c699a4016b8aae6..74a33a86f81f130a7429f3b817d09e046455ae70 100644 (file)
@@ -28,8 +28,9 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
  */
 @Beta
 public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>, E extends EffectiveStatement<QName, D>>
-        extends NamespaceBehaviour<QName, StmtContext<?, D, E>, ChildSchemaNodeNamespace<D, E>>
-        implements StatementNamespace<QName, D, E> {
+    extends NamespaceBehaviour<QName, StmtContext<?, D, E>, ChildSchemaNodeNamespace<D, E>>
+    implements StatementNamespace<QName, D, E> {
+
     public ChildSchemaNodeNamespace() {
         super((Class) ChildSchemaNodeNamespace.class);
     }
@@ -42,19 +43,7 @@ public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>,
 
     @Override
     public StmtContext<?, D, E> getFrom(final NamespaceStorageNode storage, final QName key) {
-        // Get the backing storage node for the requested storage
-        final NamespaceStorageNode storageNode = globalOrStatementSpecific(storage);
-        // Check try to look up existing node
-        final StmtContext<?, D, E> existing = storageNode.getFromLocalStorage(getIdentifier(), key);
-
-        // An existing node takes precedence, if it does not exist try to request it
-        return existing != null ? existing : requestFrom(storageNode, key);
-    }
-
-    private static <D extends DeclaredStatement<QName>, E extends EffectiveStatement<QName, D>>
-            StmtContext<?, D, E> requestFrom(final NamespaceStorageNode storageNode, final QName key) {
-        return storageNode instanceof OnDemandSchemaTreeStorageNode
-            ? ((OnDemandSchemaTreeStorageNode) storageNode).requestSchemaTreeChild(key) : null;
+        return globalOrStatementSpecific(storage).getFromLocalStorage(getIdentifier(), key);
     }
 
     @Override
index 2998f19b0b15a9f3b9415e9c82d0f66590763778..ade7c48e5083688264ce64ae1ada1c7a7d2faf64 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.spi.meta;
 
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Verify;
 import java.util.Map;
@@ -18,9 +17,6 @@ import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.AbstractIdentifiable;
-import org.opendaylight.yangtools.yang.common.QName;
-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.meta.IdentifierNamespace;
 
 /**
@@ -111,30 +107,6 @@ public abstract class NamespaceBehaviour<K, V, N extends IdentifierNamespace<K,
                 V value);
     }
 
-    /**
-     * Interface implemented by {@link NamespaceStorageNode}s which support dynamic addition of child elements as they
-     * are requested. This means that such a node can, defer creation of child namespace storage nodes, in effect lazily
-     * expanding this namespace on an if-needed basis.
-     */
-    @Beta
-    public interface OnDemandSchemaTreeStorageNode extends NamespaceStorageNode {
-        /**
-         * Request that a new member of this node's schema tree statement be added. Implementations are required to
-         * perform lookup in their internal structure and create a child if tracktable. Resulting node is expected to
-         * have been registered with local storage, so that it is accessible through
-         * {@link #getFromLocalStorage(Class, Object)}.
-         *
-         * <p>
-         * This method must not change its mind about a child's presence -- once it returns non-present, it has to be
-         * always returning non-present.
-         *
-         * @param qname node identifier of the child being requested
-         * @return Requested child, if it is present.
-         */
-        <D extends DeclaredStatement<QName>, E extends EffectiveStatement<QName, D>>
-            @Nullable StmtContext<QName, D, E> requestSchemaTreeChild(QName qname);
-    }
-
     protected NamespaceBehaviour(final Class<N> identifier) {
         super(identifier);
     }