コード例 #1
0
 /**
  * @return string
  */
 public function getFilterString()
 {
     if (!is_array($this->notifications)) {
         return '';
     }
     $result = new FilterCollection();
     foreach ($this->notifications as $state) {
         switch ($state) {
             case Document::IS_PROCESSING:
                 $filter = new ProcessingThreadIdFilter();
                 $filter->setProcessingThreadIdStart(1);
                 $filter->setProcessingThreadIdEnd(65536);
                 $result->addFilter($filter);
                 $filter = new IsDeletedFilter();
                 $filter->setDeleted(false);
                 $result->addFilter($filter);
                 break;
             case Document::IS_DELETING:
                 $filter = new IsDeletedFilter();
                 $filter->setDeleted(true);
                 $result->addFilter($filter);
                 break;
             case Document::IS_ERROR:
                 $filter = new HasErrorFilter();
                 $filter->setError(true);
                 $result->addFilter($filter);
                 break;
             case Document::IS_DUPLICATE:
                 $filter = new IsDuplicateFilter();
                 $filter->setIsDuplicate(true);
                 $result->addFilter($filter);
                 break;
             case Document::IS_WAITING:
                 $filter = new IsWaitingFilter();
                 $filter->setIsWaiting(true);
                 $result->addFilter($filter);
                 break;
             case Document::IS_REDIRECT:
                 $filter = new IsRedirectFilter();
                 $filter->setIsRedirect(true);
                 $result->addFilter($filter);
                 break;
         }
     }
     return $result->getFilterStringFromAll();
 }
コード例 #2
0
 /**
  * @return string
  */
 public function getFilterString()
 {
     if (!is_array($this->notifications)) {
         return '';
     }
     $result = new FilterCollection();
     foreach ($this->notifications as $state) {
         switch ($state) {
             case UrlQueueItem::IS_WAITING:
                 $filter = new ProcessingThreadIdFilter();
                 $filter->setProcessingThreadIdStart(0);
                 $filter->setProcessingThreadIdEnd(0);
                 $result->addFilter($filter);
                 $filter = new IsDeletedFilter();
                 $filter->setDeleted(false);
                 $result->addFilter($filter);
                 break;
             case UrlQueueItem::IS_PROCESSING:
                 $filter = new ProcessingThreadIdFilter();
                 $filter->setProcessingThreadIdStart(1);
                 $filter->setProcessingThreadIdEnd(65536);
                 $result->addFilter($filter);
                 $filter = new IsDeletedFilter();
                 $filter->setDeleted(false);
                 $result->addFilter($filter);
                 break;
             case UrlQueueItem::IS_DOCUMENT_DELETED:
                 $filter = new IsDeletedFilter();
                 $filter->setDeleted(true);
                 $result->addFilter($filter);
                 break;
             case UrlQueueItem::IS_ERROR:
                 $filter = new HasErrorFilter();
                 $filter->setError(true);
                 $result->addFilter($filter);
                 break;
         }
     }
     return $result->getFilterStringFromAll();
 }
 /**
  * @test
  */
 public function verifyGetAllReturnsValidDomainDocument()
 {
     $this->documentRepository = new \Searchperience\Api\Client\Domain\Document\DocumentRepository();
     $filterCollection = new FilterCollection();
     $sourceFilter = new SourceFilter();
     $sourceFilter->setSource('magento');
     $filterCollection->addFilter($sourceFilter);
     $storageBackend = $this->getMock('\\Searchperience\\Api\\Client\\System\\Storage\\RestDocumentBackend', array('getAllByFilterCollection'));
     $storageBackend->expects($this->once())->method('getAllByFilterCollection')->with(1, 11, $filterCollection)->will($this->returnValue(new \Searchperience\Api\Client\Domain\Document\DocumentCollection()));
     $this->documentRepository->injectStorageBackend($storageBackend);
     $this->documentRepository->injectFilterCollectionFactory(new FilterCollectionFactory());
     $documents = $this->documentRepository->getAll(1, 11, 'magento');
     $this->assertInstanceOf('\\Searchperience\\Api\\Client\\Domain\\Document\\DocumentCollection', $documents);
 }