implemented annotation merging on SimpleDeviceStore.
- Added annotation support to PortsDescriptions
Change-Id: I157e4fb93b8f387b405722b8d004501d993decda
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java b/core/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
index 1d52ac9..eb75ede 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
@@ -1,20 +1,43 @@
package org.onlab.onos.net.device;
+import org.onlab.onos.net.AbstractDescription;
import org.onlab.onos.net.PortNumber;
+import org.onlab.onos.net.SparseAnnotations;
/**
* Default implementation of immutable port description.
*/
-public class DefaultPortDescription implements PortDescription {
+public class DefaultPortDescription extends AbstractDescription
+ implements PortDescription {
private final PortNumber number;
private final boolean isEnabled;
- public DefaultPortDescription(PortNumber number, boolean isEnabled) {
+ /**
+ * Creates a port description using the supplied information.
+ *
+ * @param number port number
+ * @param isEnabled port enabled state
+ * @param annotations optional key/value annotations map
+ */
+ public DefaultPortDescription(PortNumber number, boolean isEnabled,
+ SparseAnnotations... annotations) {
+ super(annotations);
this.number = number;
this.isEnabled = isEnabled;
}
+ /**
+ * Creates a port description using the supplied information.
+ *
+ * @param base PortDescription to get basic information from
+ * @param annotations optional key/value annotations map
+ */
+ public DefaultPortDescription(PortDescription base,
+ SparseAnnotations annotations) {
+ this(base.portNumber(), base.isEnabled(), annotations);
+ }
+
@Override
public PortNumber portNumber() {
return number;