Search in sources :

Example 1 with KyloEntityAwareAlertCriteria

use of com.thinkbiganalytics.alerts.spi.defaults.KyloEntityAwareAlertCriteria in project kylo by Teradata.

the class KyloEntityAwareAlertManager method entityDeleted.

public Iterator<Alert> entityDeleted(AlertCriteria criteria, String message) {
    log.info("Query for Entity Alerts data");
    List<Alert> handledAlerts = this.metadataAccess.commit(() -> {
        List<Alert> alerts = new ArrayList<>();
        criteria.state(Alert.State.UNHANDLED);
        KyloEntityAwareAlertCriteria critImpl = ensureAlertCriteriaType(criteria);
        critImpl.createEntityQuery().fetch().stream().forEach(jpaAlert -> {
            JpaAlertChangeEvent event = new JpaAlertChangeEvent(Alert.State.HANDLED, MetadataAccess.SERVICE, message, null);
            jpaAlert.addEvent(event);
            // hide it
            jpaAlert.setCleared(true);
            alerts.add(asValue(jpaAlert));
        });
        return alerts;
    }, MetadataAccess.SERVICE);
    return handledAlerts.iterator();
}
Also used : KyloEntityAwareAlertCriteria(com.thinkbiganalytics.alerts.spi.defaults.KyloEntityAwareAlertCriteria) ArrayList(java.util.ArrayList) JpaAlertChangeEvent(com.thinkbiganalytics.metadata.jpa.alerts.JpaAlertChangeEvent) Alert(com.thinkbiganalytics.alerts.api.Alert) JpaAlert(com.thinkbiganalytics.metadata.jpa.alerts.JpaAlert) EntityAlert(com.thinkbiganalytics.alerts.api.EntityAlert)

Aggregations

Alert (com.thinkbiganalytics.alerts.api.Alert)1 EntityAlert (com.thinkbiganalytics.alerts.api.EntityAlert)1 KyloEntityAwareAlertCriteria (com.thinkbiganalytics.alerts.spi.defaults.KyloEntityAwareAlertCriteria)1 JpaAlert (com.thinkbiganalytics.metadata.jpa.alerts.JpaAlert)1 JpaAlertChangeEvent (com.thinkbiganalytics.metadata.jpa.alerts.JpaAlertChangeEvent)1 ArrayList (java.util.ArrayList)1