Allow reading PortDescription from DeviceStore
DeviceManager had to reverse-engineer PortDescription
in order to mark port off-line, etc.
which required domain specific knowledge.
(e.g., OpticalPortOperatorr#descriptionOf)
required work for ONOS-4691
Change-Id: I954f5f2db2cb7db938f498ead4c8e3f84212a53f
diff --git a/core/api/src/main/java/org/onosproject/net/device/DeviceStore.java b/core/api/src/main/java/org/onosproject/net/device/DeviceStore.java
index f3bc222..cfc9626 100644
--- a/core/api/src/main/java/org/onosproject/net/device/DeviceStore.java
+++ b/core/api/src/main/java/org/onosproject/net/device/DeviceStore.java
@@ -24,6 +24,7 @@
import java.util.Collection;
import java.util.List;
+import java.util.stream.Stream;
/**
* Manages inventory of infrastructure devices; not intended for direct use.
@@ -115,6 +116,15 @@
List<Port> getPorts(DeviceId deviceId);
/**
+ * Returns the stream of port descriptions that belong to the specified device.
+ *
+ * @param providerId provider identifier
+ * @param deviceId device identifier
+ * @return stream of device portdescriptions
+ */
+ Stream<PortDescription> getPortDescriptions(ProviderId providerId, DeviceId deviceId);
+
+ /**
* Updates the port statistics of the specified device using the give port
* statistics.
*
@@ -152,6 +162,16 @@
Port getPort(DeviceId deviceId, PortNumber portNumber);
/**
+ * Returns the specified device port description.
+ *
+ * @param providerId provider identifier
+ * @param deviceId device identifier
+ * @param portNumber port number
+ * @return device port description
+ */
+ PortDescription getPortDescription(ProviderId providerId, DeviceId deviceId, PortNumber portNumber);
+
+ /**
* Indicates whether the specified device is available/online.
*
* @param deviceId device identifier