ONOS-1400: Fixing BgpRouter functionality break due to distributed group store changes

Change-Id: I7e0dd3bb32333a19ab234ad66b84fd22a06fc341
diff --git a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
index b50681e..11de4ae 100644
--- a/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
+++ b/apps/bgprouter/src/main/java/org/onosproject/bgprouter/BgpRouter.java
@@ -29,6 +29,8 @@
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.onlab.packet.Ethernet;
+import org.onlab.packet.Ip4Address;
+import org.onlab.packet.Ip6Address;
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
@@ -145,10 +147,14 @@
 
     private InternalTableHandler provisionStaticTables = new InternalTableHandler();
 
-    private KryoNamespace.Builder appKryo = new KryoNamespace.Builder()
+    private KryoNamespace appKryo = new KryoNamespace.Builder()
                     .register(IpAddress.Version.class)
                     .register(IpAddress.class)
-                    .register(NextHopGroupKey.class);
+                    .register(Ip4Address.class)
+                    .register(Ip6Address.class)
+                    .register(byte[].class)
+                    .register(NextHopGroupKey.class)
+                    .build();
 
     @Activate
     protected void activate() {
@@ -219,7 +225,7 @@
                 NextHop nextHop = nextHops.get(entry.nextHopIp());
                 group = groupService.getGroup(deviceId,
                                               new DefaultGroupKey(
-                                              appKryo.build().serialize(nextHop.group())));
+                                              appKryo.serialize(nextHop.group())));
 
                 if (group == null) {
                     log.debug("Adding pending flow {}", update.entry());
@@ -317,8 +323,8 @@
                     = new DefaultGroupDescription(deviceId,
                                                   GroupDescription.Type.INDIRECT,
                                                   new GroupBuckets(Collections
-                                                                           .singletonList(bucket)),
-                                                  new DefaultGroupKey(appKryo.build().serialize(groupKey)),
+                                                           .singletonList(bucket)),
+                                                  new DefaultGroupKey(appKryo.serialize(groupKey)),
                                                   appId);
 
             groupService.addGroup(groupDescription);
@@ -340,7 +346,6 @@
 
         Group group = groupService.getGroup(deviceId,
                                             new DefaultGroupKey(appKryo.
-                                                                build().
                                                                 serialize(nextHop.group())));
 
         // FIXME disabling group deletes for now until we verify the logic is OK
@@ -714,7 +719,7 @@
                 synchronized (pendingUpdates) {
 
                     NextHopGroupKey nhGroupKey =
-                            appKryo.build().deserialize(group.appCookie().key());
+                            appKryo.deserialize(group.appCookie().key());
                     Map<FibEntry, Group> entriesToInstall =
                             pendingUpdates.removeAll(nhGroupKey)
                                     .stream()