/** Exposes the mapping between a mpRegistration -> Set of individual registrations */ private void processMPRegistrations(DatabusRequest request) throws IOException, RequestProcessingException { Map<RegistrationId, DatabusV3Registration> registrationIdMap = _client.getRegistrationIdMap(); if (null == registrationIdMap) throw new InvalidRequestParamValueException( request.getName(), REGISTRATIONS_KEY, "Present only for Databus V3 clients"); Map<String, List<String>> ridList = new TreeMap<String, List<String>>(); for (Map.Entry<RegistrationId, DatabusV3Registration> entry : registrationIdMap.entrySet()) { DatabusV3Registration reg = entry.getValue(); if (reg instanceof DatabusV3MultiPartitionRegistration) { Collection<DatabusV3Registration> dvrList = ((DatabusV3MultiPartitionRegistration) reg).getPartionRegs().values(); List<String> mpRegList = new ArrayList<String>(); for (DatabusV3Registration dvr : dvrList) { mpRegList.add(dvr.getId().getId()); } ridList.put(entry.getKey().getId(), mpRegList); } } writeJsonObjectToResponse(ridList, request); return; }
private void processV3Registrations(DatabusRequest request) throws IOException, RequestProcessingException { Map<RegistrationId, DatabusV3Registration> registrationIdMap = _client.getRegistrationIdMap(); if (null == registrationIdMap) throw new InvalidRequestParamValueException( request.getName(), REGISTRATIONS_KEY, "Present only for Databus V3 clients"); Map<String, List<DatabusSubscription>> regIds = new TreeMap<String, List<DatabusSubscription>>(); for (Map.Entry<RegistrationId, DatabusV3Registration> entry : registrationIdMap.entrySet()) { DatabusV3Registration reg = entry.getValue(); if (reg instanceof DatabusV3MultiPartitionRegistration) continue; List<DatabusSubscription> dsl = reg.getSubscriptions(); regIds.put(entry.getKey().getId(), dsl); } writeJsonObjectToResponse(regIds, request); return; }