vendor/massive/search-bundle/Search/EventListener/DeindexListener.php line 36

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the MassiveSearchBundle
  4.  *
  5.  * (c) MASSIVE ART WebServices GmbH
  6.  *
  7.  * This source file is subject to the MIT license that is bundled
  8.  * with this source code in the file LICENSE.
  9.  */
  10. namespace Massive\Bundle\SearchBundle\Search\EventListener;
  11. use Massive\Bundle\SearchBundle\Search\Event\DeindexEvent;
  12. use Massive\Bundle\SearchBundle\Search\Exception\MetadataNotFoundException;
  13. use Massive\Bundle\SearchBundle\Search\SearchManagerInterface;
  14. /**
  15.  * Listen on index event and call search manager.
  16.  */
  17. class DeindexListener
  18. {
  19.     /**
  20.      * @var SearchManagerInterface
  21.      */
  22.     private $searchManager;
  23.     public function __construct(SearchManagerInterface $searchManager)
  24.     {
  25.         $this->searchManager $searchManager;
  26.     }
  27.     /**
  28.      * Deindex subject from event.
  29.      */
  30.     public function onDeindex(DeindexEvent $event)
  31.     {
  32.         try {
  33.             $this->searchManager->deindex($event->getSubject());
  34.         } catch (MetadataNotFoundException $ex) {
  35.             // no metadata found => do nothing
  36.         }
  37.     }
  38. }