Implement DeviceImpl and Path class, and minor change

Change-Id: I666d6d7e00620220048c5f8031a7c7c149ec89cd
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/DeviceImpl.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/DeviceImpl.java
new file mode 100644
index 0000000..09597a1
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/DeviceImpl.java
@@ -0,0 +1,58 @@
+package net.onrc.onos.ofcontroller.networkgraph;
+
+import java.net.InetAddress;
+import java.util.Collection;
+import java.util.LinkedList;
+
+import net.floodlightcontroller.util.MACAddress;
+
+/**
+ * @author Toshio Koide (t-koide@onlab.us)
+ */
+public class DeviceImpl implements Device {
+	LinkedList<Port> attachmentPoints = new LinkedList<Port>();
+	MACAddress macAddr;
+
+	public DeviceImpl(NetworkGraph graph, MACAddress macAddr) { 
+		this.macAddr = macAddr;
+	}
+	
+	@Override
+	public MACAddress getMacAddress() {
+		return macAddr;
+	}
+
+	@Override
+	public Collection<InetAddress> getIpAddress() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/**
+	 * @return ports attached to the device.
+	 * The last added port is stored as the first element.
+	 */
+	@Override
+	public Iterable<Port> getAttachmentPoints() {
+		return attachmentPoints;
+	}
+
+	@Override
+	public long getLastSeenTime() {
+		// TODO Auto-generated method stub
+		return 0;
+	}
+	
+	public void addAttachmentPoint(Port port) {
+		attachmentPoints.add(0, port);
+	}
+	
+	public void removeAttachmentPoint(Port port) {
+		attachmentPoints.remove(port);
+	}
+	
+	@Override
+	public String toString() {
+		return macAddr.toString();
+	}
+}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/FloodlightToOnosMappers.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/FloodlightToOnosMappers.java
index ebff81d..dbf8750 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/FloodlightToOnosMappers.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/FloodlightToOnosMappers.java
@@ -17,7 +17,7 @@
 	}
 
 	public static Port map(NetworkGraph graph, SwitchImpl sw, OFPhysicalPort port) {
-		PortImpl onosPort = new PortImpl(graph, sw, new Long(port.getPortNumber()));
+		PortImpl onosPort = new PortImpl(graph, sw, Long.valueOf(port.getPortNumber()));
 		onosPort.setDescription(port.getName());
 		return onosPort;
 	}
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/Path.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/Path.java
new file mode 100644
index 0000000..4666345
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/Path.java
@@ -0,0 +1,24 @@
+package net.onrc.onos.ofcontroller.networkgraph;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/**
+ * Base class for Path representation
+ * @author Toshio Koide (t-koide@onlab.us)
+ */
+public class Path extends LinkedList<Link> {
+	private static final long serialVersionUID = 7127274096495173415L;
+	
+	@Override
+	public String toString() {
+		StringBuilder builder = new StringBuilder();
+		Iterator<Link> i = this.iterator();
+		while (i.hasNext()) {
+			builder.append(i.next().toString());
+			if (i.hasNext())
+				builder.append(", ");
+		}
+		return builder.toString();
+	}
+}