/** * @param FilterInterface $filterInterface * @return array */ private function getDevices(FilterInterface $filterInterface) { $client = $this->get('fhem_connection.services.client_service'); $filter = new Filter(); $filter->addFilter($filterInterface); return $client->getContent($filter); }
/** * @param ParameterBag $query * @return Filter */ public function transform(ParameterBag $query) { $filter = new Filter(); if (null === $query->get('filter')) { return $filter; } foreach ($query->get('filter') as $name => $value) { $filterClassName = '\\FhemConnectionBundle\\Filter\\' . ucfirst($name) . 'Filter'; // TODO create factory $filterClass = new $filterClassName($value); $filter->addFilter($filterClass); } return $filter; }