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();
+ }
+}