Esempio n. 1
0
 /**
  * @param RequestFilterInterface $filter
  * @param bool $isNegation
  * @return string
  */
 private function processFilter(RequestFilterInterface $filter, $isNegation)
 {
     if ($filter->getType() == RequestFilterInterface::TYPE_BOOL) {
         $query = $this->processBoolFilter($filter, $isNegation);
         $query = $this->conditionManager->wrapBrackets($query);
     } else {
         if (!isset($this->filters[$filter->getType()])) {
             throw new \InvalidArgumentException('Unknown filter type ' . $filter->getType());
         }
         $query = $this->filters[$filter->getType()]->buildFilter($filter, $isNegation);
         $query = $this->preprocessor->process($filter, $isNegation, $query);
     }
     return $query;
 }