diff options
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/device')
3 files changed, 51 insertions, 4 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultDeviceDescription.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultDeviceDescription.java index 3a8c8c1f..9074792c 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultDeviceDescription.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultDeviceDescription.java @@ -24,6 +24,7 @@ import java.net.URI; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.net.Device.Type; +import com.google.common.base.Objects; /** * Default implementation of immutable device description entity. @@ -71,7 +72,7 @@ public class DefaultDeviceDescription extends AbstractDescription */ public DefaultDeviceDescription(DeviceDescription base, SparseAnnotations... annotations) { - this(base.deviceURI(), base.type(), base.manufacturer(), + this(base.deviceUri(), base.type(), base.manufacturer(), base.hwVersion(), base.swVersion(), base.serialNumber(), base.chassisId(), annotations); } @@ -83,13 +84,13 @@ public class DefaultDeviceDescription extends AbstractDescription * @param annotations Annotations to use. */ public DefaultDeviceDescription(DeviceDescription base, Type type, SparseAnnotations... annotations) { - this(base.deviceURI(), type, base.manufacturer(), + this(base.deviceUri(), type, base.manufacturer(), base.hwVersion(), base.swVersion(), base.serialNumber(), base.chassisId(), annotations); } @Override - public URI deviceURI() { + public URI deviceUri() { return uri; } @@ -132,6 +133,30 @@ public class DefaultDeviceDescription extends AbstractDescription .toString(); } + @Override + public int hashCode() { + return Objects.hashCode(super.hashCode(), uri, type, manufacturer, + hwVersion, swVersion, serialNumber, chassisId); + } + + @Override + public boolean equals(Object object) { + if (object instanceof DefaultDeviceDescription) { + if (!super.equals(object)) { + return false; + } + DefaultDeviceDescription that = (DefaultDeviceDescription) object; + return Objects.equal(this.uri, that.uri) + && Objects.equal(this.type, that.type) + && Objects.equal(this.manufacturer, that.manufacturer) + && Objects.equal(this.hwVersion, that.hwVersion) + && Objects.equal(this.swVersion, that.swVersion) + && Objects.equal(this.serialNumber, that.serialNumber) + && Objects.equal(this.chassisId, that.chassisId); + } + return false; + } + // default constructor for serialization private DefaultDeviceDescription() { this.uri = null; diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultPortDescription.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultPortDescription.java index 572d201c..d62e932c 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultPortDescription.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DefaultPortDescription.java @@ -21,6 +21,7 @@ import org.onosproject.net.PortNumber; import org.onosproject.net.SparseAnnotations; import static org.onosproject.net.Port.Type; +import com.google.common.base.Objects; /** * Default implementation of immutable port description. @@ -117,4 +118,25 @@ public class DefaultPortDescription extends AbstractDescription .toString(); } + @Override + public int hashCode() { + return Objects.hashCode(super.hashCode(), number, isEnabled, type, + portSpeed); + } + + @Override + public boolean equals(Object object) { + if (object != null && getClass() == object.getClass()) { + if (!super.equals(object)) { + return false; + } + DefaultPortDescription that = (DefaultPortDescription) object; + return Objects.equal(this.number, that.number) + && Objects.equal(this.isEnabled, that.isEnabled) + && Objects.equal(this.type, that.type) + && Objects.equal(this.portSpeed, that.portSpeed); + } + return false; + } + } diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DeviceDescription.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DeviceDescription.java index 64b84b5a..f206b080 100644 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DeviceDescription.java +++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/device/DeviceDescription.java @@ -33,7 +33,7 @@ public interface DeviceDescription extends Description { * * @return provider specific URI for the device */ - URI deviceURI(); + URI deviceUri(); /** * Returns the type of the infrastructure device. |