@Override public void commit(TransactionId trxId) { LOG.debug("Commiting events transaction with id {}", trxId); synchronized (trxGuard) { List<Event> eventsToCommit = transactions.remove(trxId); synchronized (eventsGuard) { for (Event e : eventsToCommit) { e.setSeqNum(state.getAndIncrementEventSeqNum()); currentEvents.add(e); } } if (!isEngaged) { transport.sync(); } } }
e.setSeqNum(startEventSn.getAndIncrement());
@Test public void testCreateRequest() { KaaClientState clientState = Mockito.mock(KaaClientState.class); EventManager manager = Mockito.mock(EventManager.class); Event event1 = new Event(); event1.setSeqNum(1); Event event2 = new Event(); event2.setSeqNum(2); Mockito.when(manager.pollPendingEvents()).thenReturn(Arrays.asList(event1, event2)); EventTransport transport = new DefaultEventTransport(clientState); transport.createEventRequest(1); transport.setEventManager(manager); transport.createEventRequest(2); transport.onEventResponse(new EventSyncResponse(new EventSequenceNumberResponse(0), null, null)); Mockito.verify(manager, Mockito.times(1)).fillEventListenersSyncRequest(Mockito.any(EventSyncRequest.class)); transport.createEventRequest(3); EventSyncRequest request = transport.createEventRequest(4); Assert.assertEquals(2, request.getEvents().size()); }