/** * {@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; }
/** * 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)); }