/** * @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(); }
/** * @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); }