Refactor change: Moved all distributed primitive implementation classes into onos-core-primitives bundle

Change-Id: Icd5dbd4133cb2f21bd403bcd598e6012813e6bfd
diff --git a/core/store/dist/src/main/java/org/onosproject/store/impl/LogicalTimestamp.java b/core/api/src/main/java/org/onosproject/store/LogicalTimestamp.java
similarity index 96%
rename from core/store/dist/src/main/java/org/onosproject/store/impl/LogicalTimestamp.java
rename to core/api/src/main/java/org/onosproject/store/LogicalTimestamp.java
index dfee998..caeca64 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/impl/LogicalTimestamp.java
+++ b/core/api/src/main/java/org/onosproject/store/LogicalTimestamp.java
@@ -13,14 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.impl;
+package org.onosproject.store;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
 import java.util.Objects;
 
-import org.onosproject.store.Timestamp;
-
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ComparisonChain;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/package-info.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/package-info.java
deleted file mode 100644
index 3dae86b..0000000
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Implementation of partitioned and distributed store facility capable of
- * providing consistent update semantics.
- */
-package org.onosproject.store.consistent.impl;
\ No newline at end of file
diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
index 6a667e3..48817f5 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
@@ -23,8 +23,8 @@
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Service;
+import org.onosproject.store.LogicalTimestamp;
 import org.onosproject.store.Timestamp;
-import org.onosproject.store.impl.LogicalTimestamp;
 import org.onosproject.store.service.AtomicCounter;
 import org.onosproject.store.service.LogicalClockService;
 import org.onosproject.store.service.StorageService;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/package-info.java b/core/store/dist/src/main/java/org/onosproject/store/ecmap/package-info.java
deleted file mode 100644
index 81fd286..0000000
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/package-info.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Distributed map with eventually-consistent update semantics and gossip
- * based anti-entropy mechanism.
- */
-package org.onosproject.store.ecmap;
\ No newline at end of file
diff --git a/core/store/dist/src/test/java/org/onosproject/store/device/impl/GossipDeviceStoreTest.java b/core/store/dist/src/test/java/org/onosproject/store/device/impl/GossipDeviceStoreTest.java
index 5cbf360..5bd9444 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/device/impl/GossipDeviceStoreTest.java
+++ b/core/store/dist/src/test/java/org/onosproject/store/device/impl/GossipDeviceStoreTest.java
@@ -27,6 +27,7 @@
 import org.junit.Test;
 import org.onlab.packet.ChassisId;
 import org.onlab.packet.IpAddress;
+import org.onlab.util.KryoNamespace;
 import org.onosproject.cluster.ClusterService;
 import org.onosproject.cluster.ControllerNode;
 import org.onosproject.cluster.DefaultControllerNode;
@@ -56,9 +57,10 @@
 import org.onosproject.store.cluster.messaging.ClusterMessage;
 import org.onosproject.store.cluster.messaging.ClusterMessageHandler;
 import org.onosproject.store.cluster.messaging.MessageSubject;
-import org.onosproject.store.consistent.impl.DatabaseManager;
 import org.onosproject.store.impl.MastershipBasedTimestamp;
-
+import org.onosproject.store.service.EventuallyConsistentMap;
+import org.onosproject.store.service.EventuallyConsistentMapBuilder;
+import org.onosproject.store.service.StorageService;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
@@ -71,6 +73,7 @@
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
+import java.util.function.BiFunction;
 import java.util.function.Function;
 
 import static java.util.Arrays.asList;
@@ -132,7 +135,9 @@
             new DefaultControllerNode(NID2, IpAddress.valueOf("127.0.0.2"));
     private static final List<SparseAnnotations> NO_ANNOTATION = Collections.<SparseAnnotations>emptyList();
 
-
+    EventuallyConsistentMapBuilder ecMapBuilder;
+    EventuallyConsistentMap ecMap;
+    StorageService testStorageService;
     private TestGossipDeviceStore testGossipDeviceStore;
     private GossipDeviceStore gossipDeviceStore;
     private DeviceStore deviceStore;
@@ -161,9 +166,21 @@
         testGossipDeviceStore = new TestGossipDeviceStore(deviceClockService, clusterService, clusterCommunicator);
         testGossipDeviceStore.mastershipService = new TestMastershipService();
 
-        TestDatabaseManager testDatabaseManager = new TestDatabaseManager();
-        testDatabaseManager.init(clusterService, clusterCommunicator);
-        testGossipDeviceStore.storageService = testDatabaseManager;
+        ecMapBuilder = createNiceMock(EventuallyConsistentMapBuilder.class);
+        expect(ecMapBuilder.withName(anyObject(String.class))).andReturn(ecMapBuilder).anyTimes();
+        expect(ecMapBuilder.withSerializer(anyObject(KryoNamespace.Builder.class))).andReturn(ecMapBuilder).anyTimes();
+        expect(ecMapBuilder.withAntiEntropyPeriod(5, TimeUnit.SECONDS)).andReturn(ecMapBuilder).anyTimes();
+        expect(ecMapBuilder.withTimestampProvider(anyObject(BiFunction.class))).andReturn(ecMapBuilder).anyTimes();
+        expect(ecMapBuilder.withTombstonesDisabled()).andReturn(ecMapBuilder).anyTimes();
+
+        ecMap = createNiceMock(EventuallyConsistentMap.class);
+        expect(ecMapBuilder.build()).andReturn(ecMap).anyTimes();
+        testStorageService = createNiceMock(StorageService.class);
+        expect(testStorageService.eventuallyConsistentMapBuilder()).andReturn(ecMapBuilder).anyTimes();
+
+        replay(testStorageService, ecMapBuilder, ecMap);
+
+        testGossipDeviceStore.storageService = testStorageService;
         testGossipDeviceStore.deviceClockService = deviceClockService;
 
         gossipDeviceStore = testGossipDeviceStore;
@@ -897,12 +914,4 @@
             return DID1.equals(deviceId) || DID2.equals(deviceId);
         }
     }
-
-    private class TestDatabaseManager extends DatabaseManager {
-        void init(ClusterService clusterService,
-                  ClusterCommunicationService clusterCommunicator) {
-            this.clusterService = clusterService;
-            this.clusterCommunicator = clusterCommunicator;
-        }
-    }
 }
diff --git a/core/store/primitives/pom.xml b/core/store/primitives/pom.xml
index a781198..186597c 100644
--- a/core/store/primitives/pom.xml
+++ b/core/store/primitives/pom.xml
@@ -37,6 +37,36 @@
             <groupId>org.onosproject</groupId>
             <artifactId>onos-api</artifactId>
         </dependency>
+        
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-core-common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-core-serializers</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.mapdb</groupId>
+            <artifactId>mapdb</artifactId>
+            <version>1.0.8</version>
+        </dependency>
+        
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
 
         <!-- for shaded atomix/copycat -->
         <dependency>
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/AntiEntropyAdvertisement.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AntiEntropyAdvertisement.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/AntiEntropyAdvertisement.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AntiEntropyAdvertisement.java
index d783fe2..e7143b6 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/AntiEntropyAdvertisement.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AntiEntropyAdvertisement.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableMap;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/AsyncCachingConsistentMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AsyncCachingConsistentMap.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/AsyncCachingConsistentMap.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AsyncCachingConsistentMap.java
index 92db5b4..9df1b3b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/AsyncCachingConsistentMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/AsyncCachingConsistentMap.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.concurrent.CompletableFuture;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CommitResponse.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CommitResponse.java
similarity index 96%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CommitResponse.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CommitResponse.java
index bbc8e6e..a18ade4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CommitResponse.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CommitResponse.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/ConsistentMapBackedJavaMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/ConsistentMapBackedJavaMap.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/ConsistentMapBackedJavaMap.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/ConsistentMapBackedJavaMap.java
index 5183924..7c23c65 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/ConsistentMapBackedJavaMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/ConsistentMapBackedJavaMap.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CopycatCommunicationProtocol.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CopycatCommunicationProtocol.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CopycatCommunicationProtocol.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CopycatCommunicationProtocol.java
index 88ddae6..e40665f 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/CopycatCommunicationProtocol.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/CopycatCommunicationProtocol.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.net.URI;
 import java.nio.ByteBuffer;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Database.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Database.java
index 52a999a..bacf9f6 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Database.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Database.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 
 import java.util.function.Consumer;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseConfig.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseConfig.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseConfig.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseConfig.java
index bd774b9..57dd31c 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseConfig.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseConfig.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.typesafe.config.ConfigValueFactory;
 import net.kuujo.copycat.cluster.ClusterConfig;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseManager.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseManager.java
index 8436526..b35b930 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseManager.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseManager.java
@@ -14,16 +14,23 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Multimaps;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.Futures;
+import static org.onosproject.app.ApplicationEvent.Type.APP_DEACTIVATED;
+import static org.onosproject.app.ApplicationEvent.Type.APP_UNINSTALLED;
+import static org.slf4j.LoggerFactory.getLogger;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 import net.kuujo.copycat.CopycatConfig;
 import net.kuujo.copycat.cluster.ClusterConfig;
@@ -58,37 +65,29 @@
 import org.onosproject.core.IdGenerator;
 import org.onosproject.persistence.PersistenceService;
 import org.onosproject.store.cluster.messaging.ClusterCommunicationService;
-import org.onosproject.store.ecmap.EventuallyConsistentMapBuilderImpl;
 import org.onosproject.store.service.AtomicCounterBuilder;
 import org.onosproject.store.service.AtomicValueBuilder;
 import org.onosproject.store.service.ConsistentMapBuilder;
 import org.onosproject.store.service.ConsistentMapException;
 import org.onosproject.store.service.DistributedQueueBuilder;
+import org.onosproject.store.service.DistributedSetBuilder;
 import org.onosproject.store.service.EventuallyConsistentMapBuilder;
 import org.onosproject.store.service.MapInfo;
 import org.onosproject.store.service.PartitionInfo;
-import org.onosproject.store.service.DistributedSetBuilder;
 import org.onosproject.store.service.StorageAdminService;
 import org.onosproject.store.service.StorageService;
 import org.onosproject.store.service.Transaction;
 import org.onosproject.store.service.TransactionContextBuilder;
 import org.slf4j.Logger;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-import static org.slf4j.LoggerFactory.getLogger;
-import static org.onosproject.app.ApplicationEvent.Type.APP_UNINSTALLED;
-import static org.onosproject.app.ApplicationEvent.Type.APP_DEACTIVATED;
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Multimap;
+import com.google.common.collect.Multimaps;
+import com.google.common.collect.Sets;
+import com.google.common.util.concurrent.Futures;
 
 /**
  * Database manager.
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabasePartitioner.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabasePartitioner.java
similarity index 96%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabasePartitioner.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabasePartitioner.java
index 740f81a..f5ccdda 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabasePartitioner.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabasePartitioner.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.Preconditions.checkState;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseProxy.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseProxy.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseProxy.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseProxy.java
index ab5f987..5c675eb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseProxy.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseProxy.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onlab.util.Match;
 import org.onosproject.store.service.Transaction;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseSerializer.java
similarity index 96%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseSerializer.java
index 9af7445..872bbeb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseSerializer.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseSerializer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.nio.ByteBuffer;
 
@@ -76,7 +76,7 @@
             .register(Result.Status.class)
             .register(DefaultTransaction.class)
             .register(Transaction.State.class)
-            .register(org.onosproject.store.consistent.impl.CommitResponse.class)
+            .register(org.onosproject.store.primitives.impl.CommitResponse.class)
             .register(Match.class)
             .register(NodeId.class)
             .build();
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseState.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseState.java
index 65ffd92..de308f5 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DatabaseState.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import net.kuujo.copycat.state.Command;
 import net.kuujo.copycat.state.Initializer;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicCounter.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicCounter.java
index e6972c2..1a38727 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicCounter.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicCounter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.AsyncAtomicCounter;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicValue.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicValue.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicValue.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicValue.java
index c223565..912d6d0 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncAtomicValue.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncAtomicValue.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.AsyncAtomicValue;
 import org.onosproject.store.service.AsyncConsistentMap;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMap.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMap.java
index b99bfbf..2ee93ae 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
@@ -50,8 +50,8 @@
 import java.util.stream.Collectors;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onosproject.store.consistent.impl.StateMachineUpdate.Target.MAP_UPDATE;
-import static org.onosproject.store.consistent.impl.StateMachineUpdate.Target.TX_COMMIT;
+import static org.onosproject.store.primitives.impl.StateMachineUpdate.Target.MAP_UPDATE;
+import static org.onosproject.store.primitives.impl.StateMachineUpdate.Target.TX_COMMIT;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncDistributedSet.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncDistributedSet.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncDistributedSet.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncDistributedSet.java
index d67b635..aaa44aa 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAsyncDistributedSet.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAsyncDistributedSet.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounter.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounter.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounter.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounter.java
index 00a98a9..74b6942 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounter.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.AsyncAtomicCounter;
 import org.onosproject.store.service.AtomicCounter;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounterBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounterBuilder.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounterBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounterBuilder.java
index 6596f36..a7a9a55 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicCounterBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicCounterBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.AsyncAtomicCounter;
 import org.onosproject.store.service.AtomicCounter;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValue.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValue.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValue.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValue.java
index f61d330..45808ba 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValue.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValue.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValueBuilder.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValueBuilder.java
index 7fc3e8d..e2f4971 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultAtomicValueBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.AsyncAtomicValue;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
index dd8a5a9..80e3133 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.Collection;
 import java.util.Map;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMapBuilder.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMapBuilder.java
index 0e11794..cfd9425 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultConsistentMapBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultConsistentMapBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.core.ApplicationId;
 import org.onosproject.store.service.AsyncConsistentMap;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabase.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabase.java
index 59b6565..53edcbf 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabase.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabase.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.collect.Sets;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabaseState.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabaseState.java
index 3bb413c..45869ff 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDatabaseState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDatabaseState.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableList;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueue.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueue.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueue.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueue.java
index edcd26a..8ea1d72 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueue.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueue.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.Futures;
@@ -28,7 +28,7 @@
 import java.util.concurrent.CompletableFuture;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onosproject.store.consistent.impl.StateMachineUpdate.Target.QUEUE_PUSH;
+import static org.onosproject.store.primitives.impl.StateMachineUpdate.Target.QUEUE_PUSH;
 
 /**
  * DistributedQueue implementation that provides FIFO ordering semantics.
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueueBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueueBuilder.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueueBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueueBuilder.java
index d6654e2..ea3665e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedQueueBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedQueueBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.DistributedQueue;
 import org.onosproject.store.service.DistributedQueueBuilder;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSet.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSet.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSet.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSet.java
index 5092892..39c9f07 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSet.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSet.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.AsyncDistributedSet;
 import org.onosproject.store.service.ConsistentMapException;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSetBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSetBuilder.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSetBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSetBuilder.java
index 92e3e9a..304044c 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultDistributedSetBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultDistributedSetBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.core.ApplicationId;
 import org.onosproject.store.service.AsyncDistributedSet;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransaction.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransaction.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransaction.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransaction.java
index 2ff7a2d..406e901 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransaction.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransaction.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.List;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContext.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContext.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
index 7388822..c8abc04 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContext.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContext.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.List;
 import java.util.Map;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContextBuilder.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContextBuilder.java
index f20bfb8..36b2831 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionContextBuilder.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionContextBuilder.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.service.TransactionContext;
 import org.onosproject.store.service.TransactionContextBuilder;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalMap.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
index ade7033..3594adb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.List;
 import java.util.Map;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalSet.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalSet.java
similarity index 96%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalSet.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalSet.java
index 11fcb80..f03e59e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultTransactionalSet.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DefaultTransactionalSet.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 
 import org.onosproject.store.service.Serializer;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedLeadershipManager.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedLeadershipManager.java
index 704df83..db55a85 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/DistributedLeadershipManager.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapBuilderImpl.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapBuilderImpl.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapBuilderImpl.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapBuilderImpl.java
index eb98c82..7ab30ea 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapBuilderImpl.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapBuilderImpl.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import org.onlab.util.KryoNamespace;
 import org.onosproject.cluster.ClusterService;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
index 649e5a8..f595e6a 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
@@ -13,35 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import org.apache.commons.lang3.tuple.Pair;
-import org.onlab.util.AbstractAccumulator;
-import org.onlab.util.KryoNamespace;
-import org.onlab.util.SlidingWindowCounter;
-import org.onosproject.cluster.ClusterService;
-import org.onosproject.cluster.ControllerNode;
-import org.onosproject.cluster.NodeId;
-import org.onosproject.persistence.PersistenceService;
-import org.onosproject.store.Timestamp;
-import org.onosproject.store.cluster.messaging.ClusterCommunicationService;
-import org.onosproject.store.cluster.messaging.MessageSubject;
-import org.onosproject.store.impl.LogicalTimestamp;
-import org.onosproject.store.serializers.KryoNamespaces;
-import org.onosproject.store.serializers.KryoSerializer;
-import org.onosproject.store.service.EventuallyConsistentMap;
-import org.onosproject.store.service.EventuallyConsistentMapEvent;
-import org.onosproject.store.service.EventuallyConsistentMapListener;
-import org.onosproject.store.service.Serializer;
-import org.onosproject.store.service.WallClockTimestamp;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;
+import static org.onlab.util.BoundedThreadPool.newFixedThreadPool;
+import static org.onlab.util.Tools.groupedThreads;
+import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.PUT;
+import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.REMOVE;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -60,13 +40,34 @@
 import java.util.function.BiFunction;
 import java.util.stream.Collectors;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;
-import static org.onlab.util.BoundedThreadPool.newFixedThreadPool;
-import static org.onlab.util.Tools.groupedThreads;
-import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.PUT;
-import static org.onosproject.store.service.EventuallyConsistentMapEvent.Type.REMOVE;
+import org.apache.commons.lang3.tuple.Pair;
+import org.onlab.util.AbstractAccumulator;
+import org.onlab.util.KryoNamespace;
+import org.onlab.util.SlidingWindowCounter;
+import org.onosproject.cluster.ClusterService;
+import org.onosproject.cluster.ControllerNode;
+import org.onosproject.cluster.NodeId;
+import org.onosproject.persistence.PersistenceService;
+import org.onosproject.store.LogicalTimestamp;
+import org.onosproject.store.Timestamp;
+import org.onosproject.store.cluster.messaging.ClusterCommunicationService;
+import org.onosproject.store.cluster.messaging.MessageSubject;
+import org.onosproject.store.serializers.KryoNamespaces;
+import org.onosproject.store.serializers.KryoSerializer;
+import org.onosproject.store.service.EventuallyConsistentMap;
+import org.onosproject.store.service.EventuallyConsistentMapEvent;
+import org.onosproject.store.service.EventuallyConsistentMapListener;
+import org.onosproject.store.service.Serializer;
+import org.onosproject.store.service.WallClockTimestamp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 
 /**
  * Distributed Map implementation which uses optimistic replication and gossip
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/MapDbPersistentStore.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapDbPersistentStore.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/MapDbPersistentStore.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapDbPersistentStore.java
index f5ce47f..2a58992 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/MapDbPersistentStore.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapDbPersistentStore.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import org.mapdb.DB;
 import org.mapdb.DBMaker;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/MapValue.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapValue.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/MapValue.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapValue.java
index 5679565..8d98a23 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/MapValue.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MapValue.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import org.onosproject.store.Timestamp;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MappingSet.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MappingSet.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MappingSet.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MappingSet.java
index 9bf80a7..6ca4d4f 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MappingSet.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MappingSet.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.Arrays;
 import java.util.Collection;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MeteringAgent.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MeteringAgent.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MeteringAgent.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MeteringAgent.java
index 6475bf7..27a422e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MeteringAgent.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MeteringAgent.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.codahale.metrics.Counter;
 import com.codahale.metrics.Timer;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MutexExecutionManager.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MutexExecutionManager.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MutexExecutionManager.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MutexExecutionManager.java
index d8593e3..5946fdb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/MutexExecutionManager.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/MutexExecutionManager.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedDatabase.java
similarity index 99%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedDatabase.java
index a78a44a..fdcc59f 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/PartitionedDatabase.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PartitionedDatabase.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Partitioner.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Partitioner.java
similarity index 94%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Partitioner.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Partitioner.java
index de630b9..7cabb3d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Partitioner.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Partitioner.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 /**
  * Partitioner is responsible for mapping keys to individual database partitions.
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/PersistentStore.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PersistentStore.java
similarity index 95%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/PersistentStore.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PersistentStore.java
index e85987a..20381bd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/PersistentStore.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/PersistentStore.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import java.util.Map;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Result.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Result.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Result.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Result.java
index 856f706..acd724c 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/Result.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/Result.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleKeyHashPartitioner.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleKeyHashPartitioner.java
similarity index 95%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleKeyHashPartitioner.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleKeyHashPartitioner.java
index 4086428..c94090a 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleKeyHashPartitioner.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleKeyHashPartitioner.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.List;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleTableHashPartitioner.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleTableHashPartitioner.java
similarity index 95%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleTableHashPartitioner.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleTableHashPartitioner.java
index 8dc26e0..bf7971e 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/SimpleTableHashPartitioner.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/SimpleTableHashPartitioner.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.List;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/StateMachineUpdate.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/StateMachineUpdate.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/StateMachineUpdate.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/StateMachineUpdate.java
index 72356d0..6d1dcd7 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/StateMachineUpdate.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/StateMachineUpdate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/TransactionManager.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/TransactionManager.java
similarity index 98%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/TransactionManager.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/TransactionManager.java
index fc6e58d..7cfc88b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/TransactionManager.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/TransactionManager.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/UpdateEntry.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateEntry.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/ecmap/UpdateEntry.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateEntry.java
index 53683b9..eda2ba4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/UpdateEntry.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateEntry.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/UpdateResult.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateResult.java
similarity index 97%
rename from core/store/dist/src/main/java/org/onosproject/store/consistent/impl/UpdateResult.java
rename to core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateResult.java
index 50b78dd..cd943ba 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/UpdateResult.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/UpdateResult.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import java.util.function.Function;
 
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/package-info.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/package-info.java
index 0176cb5..cb20c3e 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/package-info.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2016 Open Networking Laboratory
+ * Copyright 2015 Open Networking Laboratory
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
  */
 
 /**
- * Implementation for distributed state management primitives.
+ * Implementation of partitioned and distributed store facility capable of
+ * providing consistent update semantics.
  */
-package org.onosproject.store.primitives.impl;
+package org.onosproject.store.primitives.impl;
\ No newline at end of file
diff --git a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMapTest.java
similarity index 98%
rename from core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java
rename to core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMapTest.java
index 8076ba5..a630d1a 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/DefaultAsyncConsistentMapTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/DefaultAsyncConsistentMapTest.java
@@ -13,12 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static java.util.Collections.unmodifiableCollection;
 import static java.util.Collections.unmodifiableSet;
 import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
 
 import java.util.Collection;
 import java.util.Map;
@@ -29,6 +30,10 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.function.Consumer;
 
+import net.kuujo.copycat.Task;
+import net.kuujo.copycat.cluster.Cluster;
+import net.kuujo.copycat.resource.ResourceState;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -44,10 +49,6 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
 
-import net.kuujo.copycat.Task;
-import net.kuujo.copycat.cluster.Cluster;
-import net.kuujo.copycat.resource.ResourceState;
-
 /**
  *
  */
diff --git a/core/store/dist/src/test/java/org/onosproject/store/ecmap/EventuallyConsistentMapImplTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
similarity index 99%
rename from core/store/dist/src/test/java/org/onosproject/store/ecmap/EventuallyConsistentMapImplTest.java
rename to core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
index b74aa37..edd85d8 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/ecmap/EventuallyConsistentMapImplTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
@@ -13,7 +13,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
+
+import static com.google.common.base.Preconditions.checkArgument;
+import static junit.framework.TestCase.assertFalse;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.reset;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -43,11 +58,11 @@
 import org.onosproject.cluster.NodeId;
 import org.onosproject.event.AbstractEvent;
 import org.onosproject.persistence.PersistenceService;
+import org.onosproject.store.LogicalTimestamp;
 import org.onosproject.store.Timestamp;
 import org.onosproject.store.cluster.messaging.ClusterCommunicationService;
 import org.onosproject.store.cluster.messaging.ClusterCommunicationServiceAdapter;
 import org.onosproject.store.cluster.messaging.MessageSubject;
-import org.onosproject.store.impl.LogicalTimestamp;
 import org.onosproject.store.persistence.TestPersistenceService;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.serializers.KryoSerializer;
@@ -61,21 +76,6 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.util.concurrent.MoreExecutors;
 
-import static com.google.common.base.Preconditions.checkArgument;
-import static junit.framework.TestCase.assertFalse;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reset;
-import static org.easymock.EasyMock.verify;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 /**
  * Unit tests for EventuallyConsistentMapImpl.
  */
diff --git a/core/store/dist/src/test/java/org/onosproject/store/ecmap/MapValueTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
similarity index 93%
rename from core/store/dist/src/test/java/org/onosproject/store/ecmap/MapValueTest.java
rename to core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
index d6dca9b..3f6a6f8 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/ecmap/MapValueTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/MapValueTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.ecmap;
+package org.onosproject.store.primitives.impl;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -21,9 +21,9 @@
 import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
+import org.onosproject.store.LogicalTimestamp;
 import org.onosproject.store.Timestamp;
-import org.onosproject.store.ecmap.MapValue.Digest;
-import org.onosproject.store.impl.LogicalTimestamp;
+import org.onosproject.store.primitives.impl.MapValue.Digest;
 
 /**
  * Unit tests for MapValue.
diff --git a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/ResultTest.java
similarity index 96%
rename from core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java
rename to core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/ResultTest.java
index 2d329d1..3624fa2 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/ResultTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/ResultTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static junit.framework.TestCase.assertEquals;
 import static junit.framework.TestCase.assertFalse;
diff --git a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/UpdateResultTest.java
similarity index 98%
rename from core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java
rename to core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/UpdateResultTest.java
index ab53710..3426315 100644
--- a/core/store/dist/src/test/java/org/onosproject/store/consistent/impl/UpdateResultTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/UpdateResultTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.store.consistent.impl;
+package org.onosproject.store.primitives.impl;
 
 import static junit.framework.TestCase.assertEquals;
 import static junit.framework.TestCase.assertNull;