// called under "this" lock @Override public synchronized Alert getAlertByAlertUid(String alertUid) { for (AlertGroup alertGroup : alertGroupList) { for (Alert alert : alertGroup.alertsInGroupList) { if (alert.getAlertUid().equals(alertUid)) { return alert; } } } return null; }
// called under "this" lock private void mapAlertByGroupUid(Alert alert) { AlertGroup alertGroup = alertGroupByGroupUidMapping.get(alert.getGroupUid()); boolean needsNewAlertGroup = (alertGroup != null && alertGroup.isResolved()); if (alertGroup == null || needsNewAlertGroup) { alertGroup = new AlertGroup(); alertGroup.addAlert(alert); alertGroupByGroupUidMapping.put(alert.getGroupUid(), alertGroup); alertGroupList.addFirst(alertGroup); } else { alertGroup.addAlert(alert); alertGroupList.remove(alertGroup); alertGroupList.addFirst(alertGroup); } }