Reimplement the shortest path computation by using the new DataPath and FlowEntry containers.
diff --git a/src/main/java/net/floodlightcontroller/util/DataPath.java b/src/main/java/net/floodlightcontroller/util/DataPath.java
index 9ec9380..71e0a2f 100644
--- a/src/main/java/net/floodlightcontroller/util/DataPath.java
+++ b/src/main/java/net/floodlightcontroller/util/DataPath.java
@@ -19,6 +19,7 @@
      * Default constructor.
      */
     public DataPath() {
+	flowEntries = new ArrayList<FlowEntry>();
     }
 
     /**
diff --git a/src/main/java/net/floodlightcontroller/util/Port.java b/src/main/java/net/floodlightcontroller/util/Port.java
index 52fdf50..19bbf8f 100644
--- a/src/main/java/net/floodlightcontroller/util/Port.java
+++ b/src/main/java/net/floodlightcontroller/util/Port.java
@@ -16,6 +16,15 @@
     }
 
     /**
+     * Constructor from another entry.
+     *
+     * @param other the other entry to use.
+     */
+    public Port(Port other) {
+	this.value = other.value();
+    }
+
+    /**
      * Constructor from a long value.
      *
      * @param value the value to use.