HONEYCOMB-8: Move data layer from impl module into submodules
authorMaros Marsalek <[email protected]>
Tue, 12 Apr 2016 08:13:21 +0000 (10:13 +0200)
committerMaros Marsalek <[email protected]>
Tue, 12 Apr 2016 08:13:21 +0000 (10:13 +0200)
Change-Id: Ic75793f65cfcad7cc2c96e7a09093e0e1802e4e5
Signed-off-by: Marek Gradzki <[email protected]>
Signed-off-by: Maros Marsalek <[email protected]>
30 files changed:
v3po/artifacts/pom.xml
v3po/config/pom.xml [new file with mode: 0644]
v3po/config/src/main/java/io/fd/honeycomb/v3po/config/ReaderRegistry.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/ReaderRegistry.java with 99% similarity]
v3po/config/src/main/java/io/fd/honeycomb/v3po/config/WriterRegistry.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/WriterRegistry.java with 99% similarity]
v3po/data-api/pom.xml [new file with mode: 0644]
v3po/data-api/src/main/java/io/fd/honeycomb/v3po/data/ReadableVppDataTree.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/ReadableVppDataTree.java with 97% similarity]
v3po/data-api/src/main/java/io/fd/honeycomb/v3po/data/VppDataTree.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppDataTree.java with 97% similarity]
v3po/data-api/src/main/java/io/fd/honeycomb/v3po/data/VppDataTreeSnapshot.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppDataTreeSnapshot.java with 96% similarity]
v3po/data-impl/pom.xml [new file with mode: 0644]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/DataTreeUtils.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/DataTreeUtils.java with 98% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/ReadWriteTransaction.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/ReadWriteTransaction.java with 99% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/VppConfigDataTree.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppConfigDataTree.java with 95% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/VppDataBroker.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppDataBroker.java with 95% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/VppOperationalDataTree.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppOperationalDataTree.java with 99% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/VppReadOnlyTransaction.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppReadOnlyTransaction.java with 96% similarity]
v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/VppWriteTransaction.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppWriteTransaction.java with 97% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/DataTreeUtilsTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/DataTreeUtilsTest.java with 60% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/ReadWriteTransactionTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/ReadWriteTransactionTest.java with 98% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/VPPConfigDataTreeTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VPPConfigDataTreeTest.java with 98% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/VppDataBrokerTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VppDataBrokerTest.java with 95% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/VppOperationalDataTreeTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VppOperationalDataTreeTest.java with 99% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/VppReadOnlyTransactionTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VppReadOnlyTransactionTest.java with 93% similarity]
v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/VppWriteTransactionTest.java [moved from v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VppWriteTransactionTest.java with 96% similarity]
v3po/features/pom.xml
v3po/features/src/main/features/features.xml
v3po/impl/pom.xml
v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/V3poProvider.java
v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/VppDataBrokerInitializationProvider.java [moved from v3po/impl/src/main/java/io/fd/honeycomb/v3po/impl/data/VppDataBrokerInitializationProvider.java with 97% similarity]
v3po/impl/src/test/java/io/fd/honeycomb/v3po/impl/data/VppDataBrokerInitializationProviderTest.java
v3po/pom.xml

index 1764b67..9240da5 100644 (file)
         <artifactId>v3po-api</artifactId>
         <version>${project.version}</version>
       </dependency>
+      <dependency>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>data-api</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>data-utils</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>${project.groupId}</groupId>
+        <artifactId>data-impl</artifactId>
+        <version>${project.version}</version>
+      </dependency>
       <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>translate-api</artifactId>
diff --git a/v3po/config/pom.xml b/v3po/config/pom.xml
new file mode 100644 (file)
index 0000000..910fc7d
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    <parent>
+        <groupId>io.fd.honeycomb.common</groupId>
+        <artifactId>api-parent</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../../common/api-parent</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>io.fd.honeycomb.v3po</groupId>
+    <artifactId>config</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>translate-impl</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>v3po2vpp</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+    </dependencies>
+</project>
\ No newline at end of file
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.config;
 
 import com.google.common.base.Optional;
 import com.google.common.collect.Multimap;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.config;
 
 import io.fd.honeycomb.v3po.translate.TranslationException;
 import io.fd.honeycomb.v3po.translate.util.RWUtils;
diff --git a/v3po/data-api/pom.xml b/v3po/data-api/pom.xml
new file mode 100644 (file)
index 0000000..88be38d
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    <parent>
+        <groupId>io.fd.honeycomb.common</groupId>
+        <artifactId>api-parent</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../../common/api-parent</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>io.fd.honeycomb.v3po</groupId>
+    <artifactId>data-api</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>translate-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-common-api</artifactId>
+            <version>1.3.0-Beryllium</version>
+        </dependency>
+
+    </dependencies>
+
+</project>
\ No newline at end of file
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data;
 
 import com.google.common.annotations.Beta;
 import io.fd.honeycomb.v3po.translate.TranslationException;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data;
 
 import com.google.common.annotations.Beta;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
diff --git a/v3po/data-impl/pom.xml b/v3po/data-impl/pom.xml
new file mode 100644 (file)
index 0000000..59a5834
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+    <parent>
+        <artifactId>api-parent</artifactId>
+        <groupId>io.fd.honeycomb.common</groupId>
+        <version>1.0.0-SNAPSHOT</version>
+        <relativePath>../../common/api-parent</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>io.fd.honeycomb.v3po</groupId>
+    <artifactId>data-impl</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>data-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>translate-utils</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-binding-dom-codec</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+            <version>1.3.0-Beryllium</version> <!-- FIXME use dependency management -->
+        </dependency>
+
+        <!-- Testing Dependencies -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- FIXME test should not be dependent on particular models -->
+        <dependency>
+            <groupId>io.fd.honeycomb.v3po</groupId>
+            <artifactId>v3po-api</artifactId>
+            <version>1.0.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
+                        <Export-Package>
+                            io.fd.honeycomb.v3po.data.impl.*
+                        </Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import com.google.common.base.Preconditions;
 import java.util.Collection;
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
+import static io.fd.honeycomb.v3po.data.impl.DataTreeUtils.childrenFromNormalized;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import io.fd.honeycomb.v3po.translate.TranslationException;
 import io.fd.honeycomb.v3po.translate.util.write.TransactionWriteContext;
 import io.fd.honeycomb.v3po.translate.write.WriteContext;
+import io.fd.honeycomb.v3po.translate.write.WriterRegistry;
 import java.util.Collections;
 import java.util.Map;
 import javax.annotation.Nonnull;
@@ -134,7 +139,7 @@ public final class VppConfigDataTree implements VppDataTree {
             final Optional<NormalizedNode<?, ?>> parentOptional) {
         if (parentOptional.isPresent()) {
             final DataContainerNode parent = (DataContainerNode) parentOptional.get();
-            return DataTreeUtils.childrenFromNormalized(parent, serializer);
+            return childrenFromNormalized(parent, serializer);
         }
         return Collections.emptyMap();
     }
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import com.google.common.base.Preconditions;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import java.util.Collections;
 import java.util.Map;
 import javax.annotation.Nonnull;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.Iterables.getOnlyElement;
@@ -26,6 +26,7 @@ import com.google.common.collect.Collections2;
 import com.google.common.collect.Multimap;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
 import io.fd.honeycomb.v3po.translate.Context;
 import io.fd.honeycomb.v3po.translate.read.ReadContext;
 import io.fd.honeycomb.v3po.translate.read.ReadFailedException;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import com.google.common.base.Function;
 import com.google.common.base.Optional;
@@ -22,6 +22,8 @@ import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static org.opendaylight.controller.md.sal.common.api.TransactionStatus.CANCELED;
 import static org.opendaylight.controller.md.sal.common.api.TransactionStatus.COMMITED;
@@ -26,6 +26,8 @@ import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import io.fd.honeycomb.v3po.translate.TranslationException;
 import javax.annotation.Nonnull;
 import javax.annotation.concurrent.NotThreadSafe;
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Map;
 import org.junit.Test;
+import org.mockito.Matchers;
 import org.mockito.Mockito;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -39,28 +35,28 @@ public class DataTreeUtilsTest {
 
     @Test
     public void testChildrenFromNormalized() throws Exception {
-        final ContainerNode parent = mock(ContainerNode.class);
-        final BindingNormalizedNodeSerializer serializer = mock(BindingNormalizedNodeSerializer.class);
+        final ContainerNode parent = Mockito.mock(ContainerNode.class);
+        final BindingNormalizedNodeSerializer serializer = Mockito.mock(BindingNormalizedNodeSerializer.class);
 
         final Collection<DataContainerChild> list = new ArrayList<>();
-        doReturn(list).when(parent).getValue();
+        Mockito.doReturn(list).when(parent).getValue();
 
         // init child1 (will not be serialized)
         final DataContainerChild child1 = Mockito.mock(DataContainerChild.class);
-        when(child1.getIdentifier()).thenReturn(mock(YangInstanceIdentifier.PathArgument.class));
-        when(serializer.fromNormalizedNode(any(YangInstanceIdentifier.class), eq(child1))).thenReturn(null);
+        Mockito.when(child1.getIdentifier()).thenReturn(Mockito.mock(YangInstanceIdentifier.PathArgument.class));
+        Mockito.when(serializer.fromNormalizedNode(Matchers.any(YangInstanceIdentifier.class), Matchers.eq(child1))).thenReturn(null);
         list.add(child1);
 
         // init child 2 (will be serialized)
-        final DataContainerChild child2 = mock(DataContainerChild.class);
-        when(child2.getIdentifier()).thenReturn(mock(YangInstanceIdentifier.PathArgument.class));
+        final DataContainerChild child2 = Mockito.mock(DataContainerChild.class);
+        Mockito.when(child2.getIdentifier()).thenReturn(Mockito.mock(YangInstanceIdentifier.PathArgument.class));
 
-        final Map.Entry entry = mock(Map.Entry.class);
-        final InstanceIdentifier<?> id = mock(InstanceIdentifier.class);
-        doReturn(id).when(entry).getKey();
-        final DataObject data = mock(DataObject.class);
-        doReturn(data).when(entry).getValue();
-        when(serializer.fromNormalizedNode(any(YangInstanceIdentifier.class), eq(child2))).thenReturn(entry);
+        final Map.Entry entry = Mockito.mock(Map.Entry.class);
+        final InstanceIdentifier<?> id = Mockito.mock(InstanceIdentifier.class);
+        Mockito.doReturn(id).when(entry).getKey();
+        final DataObject data = Mockito.mock(DataObject.class);
+        Mockito.doReturn(data).when(entry).getValue();
+        Mockito.when(serializer.fromNormalizedNode(Matchers.any(YangInstanceIdentifier.class), Matchers.eq(child2))).thenReturn(entry);
 
         list.add(child2);
 
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -31,8 +31,10 @@ import static org.mockito.MockitoAnnotations.initMocks;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import io.fd.honeycomb.v3po.translate.TranslationException;
 import io.fd.honeycomb.v3po.translate.write.WriteContext;
+import io.fd.honeycomb.v3po.translate.write.WriterRegistry;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
@@ -22,6 +22,9 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import java.util.Map;
 import org.junit.Before;
 import org.junit.Test;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static org.junit.Assert.assertNotNull;
 import static org.mockito.Mockito.mock;
@@ -24,6 +24,8 @@ import static org.mockito.MockitoAnnotations.initMocks;
 
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.data.impl;
 
 import static junit.framework.TestCase.assertTrue;
 import static org.junit.Assert.assertFalse;
@@ -27,6 +27,8 @@ import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
 import com.google.common.util.concurrent.CheckedFuture;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTreeSnapshot;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mock;
index 810cec5..ce41325 100644 (file)
       <artifactId>v3po-api</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>config</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>data-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>data-impl</artifactId>
+      <version>${project.version}</version>
+    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>translate-api</artifactId>
index 1f52378..e6a8a64 100644 (file)
@@ -39,6 +39,9 @@
     <bundle>mvn:io.fd.honeycomb.v3po/translate-spi/${project.version}</bundle>
     <bundle>mvn:io.fd.honeycomb.v3po/translate-utils/${project.version}</bundle>
     <bundle>mvn:io.fd.honeycomb.v3po/vpp-translate-utils/${project.version}</bundle>
+    <bundle>mvn:io.fd.honeycomb.v3po/config/${project.version}</bundle>
+    <bundle>mvn:io.fd.honeycomb.v3po/data-api/${project.version}</bundle>
+    <bundle>mvn:io.fd.honeycomb.v3po/data-impl/${project.version}</bundle>
     <bundle>mvn:io.fd.honeycomb.v3po/translate-impl/${project.version}</bundle>
     <bundle>mvn:io.fd.honeycomb.v3po/v3po2vpp/${project.version}</bundle>
     <bundle>wrap:mvn:io.fd.vpp/vppjapi/1.0.0-SNAPSHOT</bundle>
index 56dcf85..be824ca 100644 (file)
       <artifactId>v3po2vpp</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>config</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>data-impl</artifactId>
+      <version>${project.version}</version>
+    </dependency>
 
     <dependency>
       <groupId>io.fd.vpp</groupId>
index 0ea4525..a979091 100644 (file)
@@ -20,9 +20,8 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
-import io.fd.honeycomb.v3po.impl.data.VppDataBrokerInitializationProvider;
-import io.fd.honeycomb.v3po.impl.data.ReaderRegistry;
-import io.fd.honeycomb.v3po.impl.data.WriterRegistry;
+import io.fd.honeycomb.v3po.config.ReaderRegistry;
+import io.fd.honeycomb.v3po.config.WriterRegistry;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.HashMap;
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package io.fd.honeycomb.v3po.impl.data;
+package io.fd.honeycomb.v3po.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
@@ -23,7 +23,12 @@ import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.AsyncFunction;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
-import io.fd.honeycomb.v3po.impl.LoggingFuturesCallBack;
+import io.fd.honeycomb.v3po.config.WriterRegistry;
+import io.fd.honeycomb.v3po.data.ReadableVppDataTree;
+import io.fd.honeycomb.v3po.data.VppDataTree;
+import io.fd.honeycomb.v3po.data.impl.VppConfigDataTree;
+import io.fd.honeycomb.v3po.data.impl.VppDataBroker;
+import io.fd.honeycomb.v3po.data.impl.VppOperationalDataTree;
 import io.fd.honeycomb.v3po.translate.read.ReaderRegistry;
 import java.util.Collection;
 import java.util.Collections;
index 51f57a2..770ca70 100644 (file)
@@ -26,6 +26,8 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.MockitoAnnotations.initMocks;
 
 import com.google.common.util.concurrent.CheckedFuture;
+import io.fd.honeycomb.v3po.config.WriterRegistry;
+import io.fd.honeycomb.v3po.impl.VppDataBrokerInitializationProvider;
 import io.fd.honeycomb.v3po.translate.read.ReaderRegistry;
 import org.junit.Before;
 import org.junit.Test;
index 7fdf97b..7ec5d70 100644 (file)
@@ -33,6 +33,9 @@
   </prerequisites>
   <modules>
     <module>api</module>
+    <module>config</module>
+    <module>data-api</module>
+    <module>data-impl</module>
     <module>translate-spi</module>
     <module>translate-api</module>
     <module>translate-impl</module>