public function testEvent() { $config = new Config(new EntityConfigId('Test/Class', 'test')); $event = new PersistConfigEvent($config, $this->configManager); $this->assertEquals($config, $event->getConfig()); $this->assertEquals($config->getId(), $event->getConfigId()); $this->assertEquals($this->configManager, $event->getConfigManager()); }
/** * @param PersistConfigEvent $event */ public function persistConfig(PersistConfigEvent $event) { $eventConfig = $event->getConfig(); $eventConfigId = $event->getConfigId(); if ($eventConfigId->getScope() !== 'search') { return; } $configManager = $event->getConfigManager(); $configManager->calculateConfigChangeSet($eventConfig); $change = $configManager->getConfigChangeSet($eventConfig); if (empty($change) || !array_key_exists('searchable', $change)) { return; } $class = $eventConfigId->getClassName(); if ($configManager->getProvider('extend')->getConfig($class)->get('state') === ExtendScope::STATE_ACTIVE) { $this->addReindexJob($eventConfigId->getClassName()); } else { $this->addPostponeJob($eventConfigId->getClassName()); } }