/** * Get a RaisedAlert for a given id. * * @param alertId The alert Id * @return The corresponding RaisedAlert. */ public RaisedAlert getRaisedAlert(String alertId) { for (RaisedAlert raisedAlert : raisedAlerts) { if (raisedAlert.getAlertId().equals(alertId)) { return raisedAlert; } } return null; }
/** * Get the overall AlertState for this RaisedAlarm summary object . * * <p>This is the highest AlertState among all the RaisedAlerts for the subsystem. * * @return The highest AlertState. */ public AlertState getAlertState() { AlertState base = AlertState.NOMINAL; for (RaisedAlert alert : raisedAlerts) { if (alert.getHighestAlertState().compareTo(base) > 0) { base = alert.getHighestAlertState(); } } return base; }
private RaisedAlert getRaisedAlert(Alert alert) { for (RaisedAlert raisedAlert : raisedAlerts) { if (raisedAlert.equals(alert)) { return raisedAlert; } } RaisedAlert raisedAlert = new RaisedAlert(alert, subsystem); raisedAlerts.add(raisedAlert); return raisedAlert; }
/** * Clear an Alert for the provided alert id. * * @param alertId The id of the Alert to clear. */ public void clearAlert(String alertId) { RaisedAlert alertToClear = null; for (RaisedAlert alert : raisedAlerts) { if (alert.getAlertId().equals(alertId)) { alertToClear = alert; break; } } if (alertToClear != null) { raisedAlerts.remove(alertToClear); } }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Alarm Summary\n"); sb.append("Subsystem ") .append(subsystem) .append(" seviery : ") .append(getAlertState()) .append("\n"); for (RaisedAlert alert : getRaisedAlertsForSubsystem()) { sb.append("Alert: ") .append(alert.getAlertId()) .append(" instances: ") .append(alert.getNumberOfInstances()) .append(" severity: ") .append(alert.getHighestAlertState()) .append("\n"); } return sb.toString(); }
/** * Raise an Alert with a given severity at a given CCS timestamp. This method will create a * RaisedAlert class if needed and update it with the new raised Alert. * * @param alert The Alert that was raised. * @param severity The AlertState of the Alert. * @param timestamp The timestamp at which the Alert was raised. * @return The updated RaisedAlert. */ public RaisedAlert raiseAlert(Alert alert, AlertState severity, long timestamp) { RaisedAlert raisedAlert = getRaisedAlert(alert); raisedAlert.addAlertInstance(severity, timestamp); return raisedAlert; }