Exemplo n.º 1
0
 /**
  * @param PreFlushConfigEvent $event
  */
 public function preFlush(PreFlushConfigEvent $event)
 {
     $config = $event->getConfig('extend');
     if (null === $config || $event->isFieldConfig()) {
         return;
     }
     $className = $config->getId()->getClassName();
     $this->provider->clearCache($className);
     $changeSet = $event->getConfigManager()->getConfigChangeSet($config);
     $isDeleted = isset($changeSet['state']) && $changeSet['state'][1] === ExtendScope::STATE_DELETE;
     if (!$isDeleted) {
         $this->provider->warmUpCache($className);
     }
 }
 /**
  * @param PersistConfigEvent $event
  */
 public function prePersistEntityConfig(PersistConfigEvent $event)
 {
     $config = $event->getConfig();
     $configId = $config->getId();
     if ($configId->getScope() !== 'extend') {
         return;
     }
     $className = $configId->getClassName();
     $this->provider->clearCache($className);
     $change = $event->getConfigManager()->getConfigChangeSet($config);
     $isDeleted = isset($change['state']) && $change['state'][1] === ExtendScope::STATE_DELETE;
     if (!$isDeleted) {
         $this->provider->warmUpCache($className);
     }
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function warmUpCache($className = null)
 {
     foreach ($this->providers as $provider) {
         $provider->warmUpCache($className);
     }
     if ($this->defaultProvider) {
         $this->defaultProvider->warmUpCache($className);
     }
 }
 /**
  * @param PersistConfigEvent $event
  */
 public function prePersistEntityConfig(PersistConfigEvent $event)
 {
     $event->getConfigManager()->calculateConfigChangeSet($event->getConfig());
     $changes = $event->getConfigManager()->getConfigChangeSet($event->getConfig());
     $isDeleted = false;
     // Now if you press delete entity button, in state variable, in 1st position will be "Deleted" string.
     // If you press restore entity, then "Deleted" string will be at 0 position.
     if (isset($changes['state']) && $changes['state'][1] === 'Deleted') {
         $isDeleted = true;
     }
     $cp = $event->getConfigManager()->getProvider('ownership');
     $className = $event->getConfig()->getId()->getClassName();
     if ($cp->hasConfig($className)) {
         $this->provider->clearCache($className);
         if (!$isDeleted) {
             $this->provider->warmUpCache($className);
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function warmUp($cacheDir)
 {
     $this->provider->warmUpCache();
 }