[ONOS-4287] Persistent and distributed alarm store
Change-Id: I2fb0f5d84e563a53f036be012a8190d7df5869dc
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/DefaultAlarm.java b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/DefaultAlarm.java
index 8de205c..162b3df 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/DefaultAlarm.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/faultmanagement/alarm/DefaultAlarm.java
@@ -25,6 +25,7 @@
/**
* Default implementation of an alarm.
*/
+//TODO simpler creation and updating.
public final class DefaultAlarm implements Alarm {
private final AlarmId id;
@@ -41,34 +42,50 @@
private final boolean isManuallyClearable;
private final String assignedUser;
+ //Only for Kryo
+ DefaultAlarm() {
+ id = null;
+ deviceId = null;
+ description = null;
+ source = null;
+ timeRaised = -1;
+ timeUpdated = -1;
+ timeCleared = null;
+ severity = null;
+ isServiceAffecting = false;
+ isAcknowledged = false;
+ isManuallyClearable = false;
+ assignedUser = null;
+ }
+
/**
* Instantiates a new Default alarm.
*
- * @param id the id
- * @param deviceId the device id
- * @param description the description
- * @param source the source, null indicates none.
- * @param timeRaised the time raised.
- * @param timeUpdated the time last updated.
- * @param timeCleared the time cleared, null indicates uncleared.
- * @param severity the severity
- * @param isServiceAffecting the service affecting
- * @param isAcknowledged the acknowledged
+ * @param id the id
+ * @param deviceId the device id
+ * @param description the description
+ * @param source the source, null indicates none.
+ * @param timeRaised the time raised.
+ * @param timeUpdated the time last updated.
+ * @param timeCleared the time cleared, null indicates uncleared.
+ * @param severity the severity
+ * @param isServiceAffecting the service affecting
+ * @param isAcknowledged the acknowledged
* @param isManuallyClearable the manually clearable
- * @param assignedUser the assigned user, `null` indicates none.
+ * @param assignedUser the assigned user, `null` indicates none.
*/
private DefaultAlarm(final AlarmId id,
- final DeviceId deviceId,
- final String description,
- final AlarmEntityId source,
- final long timeRaised,
- final long timeUpdated,
- final Long timeCleared,
- final SeverityLevel severity,
- final boolean isServiceAffecting,
- final boolean isAcknowledged,
- final boolean isManuallyClearable,
- final String assignedUser) {
+ final DeviceId deviceId,
+ final String description,
+ final AlarmEntityId source,
+ final long timeRaised,
+ final long timeUpdated,
+ final Long timeCleared,
+ final SeverityLevel severity,
+ final boolean isServiceAffecting,
+ final boolean isAcknowledged,
+ final boolean isManuallyClearable,
+ final String assignedUser) {
this.id = id;
this.deviceId = deviceId;
this.description = description;
@@ -147,9 +164,9 @@
public int hashCode() {
// id or timeRaised or timeUpdated may differ
return Objects.hash(deviceId, description,
- source, timeCleared, severity,
- isServiceAffecting, isAcknowledged,
- isManuallyClearable, assignedUser);
+ source, timeCleared, severity,
+ isServiceAffecting, isAcknowledged,
+ isManuallyClearable, assignedUser);
}
@Override
@@ -244,7 +261,7 @@
}
public Builder(final DeviceId deviceId,
- final String description, final SeverityLevel severity, final long timeRaised) {
+ final String description, final SeverityLevel severity, final long timeRaised) {
super();
this.id = AlarmId.NONE;
this.deviceId = deviceId;
@@ -310,7 +327,7 @@
checkNotNull(severity, "Must specify a severity");
return new DefaultAlarm(id, deviceId, description, source, timeRaised, timeUpdated, timeCleared,
- severity, isServiceAffecting, isAcknowledged, isManuallyClearable, assignedUser);
+ severity, isServiceAffecting, isAcknowledged, isManuallyClearable, assignedUser);
}
}
}