/** * Builds a filter list based on params. * @param array $params * @return App_ListFilter | null */ public function buildFilterList(array $params, $throwEx = false) { $factory = new \App_ListFilter_FilterFactory(); $factory->setWhiteList(ServicePackFilterFields::getWhiteList()); $factory->setSortingWhiteList(ServicePackFilterFields::getWhiteList()); $filterList = $factory->constructFilter($params); $filterList->setResourceId(ServicePackFilterFields::getResourceId()); $filterList->setValidators(ServicePackFilterFields::getValidatorSpec()); $filterList->setThrowExceptionOnValidationFail($throwEx); if (!$filterList->isValid()) { $filterList = $factory->constructFilter(array()); } $filterList->addExtraData('filterType', 'servicePack'); \App::log()->debug('Unused filters [' . implode(',', $factory->getUnusedList()) . ']'); return $filterList; }