コード例 #1
0
 /**
  * It should provide a Query object for a PHPCR query object.
  */
 public function testHandleCreateFromPhpcrQuery()
 {
     $locale = 'fr';
     $primarySelector = 'p';
     $this->queryCreateEvent->getInnerQuery()->willReturn($this->phpcrQuery->reveal());
     $this->queryCreateEvent->getLocale()->willReturn($locale);
     $this->queryCreateEvent->getOptions()->willReturn([]);
     $this->queryCreateEvent->getPrimarySelector()->willReturn($primarySelector);
     $this->queryManager->createQuery($this->phpcrQuery->reveal(), 'JCR-SQL2')->willReturn($this->phpcrQuery->reveal());
     $this->queryCreateEvent->setQuery(new Query($this->phpcrQuery->reveal(), $this->dispatcher->reveal(), $locale, [], $primarySelector))->shouldBeCalled();
     $this->subscriber->handleCreate($this->queryCreateEvent->reveal());
 }
コード例 #2
0
 /**
  * Create a new Sulu Query object.
  *
  * @param QueryCreateEvent $event
  */
 public function handleCreate(QueryCreateEvent $event)
 {
     $innerQuery = $event->getInnerQuery();
     if (is_string($innerQuery)) {
         $phpcrQuery = $this->getQueryManager()->createQuery($innerQuery, QueryInterface::JCR_SQL2);
     } elseif ($innerQuery instanceof QueryInterface) {
         $phpcrQuery = $innerQuery;
     } else {
         throw new \InvalidArgumentException(sprintf('Expected inner query to be either a string or a PHPCR query object, got: "%s"', is_object($innerQuery) ? get_class($innerQuery) : gettype($innerQuery)));
     }
     $event->setQuery(new Query($phpcrQuery, $this->eventDispatcher, $event->getLocale(), $event->getOptions(), $event->getPrimarySelector()));
 }
コード例 #3
0
 public function handleQueryCreate(QueryCreateEvent $event)
 {
     $this->queryCreate = true;
     $event->setQuery($this->query);
 }