private void publishMessageToElasticSearch(final EventMessage eventMessage) { // Elasticsearch needs location formatted as "latitude,longitude" if (StringUtils.hasText(eventMessage.getLocation())) { eventMessage.setLocation(eventMessage.getLocation().replace(' ', ',')); } repository.publishMessageToElasticSearch(eventMessage); }
private void populateAdditionalFields(final EventMessage eventMessage, final EventType eventType) { // Depending on the event message type, some additional fields need to be populated before send // it to index if (eventType.equals(EventType.ALARM) && isInternalAlarm(eventMessage, eventType) && !isGhostSensorAlarm(eventMessage, eventType)) { eventMessage.setSensorType(catalogService.getSensorType(eventMessage.getProvider(), eventMessage.getSensor())); final CatalogAdditionalFields additionalFields = catalogService.getAdditionalFields(eventMessage.getAlert()); if (additionalFields != null) { eventMessage.setLocation(additionalFields.getLocation()); eventMessage.setComponent(additionalFields.getComponentId()); } } }
public static String buildContentToPublish(final Observation message, final Topic topic) { final EventMessage event = new EventMessage(); event.setProvider(message.getProvider()); event.setSensor(message.getSensor()); event.setMessage(message.getValue()); event.setTimestamp(DateUtils.timestampToString(message.getTimestamp())); event.setTime(message.getTimestamp()); event.setLocation(message.getLocation()); event.setType(EventType.DATA.name()); event.setTopic(topic.getTopic()); setCustomsFields(event); return converter.marshal(event); }