public function testLoadByIndexer() { $indexerId = 'indexer_id'; $this->_resourceMock->expects($this->once())->method('load')->with($this->model, $indexerId)->willReturnSelf(); $this->model->loadByIndexer($indexerId); $this->assertEquals($indexerId, $this->model->getIndexerId()); }
/** * Synchronize status for indexers * * @param \Magento\Indexer\Model\Indexer\State $state * @return \Magento\Indexer\Model\Indexer\State */ public function afterSetStatus(\Magento\Indexer\Model\Indexer\State $state) { if (in_array($state->getIndexerId(), $this->indexerIds)) { $indexerId = $state->getIndexerId() == \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID ? \Magento\Catalog\Model\Indexer\Product\Category::INDEXER_ID : \Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID; $relatedIndexerState = $this->state->loadByIndexer($indexerId); $relatedIndexerState->setData('status', $state->getStatus()); $relatedIndexerState->save(); } return $state; }
/** * Process flat enabled mode change * * @return void */ public function processValue() { if ((bool) $this->getValue() != (bool) $this->getOldValue()) { if ((bool) $this->getValue()) { $this->indexerState->loadByIndexer(\Magento\Catalog\Model\Indexer\Category\Flat\State::INDEXER_ID); $this->indexerState->setStatus(\Magento\Indexer\Model\Indexer\State::STATUS_INVALID); $this->indexerState->save(); } else { $this->indexerRegistry->get(\Magento\Catalog\Model\Indexer\Category\Flat\State::INDEXER_ID)->setScheduled(false); } } }
/** * Process flat enabled mode change * * @return void */ public function processValue() { if ((bool) $this->getValue() != (bool) $this->getOldValue()) { if ((bool) $this->getValue()) { $this->indexerState->loadByIndexer(\Magento\Catalog\Model\Indexer\Product\Flat\Processor::INDEXER_ID); $this->indexerState->setStatus(\Magento\Framework\Indexer\StateInterface::STATUS_INVALID); $this->indexerState->save(); } else { $this->_productFlatIndexerProcessor->getIndexer()->setScheduled(false); } } }
/** * Synchronize status for indexers * * @param State $state * @return State */ public function afterSave(State $state) { if (in_array($state->getIndexerId(), $this->indexerIds)) { $indexerId = $state->getIndexerId() === Product::INDEXER_ID ? Category::INDEXER_ID : Product::INDEXER_ID; $relatedIndexerState = $this->state->loadByIndexer($indexerId); if ($relatedIndexerState->getStatus() !== $state->getStatus()) { $relatedIndexerState->setData('status', $state->getStatus()); $relatedIndexerState->save(); } } return $state; }
/** * Return related state object * * @return Indexer\State */ public function getState() { if (!$this->state) { $this->state = $this->stateFactory->create(); $this->state->loadByIndexer($this->getId()); } return $this->state; }
/** * {@inheritdoc} */ public function loadByIndexer($indexerId) { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'loadByIndexer'); if (!$pluginInfo) { return parent::loadByIndexer($indexerId); } else { return $this->___callPlugins('loadByIndexer', func_get_args(), $pluginInfo); } }