Change Intent classes to self contained

Change-Id: I0def86a280646983efb98dbe5937b93b4c9a4885
diff --git a/src/main/java/net/onrc/onos/intent/ShortestPathIntent.java b/src/main/java/net/onrc/onos/intent/ShortestPathIntent.java
index 3fdcf66..2677942 100644
--- a/src/main/java/net/onrc/onos/intent/ShortestPathIntent.java
+++ b/src/main/java/net/onrc/onos/intent/ShortestPathIntent.java
@@ -1,90 +1,66 @@
 package net.onrc.onos.intent;
 
-import com.esotericsoftware.kryo.io.Input;
-import com.esotericsoftware.kryo.io.Output;
-
 import net.floodlightcontroller.util.MACAddress;
-import net.onrc.onos.ofcontroller.networkgraph.NetworkGraph;
-import net.onrc.onos.ofcontroller.networkgraph.Port;
+import net.onrc.onos.ofcontroller.util.Dpid;
 
 /**
  * @author Toshio Koide (t-koide@onlab.us)
  */
 public class ShortestPathIntent extends Intent {
-	protected Port srcPort = null;
-	protected Port dstPort = null;
-	protected MACAddress srcMac = null;
-	protected MACAddress dstMac = null;
+	protected long srcSwitchDpid;
+	protected long srcPortNumber;
+	protected long srcMacAddress;
+	protected long dstSwitchDpid;
+	protected long dstPortNumber;
+	protected long dstMacAddress;
 
-	public ShortestPathIntent(String id,
-			Port srcPort, MACAddress srcMac,
-			Port dstPort, MACAddress dstMac) {
-		super(id);
-		this.srcPort = srcPort;
-		this.dstPort = dstPort;
-		this.srcMac = srcMac;
-		this.dstMac = dstMac;
+	/**
+	 * Default constructor for Kryo deserialization
+	 */
+	@Deprecated
+	public ShortestPathIntent() {
 	}
 
-	public ShortestPathIntent(NetworkGraph graph, String id,
+	public ShortestPathIntent(String id,
 			long srcSwitch, long srcPort, long srcMac,
 			long dstSwitch, long dstPort, long dstMac) {
 		super(id);
-		this.srcPort = graph.getSwitch(srcSwitch).getPort(srcPort);
-		this.dstPort = graph.getSwitch(dstSwitch).getPort(srcPort);
-		this.srcMac = MACAddress.valueOf(srcMac);
-		this.dstMac = MACAddress.valueOf(dstMac);
+		srcSwitchDpid = srcSwitch;
+		srcPortNumber = srcPort;
+		srcMacAddress = srcMac;
+		dstSwitchDpid = dstSwitch;
+		dstPortNumber = dstPort;
+		dstMacAddress = dstMac;
 	}
 
-	public static ShortestPathIntent fromBytes(NetworkGraph graph, byte[] bytes) {
-		Input input = new Input(bytes);
-		ShortestPathIntent intent = new ShortestPathIntent(graph,
-				input.readString(),
-				input.readLong(),
-				input.readLong(),
-				input.readLong(),
-				input.readLong(),
-				input.readLong(),
-				input.readLong());
-		input.close();
-		return intent;
-		}
-
-	public Port getSourcePort() {
-		return srcPort;
+	public long getSrcSwitchDpid() {
+		return srcSwitchDpid;
 	}
 
-	public MACAddress getSourceMac() {
-		return srcMac;
+	public long getSrcPortNumber() {
+		return srcPortNumber;
 	}
 
-	public Port getDestinationPort() {
-		return dstPort;
+	public long getSrcMac() {
+		return srcMacAddress;
 	}
 
-	public MACAddress getDestinationMac() {
-		return dstMac;
+	public long getDstSwitchDpid() {
+		return dstSwitchDpid;
+	}
+
+	public long getDstPortNumber() {
+		return dstPortNumber;
+	}
+
+	public long getDstMac() {
+		return dstMacAddress;
 	}
 
 	@Override
 	public String toString() {
-		return String.format("srcPort:%s, srcMac:%s, dstPort:%s, dstMac:%s",
-				srcPort.toString(), srcMac.toString(),
-				dstPort.toString(), dstMac.toString());
-	}
-
-	@Override
-	public byte[] toBytes() {
-		byte[] buffer = new byte[1024];
-		Output output = new Output(buffer, -1);
-		output.writeString(id);
-		output.writeLong(srcPort.getSwitch().getDpid());
-		output.writeLong(srcPort.getNumber());
-		output.writeLong(srcMac.toLong());
-		output.writeLong(dstPort.getSwitch().getDpid());
-		output.writeLong(dstPort.getNumber());
-		output.writeLong(dstMac.toLong());
-		output.close();
-		return output.toBytes();
+		return String.format("srcDpid:%s, srcPort:%d, srcMac:%s, dstDpid:%s, dstPort:%d, dstMac:%s",
+				new Dpid(srcSwitchDpid), srcPortNumber, MACAddress.valueOf(srcMacAddress),
+				new Dpid(dstSwitchDpid), dstPortNumber, MACAddress.valueOf(dstMacAddress));
 	}
 }