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;
}