use of com.thinkbiganalytics.alerts.api.AlertChangeEvent in project kylo by Teradata.
the class DefaultAlertManager method updateAlertChangeEntry.
protected <C extends Serializable> Alert updateAlertChangeEntry(JpaAlert.AlertId id, String descr, C content) {
final Principal user = SecurityContextHolder.getContext().getAuthentication() != null ? SecurityContextHolder.getContext().getAuthentication() : null;
Alert changed = this.metadataAccess.commit(() -> {
JpaAlert alert = findAlert(id).orElseThrow(() -> new AlertNotfoundException(id));
List<AlertChangeEvent> events = alert.getEvents();
if (events != null && !events.isEmpty()) {
JpaAlertChangeEvent event = (JpaAlertChangeEvent) events.get(0);
event.setDescription(descr);
event.setContent(content);
event.setChangeTime(DateTime.now());
}
return asValue(alert);
}, MetadataAccess.SERVICE);
updateLastUpdatedTime();
notifyReceivers(1);
return changed;
}
Aggregations