Register Intent-related classes to KryoFactory and fix bugs

Change-Id: I591c8788dda31c658a6d985d394653524d884c5d
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java b/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
index 0d9f116..840ece5 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/serializers/KryoFactory.java
@@ -5,6 +5,12 @@
 import java.util.TreeMap;
 
 import net.floodlightcontroller.util.MACAddress;
+import net.onrc.onos.intent.ConstrainedShortestPathIntent;
+import net.onrc.onos.intent.Intent;
+import net.onrc.onos.intent.IntentOperation;
+import net.onrc.onos.intent.IntentOperationList;
+import net.onrc.onos.intent.PathIntent;
+import net.onrc.onos.intent.ShortestPathIntent;
 import net.onrc.onos.ofcontroller.networkgraph.DeviceEvent;
 import net.onrc.onos.ofcontroller.networkgraph.LinkEvent;
 import net.onrc.onos.ofcontroller.networkgraph.PortEvent;
@@ -37,6 +43,7 @@
 import net.onrc.onos.ofcontroller.util.Switch;
 // import net.onrc.onos.ofcontroller.util.SwitchPort;
 
+
 import com.esotericsoftware.kryo.Kryo;
 
 /**
@@ -168,6 +175,16 @@
 	kryo.register(SwitchEvent.class);
 	kryo.register(TopologyEvent.class);
 
+	// Intent-related classes
+	kryo.register(IntentOperationList.class);
+	kryo.register(IntentOperation.class);
+	kryo.register(PathIntent.class);
+	kryo.register(ShortestPathIntent.class);
+	kryo.register(ConstrainedShortestPathIntent.class);
+	kryo.register(Intent.IntentState.class);
+	kryo.register(long[].class);
+	kryo.register(IntentOperation.Operator.class);
+
 	return kryo;
     }
 }