- for (UserAction detectedEvent : detectedEvents) {
- Optional<UserAction> matchingTrigger = triggers.stream()
- .filter(t -> t.getType() == detectedEvent.getType() &&
- t.getTimestamp().isBefore(detectedEvent.getTimestamp()) &&
- t.getTimestamp().plusMillis(TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS).
- isAfter(detectedEvent.getTimestamp())
- ).findFirst();
- matchingTrigger.ifPresent(mt -> {
- // We've consumed the trigger (matched it with a detected event), so remove it so we don't match with
- // another detected event.
- triggers.remove(mt);
- // The current detected event was a true positive as we could match it with a trigger.
- truePositives.add(detectedEvent);
- });
+ if (DETECTED_EVENT_EXACT_MATCH) {
+ for (UserAction detectedEvent : detectedEvents) {
+ Optional<UserAction> matchingTrigger = triggers.stream()
+ .filter(t -> t.getType() == detectedEvent.getType() &&
+ t.getTimestamp().isBefore(detectedEvent.getTimestamp()) &&
+ t.getTimestamp().plusMillis(TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS).
+ isAfter(detectedEvent.getTimestamp())
+ ).findFirst();
+ matchingTrigger.ifPresent(mt -> {
+ // We've consumed the trigger (matched it with a detected event), so remove it so we don't match with
+ // another detected event.
+ triggers.remove(mt);
+ // The current detected event was a true positive as we could match it with a trigger.
+ truePositives.add(detectedEvent);
+ });
+ }
+ // TODO: Experimental
+ } else { // DETECTED_EVENT_EXACT_MATCH == false
+ for (UserAction detectedEvent : detectedEvents) {
+ Optional<UserAction> matchingTrigger = triggers.stream()
+ .filter(t ->
+ t.getTimestamp().isBefore(detectedEvent.getTimestamp()) &&
+ t.getTimestamp().plusMillis(TriggerTrafficExtractor.INCLUSION_WINDOW_MILLIS).
+ isAfter(detectedEvent.getTimestamp())
+ ).findFirst();
+ matchingTrigger.ifPresent(mt -> {
+ // We've consumed the trigger (matched it with a detected event), so remove it so we don't match with
+ // another detected event.
+ triggers.remove(mt);
+ // The current detected event was a true positive as we could match it with a trigger.
+ truePositives.add(detectedEvent);
+ });
+ }