Updating MatchAction objects with no-arg constructors and registering them with Kryo

Change-Id: I3512b2e99624c3f496d786ea99133b385a35094e
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchAction.java b/src/main/java/net/onrc/onos/core/matchaction/MatchAction.java
index 5f7d9fb..fdf1fc7 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchAction.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchAction.java
@@ -32,6 +32,16 @@
     }
 
     /**
+     * no-arg constructor for Kryo.
+     */
+    protected MatchAction() {
+        id = null;
+        port = null;
+        match = null;
+        actions = null;
+    }
+
+    /**
      * Constructor. TEMPORARY
      *
      * @param id ID for this MatchAction object
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionId.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionId.java
index 0bddffa..bea973e 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionId.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionId.java
@@ -20,6 +20,13 @@
     }
 
     /**
+     * no-arg constructor for Kryo.
+     */
+    protected MatchActionId() {
+        value = -1;
+    }
+
+    /**
      * Returns the MatchActionId as a long.
      *
      * @return MatchAction ID
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperations.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperations.java
index e87fcda..73cff28 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperations.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperations.java
@@ -1,11 +1,11 @@
 package net.onrc.onos.core.matchaction;
 
-import net.onrc.onos.api.batchoperation.BatchOperation;
+import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.HashSet;
 import java.util.Set;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import net.onrc.onos.api.batchoperation.BatchOperation;
 
 /**
  * The MatchActionOperations class holds a list of MatchActionOperationEntry
@@ -39,6 +39,14 @@
     }
 
     /**
+     * no-arg constructor for Kryo.
+     */
+    protected MatchActionOperations() {
+        id = null;
+        dependencies = null;
+    }
+
+    /**
      * Gets the identifier for the Match Action Operations object.
      *
      * @return identifier for the Opertions object
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperationsId.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperationsId.java
index e346732..93f2ec7 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperationsId.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionOperationsId.java
@@ -19,6 +19,13 @@
     }
 
     /**
+     * no-arg instructor for Kryo.
+     */
+    protected MatchActionOperationsId() {
+        id = -1;
+    }
+
+    /**
      * Gets the identifier for the Operations object.
      *
      * @return Operations object identifier as a string
diff --git a/src/main/java/net/onrc/onos/core/matchaction/SwitchResult.java b/src/main/java/net/onrc/onos/core/matchaction/SwitchResult.java
index 6faaa0d..b5db2e8 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/SwitchResult.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/SwitchResult.java
@@ -7,7 +7,7 @@
     private Status status;
     private MatchActionOperationsId matchSetId;
 
-    protected enum Status {
+    public enum Status {
         SUCCESS,
         FAILURE,
         UNKNOWN
@@ -19,6 +19,13 @@
         this.matchSetId = match;
     }
 
+    /**
+     * no-arg constructor for Kryo.
+     */
+    protected SwitchResult() {
+
+    }
+
     protected void setStatus(Status newStatus) {
         this.status = newStatus;
     }