From 46a220d6a028ce5414a27c27ba77ac1cc8df40d0 Mon Sep 17 00:00:00 2001 From: tom Date: Fri, 5 Sep 2014 08:25:56 -0700 Subject: [PATCH] Implementing port methods in trivial core. --- .../onos/net/trivial/impl/SimpleDeviceStore.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleDeviceStore.java b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleDeviceStore.java index 017950744c..dbff8d1b6f 100644 --- a/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleDeviceStore.java +++ b/net/core/trivial/src/main/java/org/onlab/onos/net/trivial/impl/SimpleDeviceStore.java @@ -1,5 +1,6 @@ package org.onlab.onos.net.trivial.impl; +import com.google.common.collect.ImmutableList; import org.onlab.onos.net.DefaultDevice; import org.onlab.onos.net.DefaultPort; import org.onlab.onos.net.Device; @@ -227,7 +228,13 @@ class SimpleDeviceStore { */ DeviceEvent updatePortStatus(DeviceId deviceId, PortDescription portDescription) { - return null; + synchronized (this) { + Device device = devices.get(deviceId); + checkArgument(device != null, DEVICE_NOT_FOUND, deviceId); + Map ports = getPortMap(deviceId); + Port port = ports.get(portDescription.portNumber()); + return updatePort(device, port, portDescription, ports); + } } /** @@ -237,7 +244,8 @@ class SimpleDeviceStore { * @return list of device ports */ List getPorts(DeviceId deviceId) { - return null; + Map ports = devicePorts.get(deviceId); + return ports == null ? new ArrayList() : ImmutableList.copyOf(ports.values()); } /** @@ -248,7 +256,8 @@ class SimpleDeviceStore { * @return device port */ Port getPort(DeviceId deviceId, PortNumber portNumber) { - return null; + Map ports = devicePorts.get(deviceId); + return ports == null ? null : ports.get(portNumber); } /**