Deprecate KryoSerializer.

Change-Id: I2403b95c2d7a8af69dff55a0e40a35b223127c85
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
index 19519d0..2374691 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImpl.java
@@ -54,7 +54,7 @@
 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.serializers.StoreSerializer;
 import org.onosproject.store.service.EventuallyConsistentMap;
 import org.onosproject.store.service.EventuallyConsistentMapEvent;
 import org.onosproject.store.service.EventuallyConsistentMapListener;
@@ -83,7 +83,7 @@
 
     private final ClusterService clusterService;
     private final ClusterCommunicationService clusterCommunicator;
-    private final KryoSerializer serializer;
+    private final StoreSerializer serializer;
     private final NodeId localNodeId;
     private final PersistenceService persistenceService;
 
@@ -268,12 +268,8 @@
         this.lightweightAntiEntropy = !convergeFaster;
     }
 
-    private KryoSerializer createSerializer(KryoNamespace.Builder builder) {
-        return new KryoSerializer() {
-            @Override
-            protected void setupKryoPool() {
-                // Add the map's internal helper classes to the user-supplied serializer
-                serializerPool = builder
+    private StoreSerializer createSerializer(KryoNamespace.Builder builder) {
+        return StoreSerializer.using(builder
                         .register(KryoNamespaces.BASIC)
                         .nextId(KryoNamespaces.BEGIN_USER_CUSTOM_ID)
                         .register(LogicalTimestamp.class)
@@ -283,9 +279,7 @@
                         .register(UpdateEntry.class)
                         .register(MapValue.class)
                         .register(MapValue.Digest.class)
-                        .build();
-            }
-        };
+                        .build(name()));
     }
 
     @Override
@@ -340,7 +334,7 @@
 
         MapValue<V> newValue = new MapValue<>(value, timestampProvider.apply(key, value));
         if (putInternal(key, newValue)) {
-            notifyPeers(new UpdateEntry<K, V>(key, newValue), peerUpdateFunction.apply(key, value));
+            notifyPeers(new UpdateEntry<>(key, newValue), peerUpdateFunction.apply(key, value));
             notifyListeners(new EventuallyConsistentMapEvent<>(mapName, PUT, key, value));
         }
     }
@@ -595,7 +589,7 @@
     }
 
     private AntiEntropyAdvertisement<K> createAdvertisement() {
-        return new AntiEntropyAdvertisement<K>(localNodeId,
+        return new AntiEntropyAdvertisement<>(localNodeId,
                 ImmutableMap.copyOf(Maps.transformValues(items, MapValue::digest)));
     }
 
diff --git a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
index 3d9dc4e..0012d68 100644
--- a/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
+++ b/core/store/primitives/src/test/java/org/onosproject/store/primitives/impl/EventuallyConsistentMapImplTest.java
@@ -37,7 +37,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CountDownLatch;
@@ -58,19 +57,15 @@
 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.persistence.TestPersistenceService;
 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.WallClockTimestamp;
-
 import com.google.common.collect.ComparisonChain;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -105,31 +100,6 @@
     private Consumer<Collection<UpdateEntry<String, String>>> updateHandler;
     private Function<AntiEntropyAdvertisement<String>, AntiEntropyResponse> antiEntropyHandler;
 
-    /*
-     * Serialization is a bit tricky here. We need to serialize in the tests
-     * to set the expectations, which will use this serializer here, but the
-     * EventuallyConsistentMap will use its own internal serializer. This means
-     * this serializer must be set up exactly the same as map's internal
-     * serializer.
-     */
-    private static final KryoSerializer SERIALIZER = new KryoSerializer() {
-        @Override
-        protected void setupKryoPool() {
-            serializerPool = KryoNamespace.newBuilder()
-                    // Classes we give to the map
-                    .register(KryoNamespaces.API)
-                    .register(TestTimestamp.class)
-                    // Below is the classes that the map internally registers
-                    .register(LogicalTimestamp.class)
-                    .register(WallClockTimestamp.class)
-                    .register(ArrayList.class)
-                    .register(AntiEntropyAdvertisement.class)
-                    .register(HashMap.class)
-                    .register(Optional.class)
-                    .build();
-        }
-    };
-
     @Before
     public void setUp() throws Exception {
         clusterService = createMock(ClusterService.class);