public AlertEntity convertAlertEvent(AlertStreamEvent event) {
Preconditions.checkNotNull(event.getAlertId(), "alertId is not initialized before being published: " + event.toString());
AlertEntity alertEvent = new AlertEntity();
Map<String, String> tags = new HashMap<>();
tags.put(POLICY_ID_KEY, event.getPolicyId());
tags.put(ALERT_ID_KEY, event.getAlertId());
tags.put(ALERT_CATEGORY, event.getCategory());
tags.put(ALERT_SEVERITY, event.getSeverity().toString());
String host = event.getDataMap().getOrDefault("host", "null").toString();
String hostname = event.getDataMap().getOrDefault("hostname", "null").toString();
if (host != "null") {
tags.put(ALERT_HOST, host);
} else {
tags.put(ALERT_HOST, hostname);
}
if (event.getContext() != null && !event.getContext().isEmpty()) {
tags.put(SITE_ID_KEY, event.getContext().get(SITE_ID_KEY).toString());
alertEvent.setPolicyValue(event.getContext().get(POLICY_VALUE_KEY).toString());
alertEvent.setAppIds((List<String>) event.getContext().get(APP_IDS_KEY));
}
alertEvent.setTimestamp(event.getCreatedTime());
alertEvent.setAlertData(event.getDataMap());
alertEvent.setAlertSubject(event.getSubject());
alertEvent.setAlertBody(event.getBody());
alertEvent.setTags(tags);
return alertEvent;
}