public StreamlineEvent injectCorrelationInformation(StreamlineEvent event, List<StreamlineEvent> parentEvents) { return injectCorrelationInformation(event, parentEvents, null); }
public StreamlineEvent injectCorrelationInformation(List<Object> tuple, List<Tuple> parentTuples, String componentName) { EventCorrelationInjector eventCorrelationInjector = new EventCorrelationInjector(); return eventCorrelationInjector.injectCorrelationInformation( getStreamlineEventFromValues(tuple), parentTuples.stream().map(this::getStreamlineEventFromTuple).collect(Collectors.toList()), StormTopologyUtil.extractStreamlineComponentName(componentName)); }
@Override public StreamlineEvent convert(CorrelatedValues input, StreamlineEvent inputEvent) { if (this.eventCorrelationInjector == null) { this.eventCorrelationInjector = new EventCorrelationInjector(); } StreamlineEvent result; if (input == null) { return null; } else if (outputFields != null && !outputFields.isEmpty()) { StreamlineEventImpl.Builder builder = StreamlineEventImpl.builder(); for (int i = 0; i < outputFields.size(); i++) { builder.put(outputFields.get(i), input.get(i)); } if (inputEvent != null) { result = builder.dataSourceId(inputEvent.getDataSourceId()) .header(inputEvent.getHeader()) .sourceStream(inputEvent.getSourceStream()) .build(); } else { result = builder.build(); } } else { result = inputEvent; } return eventCorrelationInjector.injectCorrelationInformation(result, input.getCorrelated()); }