Register flow-manager and match-action related classes to KryoFactory.

- The following classes are now registered and available on KryoFactory:
 -- FlowId
 -- Path
 -- Tree
 -- FlowLink
 -- OpticalPathFlow
 -- PacketPathFlow
 -- SingleDstTreeFlow
 -- PacketMatch
 -- OutputAction
 -- ModifyDstMacAction
 -- ModifyDstMacAction
- This task is a preperation for ONOS-1736 and ONOS-1842.

Change-Id: If438f5175e68672e0ce02f56681c35c3be87f0bc
diff --git a/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java b/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
index 491d986..c39cebe 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/action/ModifyDstMacAction.java
@@ -15,6 +15,14 @@
     private final MACAddress dstMac;
 
     /**
+     * Default constructor for Kryo deserialization.
+     */
+    @Deprecated
+    protected ModifyDstMacAction() {
+        dstMac = null;
+    }
+
+    /**
      * Constructor.
      *
      * @param dstMac destination MAC address after the modification
diff --git a/src/main/java/net/onrc/onos/core/matchaction/action/ModifySrcMacAction.java b/src/main/java/net/onrc/onos/core/matchaction/action/ModifySrcMacAction.java
index 21ecf32..e679e29 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/action/ModifySrcMacAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/action/ModifySrcMacAction.java
@@ -15,6 +15,14 @@
     private final MACAddress srcMac;
 
     /**
+     * Default constructor for Kryo deserialization.
+     */
+    @Deprecated
+    protected ModifySrcMacAction() {
+        srcMac = null;
+    }
+
+    /**
      * Constructor.
      *
      * @param srcMac source MAC address after the modification
diff --git a/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java b/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
index 2453640..10b5aaf 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/action/OutputAction.java
@@ -15,6 +15,14 @@
     private final PortNumber portNumber;
 
     /**
+     * Default constructor for Kryo deserialization.
+     */
+    @Deprecated
+    protected OutputAction() {
+        portNumber = null;
+    }
+
+    /**
      * Constructor.
      *
      * @param dstPort The port number of the target output port.
diff --git a/src/main/java/net/onrc/onos/core/matchaction/match/PacketMatch.java b/src/main/java/net/onrc/onos/core/matchaction/match/PacketMatch.java
index c9b1f9d..c49c3d8 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/match/PacketMatch.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/match/PacketMatch.java
@@ -26,6 +26,21 @@
     private final Short dstTcpPort;
 
     /**
+     * Default constructor for Kryo deserialization.
+     */
+    @Deprecated
+    protected PacketMatch() {
+        srcMac = null;
+        dstMac = null;
+        etherType = null;
+        srcIp = null;
+        dstIp = null;
+        ipProto = null;
+        srcTcpPort = null;
+        dstTcpPort = null;
+    }
+
+    /**
      * Package private constructor.
      * <p>
      * This class should be instantiated by the builder.