Move indices to TopologyImpl.
Change-Id: I3efd73129fafb786e959810e8239ce14d26af6d7
diff --git a/src/main/java/net/onrc/onos/core/topology/SwitchImpl.java b/src/main/java/net/onrc/onos/core/topology/SwitchImpl.java
index 4952c6f..ad13a79 100644
--- a/src/main/java/net/onrc/onos/core/topology/SwitchImpl.java
+++ b/src/main/java/net/onrc/onos/core/topology/SwitchImpl.java
@@ -1,18 +1,15 @@
package net.onrc.onos.core.topology;
-import net.onrc.onos.core.util.Dpid;
-import net.onrc.onos.core.util.PortNumber;
-
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import net.onrc.onos.core.util.Dpid;
+import net.onrc.onos.core.util.PortNumber;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
/**
@@ -24,9 +21,6 @@
public class SwitchImpl extends TopologyObject implements Switch {
private Dpid dpid;
- // These needs to be ConcurrentCollecton if allowing the topology to be
- // accessed concurrently
- private final Map<PortNumber, Port> ports;
public SwitchImpl(Topology topology, Long dpid) {
this(topology, new Dpid(dpid));
@@ -35,7 +29,6 @@
public SwitchImpl(Topology topology, Dpid dpid) {
super(topology);
this.dpid = dpid;
- ports = new HashMap<>();
}
@Override
@@ -45,12 +38,12 @@
@Override
public Collection<Port> getPorts() {
- return Collections.unmodifiableCollection(ports.values());
+ return topology.getPorts(getDpid());
}
@Override
public Port getPort(PortNumber number) {
- return ports.get(number);
+ return topology.getPort(getDpid(), number);
}
@Override
@@ -82,7 +75,7 @@
// calculating this every time?
List<Device> devices = new ArrayList<Device>();
- for (Port port : ports.values()) {
+ for (Port port : getPorts()) {
for (Device device : port.getDevices()) {
devices.add(device);
}
@@ -91,25 +84,16 @@
return devices;
}
- public void addPort(Port port) {
- this.ports.put(port.getNumber(), port);
- }
-
- public Port removePort(Port port) {
- Port p = this.ports.remove(port.getNumber());
- return p;
- }
-
public Port addPort(Long portNumber) {
PortImpl port = new PortImpl(topology, this, portNumber);
- ports.put(port.getNumber(), port);
+ ((TopologyImpl) topology).putPort(port);
return port;
}
@Override
public Iterable<Link> getOutgoingLinks() {
LinkedList<Link> links = new LinkedList<Link>();
- for (Port port : ports.values()) {
+ for (Port port : getPorts()) {
Link link = port.getOutgoingLink();
if (link != null) {
links.add(link);
@@ -121,7 +105,7 @@
@Override
public Iterable<Link> getIncomingLinks() {
LinkedList<Link> links = new LinkedList<Link>();
- for (Port port : ports.values()) {
+ for (Port port : getPorts()) {
Link link = port.getIncomingLink();
if (link != null) {
links.add(link);