Split out yang-data-spi 35/95235/8
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 19 Feb 2021 13:15:11 +0000 (14:15 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 19 Feb 2021 19:07:26 +0000 (20:07 +0100)
We have some SPI contracts lurking in yang-data-api as well as
some a reusable baseline AbstractNormalizedNode in yang-data-impl.

Instantiate yang-data-spi to host these kinds of classes, allowing
a more ready reuse.

JIRA: YANGTOOLS-1257
Change-Id: I6a650d2f7df9a9e8621452cfbbe42be4d54834ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
63 files changed:
artifacts/pom.xml
data/pom.xml [new file with mode: 0644]
data/yang-data-spi/pom.xml [new file with mode: 0644]
data/yang-data-spi/src/main/java/module-info.java [new file with mode: 0644]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/node/AbstractNormalizedNode.java [moved from yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedNode.java with 63% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java with 96% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractModifiedContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractModifiedContainerNode.java with 96% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractMutableContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractMutableContainerNode.java with 98% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractTreeNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java with 96% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/LazyContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java with 97% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/LazyMutableContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyMutableContainerNode.java with 95% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/MaterializedContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedContainerNode.java with 94% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/MaterializedMutableContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedMutableContainerNode.java with 92% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/MutableTreeNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MutableTreeNode.java with 97% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/SimpleContainerNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java with 95% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNode.java with 97% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNodeFactory.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java with 95% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/ValueNode.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java with 96% similarity]
data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/Version.java [moved from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/Version.java with 93% similarity]
data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/DuplicityTest.java [moved from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/DuplicityTest.java with 95% similarity]
data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNodeFactoryTest.java [moved from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactoryTest.java with 96% similarity]
data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/VersionTest.java [moved from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/VersionTest.java with 93% similarity]
features/odl-yangtools-data-api/pom.xml
features/pom.xml
pom.xml
yang/yang-data-api/src/main/java/module-info.java
yang/yang-data-impl/pom.xml
yang/yang-data-impl/src/main/java/module-info.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableUnkeyedListNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableUserLeafSetNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableUserMapNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedValueNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractReadyIterator.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValidation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AugmentationModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AutomaticLifecycleMixin.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DataTreeState.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTree.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeCandidate.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeFactory.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MapEntryModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MapModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NodeModification.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OperationWithModification.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationMetadataTreeTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StoreTreeNodesTest.java

index a5e242acb6c6ba9998c15deed695c6920c1eb9c1..371b0226b83eecfef1663adca020cbfd727de9c2 100644 (file)
                 <artifactId>yang-data-api</artifactId>
                 <version>7.0.0-SNAPSHOT</version>
             </dependency>
+            <dependency>
+                <groupId>org.opendaylight.yangtools</groupId>
+                <artifactId>yang-data-spi</artifactId>
+                <version>7.0.0-SNAPSHOT</version>
+            </dependency>
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yang-data-impl</artifactId>
diff --git a/data/pom.xml b/data/pom.xml
new file mode 100644 (file)
index 0000000..03eeda6
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+ Copyright Â© 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.opendaylight.odlparent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>8.1.0</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.opendaylight.yangtools</groupId>
+    <artifactId>data-aggregator</artifactId>
+    <version>7.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <properties>
+        <maven.deploy.skip>true</maven.deploy.skip>
+        <maven.install.skip>true</maven.install.skip>
+    </properties>
+
+    <modules>
+        <module>yang-data-spi</module>
+    </modules>
+</project>
diff --git a/data/yang-data-spi/pom.xml b/data/yang-data-spi/pom.xml
new file mode 100644 (file)
index 0000000..bcc0aa2
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- vi: set et smarttab sw=4 tabstop=4: -->
+<!--
+ Copyright (c) 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.yangtools</groupId>
+        <artifactId>bundle-parent</artifactId>
+        <version>7.0.0-SNAPSHOT</version>
+        <relativePath>../../bundle-parent</relativePath>
+    </parent>
+
+    <artifactId>yang-data-spi</artifactId>
+    <packaging>bundle</packaging>
+    <name>${project.artifactId}</name>
+    <description>${project.artifactId}</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>concepts</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>org.opendaylight.yangtools</groupId>
+          <artifactId>util</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>org.opendaylight.yangtools</groupId>
+          <artifactId>yang-data-api</artifactId>
+        </dependency>
+    </dependencies>
+</project>
diff --git a/data/yang-data-spi/src/main/java/module-info.java b/data/yang-data-spi/src/main/java/module-info.java
new file mode 100644 (file)
index 0000000..9c9c047
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2021 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+module org.opendaylight.yangtools.yang.data.spi {
+    exports org.opendaylight.yangtools.yang.data.spi.node;
+    exports org.opendaylight.yangtools.yang.data.spi.tree;
+
+    requires transitive org.opendaylight.yangtools.yang.data.api;
+    requires com.google.common;
+    requires org.opendaylight.yangtools.concepts;
+    requires org.opendaylight.yangtools.util;
+    requires org.slf4j;
+
+    // Annotations
+    requires static transitive org.eclipse.jdt.annotation;
+}
@@ -1,12 +1,14 @@
 /*
  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ * Copyright (c) 2020 PANTHEON.tech, s.r.o
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.impl.schema.nodes;
+package org.opendaylight.yangtools.yang.data.spi.node;
 
+import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.AbstractIdentifiable;
@@ -14,10 +16,17 @@ import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
-public abstract class AbstractImmutableNormalizedNode<K extends PathArgument, N extends NormalizedNode>
-        extends AbstractIdentifiable<PathArgument, K> implements NormalizedNode, Immutable {
-    protected AbstractImmutableNormalizedNode(final K nodeIdentifier) {
-        super(nodeIdentifier);
+/**
+ * Abstract base class for {@link NormalizedNode} implementations.
+ *
+ * @param <I> Identifier type
+ * @param <T> Implemented {@link NormalizedNode} specialization type
+ */
+@Beta
+public abstract class AbstractNormalizedNode<I extends PathArgument, T extends NormalizedNode>
+        extends AbstractIdentifiable<PathArgument, I> implements NormalizedNode, Immutable {
+    protected AbstractNormalizedNode(final I identifier) {
+        super(identifier);
     }
 
     @Override
@@ -25,11 +34,11 @@ public abstract class AbstractImmutableNormalizedNode<K extends PathArgument, N
         if (this == obj) {
             return true;
         }
-        final Class<N> clazz = implementedType();
+        final Class<T> clazz = implementedType();
         if (!clazz.isInstance(obj)) {
             return false;
         }
-        final N other = clazz.cast(obj);
+        final T other = clazz.cast(obj);
         return getIdentifier().equals(other.getIdentifier()) && valueEquals(other);
     }
 
@@ -43,9 +52,9 @@ public abstract class AbstractImmutableNormalizedNode<K extends PathArgument, N
         return super.addToStringAttributes(toStringHelper).add("body", body());
     }
 
-    protected abstract @NonNull Class<N> implementedType();
+    protected abstract @NonNull Class<T> implementedType();
 
     protected abstract int valueHashCode();
 
-    protected abstract boolean valueEquals(@NonNull N other);
+    protected abstract boolean valueEquals(@NonNull T other);
 }
similarity index 96%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractContainerNode.java
index bfa719d25a24a81074c5ff23af4104bfb0f4677f..1bbe65de283f91e29c6965c28743ddc9491c796d 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static java.util.Objects.requireNonNull;
 
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
similarity index 96%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/AbstractTreeNode.java
index 86c12d58d5b4a2fa074bcb3e7fa51b2b9ee094dd..1d9669ff00d207edcec8e7aeb7bd61f5c82b2b3a 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static java.util.Objects.requireNonNull;
 
similarity index 97%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/LazyContainerNode.java
index 3a91cd800a5fde12800870d6687c4cd17b5af1eb..70f9abf3b6c3ebed2ac5c35c90ecc2ce76aa05f1 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.collect.Collections2;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import java.util.Map;
 import org.opendaylight.yangtools.util.MapAdaptor;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import java.util.Map;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import java.util.Map;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
similarity index 97%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MutableTreeNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/MutableTreeNode.java
index e1d4f378df1b8d3c5fb72c1a1f4185053b004698..8d911fc252bce45ea53e6f3e6f9191f7429b6a46 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
similarity index 95%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/SimpleContainerNode.java
index ec086d2c124aa702619ac4cc6c9c6c6a44b64960..3374e97593e7c938eaa7d1514677354fad398a96 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import com.google.common.base.MoreObjects.ToStringHelper;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
similarity index 97%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNode.java
index 689c49c85ce8147399c5ee4200912a33bd374b61..c498d5b6167d8b8b85a6a36e9b20c65868c56808 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.yangtools.concepts.Identifiable;
similarity index 95%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactory.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNodeFactory.java
index bacc520890e0dc170dc01d2a6061d4d86ac484c5..de98db58d567a0b7fa9ce384bab3a7a3bff8fb5e 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
similarity index 96%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/ValueNode.java
index 559e3dee8f0e5faa02b7c36884cc11510fb4de48..a2d7c94370cbd3c417bdb6aaf3048813d86e8052 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import com.google.common.base.MoreObjects.ToStringHelper;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
similarity index 93%
rename from yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/Version.java
rename to data/yang-data-spi/src/main/java/org/opendaylight/yangtools/yang/data/spi/tree/Version.java
index 759c72c4b04f13ffcd96012a8e2502a907d86263..5cf82577a852a9b0dc5387f8e3a5bb455f7e1a67 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 /**
  * The concept of a version, either node version, or a subtree version. The
similarity index 95%
rename from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/DuplicityTest.java
rename to data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/DuplicityTest.java
index 2071ac43d33978b74727cda1e08dfae46f47191f..99a22beaff692285d965a70c0b900707743be0d3 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
similarity index 96%
rename from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/TreeNodeFactoryTest.java
rename to data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/TreeNodeFactoryTest.java
index 49759672f1c800b280fb01a7a0a8ba6864a26f7b..ac9fa44e290df7896cf1ffcab205300216c82b34 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
similarity index 93%
rename from yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/VersionTest.java
rename to data/yang-data-spi/src/test/java/org/opendaylight/yangtools/yang/data/spi/tree/VersionTest.java
index f4053455ff0577f28997c86b439ffc5e5f528a4f..93bd0b615f8225699158a9723a8a16b6cc5ace90 100644 (file)
@@ -5,7 +5,7 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-package org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
+package org.opendaylight.yangtools.yang.data.spi.tree;
 
 import static org.junit.Assert.assertFalse;
 
index 7a1643cc82025f394814aeb1ddc73e5806f634ff..10bfcec35835f84be4fb5767a70207ff21bf1d3d 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-spi</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-util</artifactId>
index fe9130115ec18c02d60650d1554cb2a0736a8c22..47424f94b165b6073a99e3ac4329b9f3cb89d272 100644 (file)
     <version>7.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
+    <properties>
+        <maven.deploy.skip>true</maven.deploy.skip>
+        <maven.install.skip>true</maven.install.skip>
+    </properties>
+
     <modules>
         <!-- Stable features -->
         <module>odl-yangtools-codec</module>
diff --git a/pom.xml b/pom.xml
index db1037bda7fdc289ff481160d5a06bb6d5ec800e..52b82bf5c50b0b1b029576628305ebb885359d25 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,7 @@
         <module>benchmarks</module>
         <module>bundle-parent</module>
         <module>common</module>
+        <module>data</module>
         <module>plugin</module>
         <module>tools</module>
 
index 03b919b440cc4ea684fc0c755fc42b8c90212b19..94e9e9ecc9ac1cb662255515a515ab0ca8cb83f2 100644 (file)
@@ -11,7 +11,6 @@ module org.opendaylight.yangtools.yang.data.api {
     exports org.opendaylight.yangtools.yang.data.api.schema;
     exports org.opendaylight.yangtools.yang.data.api.schema.stream;
     exports org.opendaylight.yangtools.yang.data.api.schema.tree;
-    exports org.opendaylight.yangtools.yang.data.api.schema.tree.spi;
 
     requires transitive org.opendaylight.yangtools.yang.common;
     requires transitive org.opendaylight.yangtools.yang.model.api;
index fe38e70994c23d0f41a4ba821d57901efa3d6428..308da5aa1714ddd00c508a778a877e1bdeb3fda6 100644 (file)
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-spi</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>yang-data-util</artifactId>
index 4f174a1c3b9441440e1b5aaac477191d9b517446..514a53a0079f7e24dbd4dc3b990ddbef042e7643 100644 (file)
@@ -28,6 +28,7 @@ module org.opendaylight.yangtools.yang.data.impl {
     requires org.opendaylight.yangtools.util;
     requires org.opendaylight.yangtools.rfc8528.data.util;
     requires org.opendaylight.yangtools.yang.common;
+    requires org.opendaylight.yangtools.yang.data.spi;
     requires org.opendaylight.yangtools.yang.model.spi;
     requires org.slf4j;
 
index 5a7f79716613f9cc913794140e6cd01a1b8baf94..8342fb99ca6201a7253cb231b5401b4bc3927cfc 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public class ImmutableMapNodeBuilder implements CollectionNodeBuilder<MapEntryNode, SystemMapNode> {
     private static final int DEFAULT_CAPACITY = 4;
@@ -105,7 +105,7 @@ public class ImmutableMapNodeBuilder implements CollectionNodeBuilder<MapEntryNo
         return withoutChild(key);
     }
 
-    protected static final class ImmutableMapNode extends AbstractImmutableNormalizedNode<NodeIdentifier, SystemMapNode>
+    protected static final class ImmutableMapNode extends AbstractNormalizedNode<NodeIdentifier, SystemMapNode>
             implements SystemMapNode {
 
         private final @NonNull Map<NodeIdentifierWithPredicates, MapEntryNode> children;
index a32930dc6cb7bc8a59b373435a3f636be31e094a..e6ae5a9ea438d97f06c8843694b3ef9467c619ce 100644 (file)
@@ -19,8 +19,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedValueNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public class ImmutableUnkeyedListNodeBuilder implements CollectionNodeBuilder<UnkeyedListEntryNode, UnkeyedListNode> {
     private List<UnkeyedListEntryNode> value;
@@ -117,7 +117,7 @@ public class ImmutableUnkeyedListNodeBuilder implements CollectionNodeBuilder<Un
     }
 
     protected static final class EmptyImmutableUnkeyedListNode
-            extends AbstractImmutableNormalizedNode<NodeIdentifier, UnkeyedListNode> implements UnkeyedListNode {
+            extends AbstractNormalizedNode<NodeIdentifier, UnkeyedListNode> implements UnkeyedListNode {
         protected EmptyImmutableUnkeyedListNode(final NodeIdentifier nodeIdentifier) {
             super(nodeIdentifier);
         }
index 155fb2cff07f7c8a9b90469e300d89fc7037fa73..eb2c965d17b35af5611e0ecce282b2c14184f0e8 100644 (file)
@@ -21,7 +21,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UserLeafSetNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.ListNodeBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public class ImmutableUserLeafSetNodeBuilder<T> implements ListNodeBuilder<T, UserLeafSetNode<T>> {
     private Map<NodeWithValue, LeafSetEntryNode<T>> value;
@@ -102,7 +102,7 @@ public class ImmutableUserLeafSetNodeBuilder<T> implements ListNodeBuilder<T, Us
     }
 
     protected static final class ImmutableUserLeafSetNode<T>
-            extends AbstractImmutableNormalizedNode<NodeIdentifier, UserLeafSetNode<?>>
+            extends AbstractNormalizedNode<NodeIdentifier, UserLeafSetNode<?>>
             implements UserLeafSetNode<T> {
         private final Map<NodeWithValue, LeafSetEntryNode<T>> children;
 
index 99d6dd3f1d8b63d3cb298799b66e5bcd7a190c0e..41e3b3a5e794fc495d7119cc713abe19c2d69e81 100644 (file)
@@ -21,7 +21,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
-import org.opendaylight.yangtools.yang.data.impl.schema.nodes.AbstractImmutableNormalizedNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public class ImmutableUserMapNodeBuilder implements CollectionNodeBuilder<MapEntryNode, UserMapNode> {
     private static final int DEFAULT_CAPACITY = 4;
@@ -124,7 +124,7 @@ public class ImmutableUserMapNodeBuilder implements CollectionNodeBuilder<MapEnt
     }
 
     protected static final class ImmutableUserMapNode
-            extends AbstractImmutableNormalizedNode<NodeIdentifier, UserMapNode> implements UserMapNode {
+            extends AbstractNormalizedNode<NodeIdentifier, UserMapNode> implements UserMapNode {
         private final Map<NodeIdentifierWithPredicates, MapEntryNode> children;
 
         ImmutableUserMapNode(final NodeIdentifier nodeIdentifier,
index 3394effafb72d345ed86f517acc5373452e6f9be..7b561866526e80dea2a39d190db43a8b7047b62b 100644 (file)
@@ -13,9 +13,10 @@ import org.opendaylight.yangtools.util.ImmutableOffsetMap;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public abstract class AbstractImmutableDataContainerNode<K extends PathArgument, N extends DataContainerNode<K>>
-        extends AbstractImmutableNormalizedNode<K, N> implements DataContainerNode<K> {
+        extends AbstractNormalizedNode<K, N> implements DataContainerNode<K> {
     private final Map<PathArgument, Object> children;
 
     protected AbstractImmutableDataContainerNode(final Map<PathArgument, Object> children, final K nodeIdentifier) {
index ee0acab5b92e4efba060c7fb6736316de58d2f0d..62bfb596d9feb85cd83acb7699c39e65f0217290 100644 (file)
@@ -12,9 +12,10 @@ import static java.util.Objects.requireNonNull;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
+import org.opendaylight.yangtools.yang.data.spi.node.AbstractNormalizedNode;
 
 public abstract class AbstractImmutableNormalizedValueNode<K extends PathArgument, N extends NormalizedNode, V>
-        extends AbstractImmutableNormalizedNode<K, N> {
+        extends AbstractNormalizedNode<K, N> {
     private final @NonNull V value;
 
     protected AbstractImmutableNormalizedValueNode(final K nodeIdentifier, final @NonNull V value) {
index 40c08b5b5ce9cc135c8e34e650f4db94c7bc3061..e3a144afd7d82078cd54d4a279a4878a24eefa45 100644 (file)
@@ -17,7 +17,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateTip
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeTip;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 
 abstract class AbstractDataTreeTip implements DataTreeTip {
     /**
index 8b0f48654ed2b43c21553dff86ff6d3f7144b8c5..487abc1355bbca03926931847ed50233411211d9 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 
 abstract class AbstractModifiedNodeBasedCandidateNode implements DataTreeCandidateNode {
     private final ModifiedNode mod;
index f168b1c10d2fb1c11ea532e4e1c28a15b2ccf579..82279408cdd9bf4b2cc5b4a8d29bfa3bb93d5f1a 100644 (file)
@@ -27,11 +27,11 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailed
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModifiedNodeDoesNotExistException;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.MutableTreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.MutableTreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
 
 abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
index ad3913251e1e0c2a62d85b1d7d7caf7dd7722329..73aabcd2df9eee91534e37e44c82e3b784703ebf 100644 (file)
@@ -12,7 +12,7 @@ import static java.util.Objects.requireNonNull;
 
 import java.util.Collection;
 import java.util.Iterator;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 
 abstract class AbstractReadyIterator {
     final Iterator<ModifiedNode> children;
index 620a6c1db21a59c3bd005430866abf8609bc1724..484ed3a2067f799e379067b5138735e50887c84b 100644 (file)
@@ -16,8 +16,8 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
index b1c7076b4bc5613f296119e35bcb53df3205601c..4f0d1d944a7485275289cbcbda5139ab99c48c0d 100644 (file)
@@ -11,10 +11,10 @@ import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAugmentationNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
index 06865022464037d8b0b5f430330538f6dde4d35b..4669954cb54fe7be737f5249f2a18a984839d400 100644 (file)
@@ -13,9 +13,9 @@ import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 
 /**
  * Mixin-type support class for subclasses of {@link ModificationApplyOperation} which need to provide automatic
index c213c5c53d944c8f89edd40cdfd0e5c4747dd4ab..c2f128dbed34f6564b1b4c5097907574539440a1 100644 (file)
@@ -28,11 +28,11 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.Visible;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
index 7cc8dbbb0e25177559c9f47108d46c28e3df30c8..6dabc8054431cbfada1e45239c1fca0c21728428 100644 (file)
@@ -14,9 +14,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 
index 522b402efdc76a5b79d79d8a02c43d16408f0118..7b2cf82a3bcece13e91d87ffa682bc86df03aada 100644 (file)
@@ -12,7 +12,7 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.base.MoreObjects;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 /**
index 1078f74b17187f5b71e2ab6737091f1d2ffa84fc..ce5d13cbd2e1f937fcef045e99e16bcff55504f8 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
index c2f7d8ca96373015683a43b3af82b8c421cb42b2..9e260b5b74f884ddf39075856270d59185987e4b 100644 (file)
@@ -11,7 +11,7 @@ import com.google.common.base.MoreObjects;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 
 final class InMemoryDataTreeCandidate extends AbstractDataTreeCandidate {
 
index d7b0147ba72c21b57f81799bdd4ef29a434824d7..763cdb3a2dba425807324524f79de929dc10f2be 100644 (file)
@@ -26,10 +26,10 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguratio
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeFactory;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
index fdbf84491c32a8b8f5ca3d294727180b22d377ac..708189a692676bd626f3566e3120e29f2063bdaa 100644 (file)
@@ -23,8 +23,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.CursorAwareDataTreeModification;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModificationCursor;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.StoreTreeNodes;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
 import org.slf4j.Logger;
index 344188682b8c2630d966cc609856d0d095afd98e..ad8ff607503719dfecac3717d7e9f0b999ac7bf0 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.CursorAwareDataTreeSnapshot;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshotCursor;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
 
index f3f156372c1ec40e461cff47560c2f46cb5a08e3..ccf5eef0fca9d3eb037ede0cb775aa84044a097c 100644 (file)
@@ -16,14 +16,14 @@ import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.IncorrectDataStructureException;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.MutableTreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListEntryNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUnkeyedListNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.MutableTreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
 final class ListModificationStrategy extends SchemaAwareApplyOperation<ListSchemaNode> {
index 98b1412e8c15823c594cd821323a9f3a233b926d..8b2d4da6a75fe7f232b67258d7ce578a4ce37a72 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
index dceff2df2e912904a8b53c73ed9badf50532b35b..c386925488344adb81a5c8d78f88edadb4aa885c 100644 (file)
@@ -15,9 +15,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
 class MapEntryModificationStrategy extends DataNodeContainerModificationStrategy<ListSchemaNode> {
index edb1ff486166e8b1fab55707f62b68938b1212d6..373c90c4556bd9dac2d75fd1778125c9ba58b5b6 100644 (file)
@@ -18,12 +18,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.UserMapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableUserMapNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.tree.AbstractNodeContainerModificationStrategy.Invisible;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 
 final class MapModificationStrategy extends Invisible<ListSchemaNode> {
index a9a944801cc0e416662b16a66b6b40956c56ead2..72426bfde958ac5fbccd0efbebe6c93d7b74dde9 100644 (file)
@@ -14,8 +14,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.StoreTreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 
 /**
  * An operation responsible for applying {@link ModifiedNode} on tree. The operation is a hierachical composite -
index 735418ee59d617dadd21adbe2ad35574a9a25567..bd5543e50e2b8b2444d5a02ef30924ac395ba393 100644 (file)
@@ -24,9 +24,9 @@ import org.opendaylight.yangtools.yang.data.api.schema.DistinctNodeContainer;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.StoreTreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 
 /**
  * Node Modification Node and Tree.
index b652aff43765922e21216868d47cc6ac810e70a9..67aeefc10a072986f63fb10fa534d24b2e79a864 100644 (file)
@@ -11,7 +11,7 @@ import java.util.Collection;
 import java.util.Optional;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 
 /**
  * Internal interface representing a modification action of a particular node.
index 4d4c565b100f288e65f6b7a1384af36d872338dd..08f1c42d84ce4ca51b6640d6a2c8a67172c20775 100644 (file)
@@ -19,7 +19,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
 
 /**
  * Internal utility class for an empty candidate. We instantiate this class
index 9bb551b78e70a1b2d9d8fd06ebc5e844edc3f083..bb067c04a91612e2a09475c92c693f73f99e7819 100644 (file)
@@ -12,8 +12,8 @@ import static java.util.Objects.requireNonNull;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 
 final class OperationWithModification {
     private final ModificationApplyOperation applyOperation;
index 1994fa13e413fedc601cd471e63c88aafc4516a6..3c28ba11aa0a225b273151a80a7c6a652a7e9dc1 100644 (file)
@@ -26,8 +26,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguratio
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
index d3a418ee9834e1f38669136f9d78f7b231bd8fb1..ab99537499e0aef6359a55e1b5aa5508f487975a 100644 (file)
@@ -10,9 +10,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.ContainerLike;
 
 /**
index a45c95984674fa6ed586550b80b6e5dc0b08af5f..97131b78eabb66a51f0700195b0da4a9208ebe51 100644 (file)
@@ -17,9 +17,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.IncorrectDataStructureException;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 
 final class ValueNodeModificationStrategy<T extends DataSchemaNode, V extends NormalizedNode>
index 5f8a27702358b525ad1336685c63fa4356c21c44..5dae30e6e3947a2a51b8686fa296d5e029d9a8a8 100644 (file)
@@ -27,10 +27,10 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTree;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 /*
index c9a50468a8148c4e431eb4f2c56ac40ce038d0a3..502b3741d7a0773a098c7dc23353585fd3ccc50d 100644 (file)
@@ -27,10 +27,10 @@ import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.StoreTreeNodes;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory;
-import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNode;
+import org.opendaylight.yangtools.yang.data.spi.tree.TreeNodeFactory;
+import org.opendaylight.yangtools.yang.data.spi.tree.Version;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;