private static void extractCompositeStringUniquesValueChains(String theResourceType, List<List<String>> thePartsChoices, List<String> theValues, Set<String> theQueryStringsToPopulate) { if (thePartsChoices.size() > 0) { List<String> nextList = thePartsChoices.get(0); Collections.sort(nextList); for (String nextChoice : nextList) { theValues.add(nextChoice); extractCompositeStringUniquesValueChains(theResourceType, thePartsChoices.subList(1, thePartsChoices.size()), theValues, theQueryStringsToPopulate); theValues.remove(theValues.size() - 1); } } else { if (theValues.size() > 0) { StringBuilder uniqueString = new StringBuilder(); uniqueString.append(theResourceType); for (int i = 0; i < theValues.size(); i++) { uniqueString.append(i == 0 ? "?" : "&"); uniqueString.append(theValues.get(i)); } theQueryStringsToPopulate.add(uniqueString.toString()); } } }
extractCompositeStringUniquesValueChains(theResourceType, thePartsChoices, values, queryStringsToPopulate); return queryStringsToPopulate;
Set<String> uniqueQueryStrings = ResourceIndexedSearchParams.extractCompositeStringUniquesValueChains(myResourceName, params); if (ourTrackHandlersForUnitTest) { ourLastHandlerParamsForUnitTest = theParams;
Set<String> queryStringsToPopulate = theParams.extractCompositeStringUniquesValueChains(resourceType, partsChoices);
Set<String> uniqueQueryStrings = ResourceIndexedSearchParams.extractCompositeStringUniquesValueChains(myResourceName, params); if (ourTrackHandlersForUnitTest) { ourLastHandlerParamsForUnitTest = theParams;
Set<String> queryStringsToPopulate = theParams.extractCompositeStringUniquesValueChains(resourceType, partsChoices);