use of eu.europa.ec.fisheries.uvms.activity.model.schemas.ListValueTypeFilter in project UVMS-ActivityModule-APP by UnionVMS.
the class FishingActivityRequestMapper method extractFiltersAsMapWithMultipleValues.
/**
* This method sorts incoming list and separates Filters with multiple values and put it into Map.
* @param filterTypes List of searchFilters
* @return Map<SearchFilter,List<String>> Map of SearchFilter and list of values for the filter
* @throws ServiceException
*/
private static Map<SearchFilter, List<String>> extractFiltersAsMapWithMultipleValues(List<ListValueTypeFilter> filterTypes) throws ServiceException {
Set<SearchFilter> filtersWithMultipleValues = FilterMap.getFiltersWhichSupportMultipleValues();
Map<SearchFilter, List<String>> searchMap = new EnumMap<>(SearchFilter.class);
for (ListValueTypeFilter filterType : filterTypes) {
SearchFilter filter = filterType.getKey();
if (!filtersWithMultipleValues.contains(filter)) {
throw new ServiceException("Filter provided with multiple Values do not support Multiple Values. Filter name is:" + filter);
}
searchMap.put(filterType.getKey(), filterType.getValues());
}
return searchMap;
}
Aggregations