/**
  * {@inheritdoc}
  */
 public function process(ConsumerEvent $event)
 {
     $media = $this->mediaManager->findOneBy(array('id' => $event->getMessage()->getValue('mediaId')));
     if (!$media) {
         throw new HandlingException(sprintf('Media not found - id: %s', $event->getMessage()->getValue('mediaId')));
     }
     // solve race condition between message queue and database transaction
     $media->setProviderReference($event->getMessage()->getValue('providerReference'));
     try {
         $this->getThumbnail($event)->generate($this->pool->getProvider($media->getProviderName()), $media);
     } catch (\LogicException $e) {
         throw new HandlingException(sprintf('Error while generating exception for media.id: %s', $event->getMessage()->getValue('mediaId')), 0, $e);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function load(BlockInterface $block)
 {
     $gallery = $block->getSetting('galleryId');
     if ($gallery) {
         $gallery = $this->galleryManager->findOneBy(array('id' => $gallery));
     }
     $block->setSetting('galleryId', $gallery);
 }
 /**
  * {@inheritdoc}
  */
 public function load(BlockInterface $block)
 {
     $media = $block->getSetting('mediaId', null);
     if (is_int($media)) {
         $media = $this->mediaManager->findOneBy(array('id' => $media));
     }
     $block->setSetting('mediaId', $media);
 }
 /**
  * Get the related Transaction.
  *
  * @param ConsumerEvent $event
  *
  * @throws \RuntimeException
  *
  * @return TransactionInterface
  */
 protected function getTransaction(ConsumerEvent $event)
 {
     $transactionId = $event->getMessage()->getValue('transaction_id');
     $transaction = $this->transactionManager->findOneBy(array('id' => $transactionId));
     if (!$transaction) {
         throw new \RuntimeException(sprintf('Unable to retrieve Transaction %d', $transactionId));
     }
     return $transaction;
 }
 /**
  * @param mixed $media
  *
  * @return MediaInterface|null|bool
  */
 private function getMedia($media)
 {
     if (!$media instanceof MediaInterface && strlen($media) > 0) {
         $media = $this->mediaManager->findOneBy(array('id' => $media));
     }
     if (!$media instanceof MediaInterface) {
         return false;
     }
     if ($media->getProviderStatus() !== MediaInterface::STATUS_OK) {
         return false;
     }
     return $media;
 }
示例#6
0
 /**
  * Deserialize object from its id.
  *
  * @param VisitorInterface $visitor
  * @param int              $data
  * @param array            $type
  *
  * @return null|object
  */
 public function deserializeObjectFromId(VisitorInterface $visitor, $data, array $type)
 {
     return $this->manager->findOneBy(array('id' => $data));
 }