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;
}
diff --git a/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java b/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
index fbb7999..134f0d7 100644
--- a/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
+++ b/src/main/java/net/onrc/onos/core/util/serializers/KryoFactory.java
@@ -47,6 +47,14 @@
import net.onrc.onos.core.intent.PathIntent;
import net.onrc.onos.core.intent.ShortestPathIntent;
import net.onrc.onos.core.intent.runtime.IntentStateList;
+import net.onrc.onos.core.matchaction.MatchAction;
+import net.onrc.onos.core.matchaction.MatchActionId;
+import net.onrc.onos.core.matchaction.MatchActionOperationEntry;
+import net.onrc.onos.core.matchaction.MatchActionOperations;
+import net.onrc.onos.core.matchaction.MatchActionOperationsId;
+import net.onrc.onos.core.matchaction.MatchActionOperationsState;
+import net.onrc.onos.core.matchaction.SwitchResult;
+import net.onrc.onos.core.matchaction.SwitchResultList;
import net.onrc.onos.core.matchaction.action.ModifyDstMacAction;
import net.onrc.onos.core.matchaction.action.ModifySrcMacAction;
import net.onrc.onos.core.matchaction.action.OutputAction;
@@ -267,10 +275,20 @@
kryo.register(SingleDstTreeFlow.class);
// New match action related classes
+ kryo.register(MatchAction.class);
+ kryo.register(MatchActionId.class);
kryo.register(PacketMatch.class);
kryo.register(OutputAction.class);
kryo.register(ModifyDstMacAction.class);
kryo.register(ModifySrcMacAction.class);
+ kryo.register(MatchActionOperations.class);
+ kryo.register(MatchActionOperations.Operator.class);
+ kryo.register(MatchActionOperationsId.class);
+ kryo.register(MatchActionOperationsState.class);
+ kryo.register(MatchActionOperationEntry.class);
+ kryo.register(SwitchResultList.class);
+ kryo.register(SwitchResult.class);
+ kryo.register(SwitchResult.Status.class);
// Host-related classes
kryo.register(HashSet.class);