@Override public int findEventListeners(List<String> eventFqns, FindEventListenersCallback listener) { int requestId = new Random().nextInt(); EventListenersRequest request = new EventListenersRequest(requestId, eventFqns); EventListenersRequestBinding bind = new EventListenersRequestBinding(listener, request); eventListenersRequests.put(requestId, bind); LOG.debug("Adding event listener resolution request. Request ID: {}", requestId); if (!isEngaged) { transport.sync(); } return requestId; }
private static EventClientSync convert(EventSyncRequest source) { if (source == null) { return null; } EventClientSync sync = new EventClientSync(); sync.setSeqNumberRequest(source.getEventSequenceNumberRequest() != null); if (source.getEvents() != null) { List<Event> events = new ArrayList<Event>(source.getEvents().size()); for (org.kaaproject.kaa.common.endpoint.gen.Event event : source.getEvents()) { events.add(convert(event)); } sync.setEvents(events); } if (source.getEventListenersRequests() != null) { List<EventListenersRequest> requests = new ArrayList<>( source.getEventListenersRequests().size()); for (org.kaaproject.kaa.common.endpoint.gen.EventListenersRequest request : source.getEventListenersRequests()) { requests.add(new EventListenersRequest( request.getRequestId(), request.getEventClassFQNs())); } sync.setEventListenersRequests(requests); } return sync; }
assertNotNull(request.getEventListenersRequests()); assertEquals(2, request.getEventListenersRequests().size()); assertArrayEquals(eventFQNs.toArray(), request.getEventListenersRequests().get(0).getEventClassFQNs().toArray());
@Override public EventListenersRequest build() { try { EventListenersRequest record = new EventListenersRequest(); record.requestId = fieldSetFlags()[0] ? this.requestId : (java.lang.Integer) defaultValue(fields()[0]); record.eventClassFQNs = fieldSetFlags()[1] ? this.eventClassFQNs : (java.util.List<java.lang.String>) defaultValue(fields()[1]); return record; } catch (Exception e) { throw new org.apache.avro.AvroRuntimeException(e); } } }