private static EventServerSync deepCopy(EventServerSync source) { if (source == null) { return null; } EventServerSync copy = new EventServerSync(); if (source.getEventSequenceNumberResponse() != null) { copy.setEventSequenceNumberResponse(source.getEventSequenceNumberResponse()); } if (source.getEvents() != null) { copy.setEvents(new ArrayList<>(source.getEvents())); } if (source.getEventListenersResponses() != null) { copy.setEventListenersResponses(new ArrayList<>(source.getEventListenersResponses())); } return copy; }
private void addEventsAndReply(ActorContext context, ChannelMetaData channel, EndpointEventReceiveMessage message) { SyncRequestMessage pendingRequest = channel.getRequestMessage(); SyncContext pendingResponse = channel.getResponseHolder(); EventServerSync eventResponse = pendingResponse.getResponse().getEventSync(); if (eventResponse == null) { eventResponse = new EventServerSync(); pendingResponse.getResponse().setEventSync(eventResponse); } eventResponse.setEvents(message.getEvents()); sendReply(context, pendingRequest, pendingResponse.getResponse()); if (!channel.getType().isAsync()) { state.removeChannel(channel); } }