private List<EventListenersRequest> parseListenerRequests(ByteBuffer buf) { int requestsCount = getIntFromUnsignedShort(buf); List<EventListenersRequest> requests = new ArrayList<>(requestsCount); for (int i = 0; i < requestsCount; i++) { int requestId = getIntFromUnsignedShort(buf); int fqnCount = getIntFromUnsignedShort(buf); List<String> fqns = new ArrayList<>(fqnCount); for (int j = 0; j < fqnCount; j++) { int fqnLength = getIntFromUnsignedShort(buf); // reserved buf.getShort(); fqns.add(getUtf8String(buf, fqnLength)); } requests.add(new EventListenersRequest(requestId, fqns)); } return requests; }
if (profile.getEndpointUserId() == null || profile.getEndpointUserId().isEmpty()) { LOG.info("Can't find listeners for unassigned endpoint!"); return new EventListenersResponse(request.getRequestId(), null, SyncStatus.FAILURE); LOG.info("There is only one endpoint(current) assigned to this user!"); List<String> emptyList = Collections.emptyList(); return new EventListenersResponse(request.getRequestId(), emptyList, SyncStatus.SUCCESS); for (String eventClassFqn : request.getEventClassFqns()) { Set<EndpointObjectHash> eventClassSet = new HashSet<>(); LOG.debug("Lookup event class family id using tenant [{}] and event class fqn {}", result.add(Base64Util.encode(eoHash.getData())); return new EventListenersResponse(request.getRequestId(), result, SyncStatus.SUCCESS);
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; }