public void add(String triggeringEvent) { DecodedEtopContext etpo = EtopEventContext.decode(triggeringEvent).get(); Map<Integer, Long> pos = topicsToPartitionsAndOffsets.get(etpo.topic); if (pos == null) { topicsToPartitionsAndOffsets.put(etpo.topic, new HashMap<>(Collections.singletonMap(etpo.partition, etpo.offset))); } else { Long maxOffset = pos.get(etpo.partition); if (maxOffset == null || etpo.offset > maxOffset) { pos.put(etpo.partition, etpo.offset); } } }
public void add(String triggeringEvent) { DecodedEtopContext etpo = EtopEventContext.decode(triggeringEvent).get(); Map<Integer, Long> pos = topicsToPartitionsAndOffsets.get(etpo.topic); if (pos == null) { topicsToPartitionsAndOffsets.put(etpo.topic, new HashMap<>(Collections.singletonMap(etpo.partition, etpo.offset))); } else { Long maxOffset = pos.get(etpo.partition); if (maxOffset == null || etpo.offset > maxOffset) { pos.put(etpo.partition, etpo.offset); } } }
public static Optional<DecodedEtopContext> decode(EventContext te) { String triggeringEvent = te.getEventToken(); return decode(triggeringEvent); }
public static Optional<DecodedEtopContext> decode(EventContext te) { String triggeringEvent = te.getEventToken(); return decode(triggeringEvent); }
public static void checkSnapshotForDuplicateEvent(LoadedSnapshot ss, EventContext te) { if (ss.getTriggeringEvents() == null) return; EtopEventContext.decode(te).ifPresent(etpo -> { JSonMapper.fromJson(ss.getTriggeringEvents(), SnapshotTriggeringEvents.class).checkForDuplicateEvent(etpo); }); }
public static void checkSnapshotForDuplicateEvent(LoadedSnapshot ss, EventContext te) { if (ss.getTriggeringEvents() == null) return; EtopEventContext.decode(te).ifPresent(etpo -> { JSonMapper.fromJson(ss.getTriggeringEvents(), SnapshotTriggeringEvents.class).checkForDuplicateEvent(etpo); }); }
@Test(expected = DuplicateTriggeringEventException.class) public void shouldRejectEquals() { SnapshotTriggeringEvents ste = new SnapshotTriggeringEvents(); ste.add(a_1_99); ste.checkForDuplicateEvent(EtopEventContext.decode(a_1_99).get()); }
@Test public void shouldNotRejectGreaterThan() { SnapshotTriggeringEvents ste = new SnapshotTriggeringEvents(); ste.add(a_1_99); ste.checkForDuplicateEvent(EtopEventContext.decode(a_1_100).get()); }
@Test(expected = DuplicateTriggeringEventException.class) public void shouldRejectLessThan() { SnapshotTriggeringEvents ste = new SnapshotTriggeringEvents(); ste.add(a_1_99); ste.checkForDuplicateEvent(EtopEventContext.decode(a_1_98).get()); }
@Test public void shouldNotRejectDifferent() { SnapshotTriggeringEvents ste = new SnapshotTriggeringEvents(); ste.add(a_1_99); ste.checkForDuplicateEvent(EtopEventContext.decode(a_2_99).get()); }