Search in sources :

Example 1 with ListValueTypeFilter

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;
}
Also used : ServiceException(eu.europa.ec.fisheries.uvms.commons.service.exception.ServiceException) SearchFilter(eu.europa.ec.fisheries.uvms.activity.model.schemas.SearchFilter) List(java.util.List) EnumMap(java.util.EnumMap) ListValueTypeFilter(eu.europa.ec.fisheries.uvms.activity.model.schemas.ListValueTypeFilter)

Aggregations

ListValueTypeFilter (eu.europa.ec.fisheries.uvms.activity.model.schemas.ListValueTypeFilter)1 SearchFilter (eu.europa.ec.fisheries.uvms.activity.model.schemas.SearchFilter)1 ServiceException (eu.europa.ec.fisheries.uvms.commons.service.exception.ServiceException)1 EnumMap (java.util.EnumMap)1 List (java.util.List)1