Ejemplo n.º 1
0
 /**
  * Constructor.
  *
  * @param IndexManager              $indexManager
  * @param string                    $documentClass
  * @param Finder                    $finder
  * @param DocumentMetadataCollector $metadataCollector
  */
 public function __construct(IndexManager $indexManager, $documentClass, Finder $finder, DocumentMetadataCollector $metadataCollector)
 {
     $this->indexManager = $indexManager;
     $this->documentClass = $documentClass;
     $this->finder = $finder;
     $this->documentMetadataCollector = $metadataCollector;
     if ($this->documentMetadataCollector->getDocumentClassIndex($documentClass) !== $indexManager->getManagerName()) {
         throw new \InvalidArgumentException(sprintf('Type "%s" is not managed by index "%s"', $documentClass, $indexManager->getManagerName()));
     }
     // Get the metadata of the document class managed by the repository
     $this->metadata = $this->documentMetadataCollector->getDocumentMetadata($documentClass);
 }
Ejemplo n.º 2
0
 /**
  * Constructor.
  *
  * @param IndexManager $indexManager
  * @param string       $documentClass
  * @param Finder       $finder
  * @param string       $languageSeparator
  */
 public function __construct($indexManager, $documentClass, Finder $finder, $languageSeparator)
 {
     $this->indexManager = $indexManager;
     $this->documentClass = $documentClass;
     $this->finder = $finder;
     $this->languageSeparator = $languageSeparator;
     // Get the metadata of the document class managed by the repository
     $metadata = $this->getManager()->getDocumentsMetadata([$documentClass]);
     if (empty($metadata)) {
         throw new \InvalidArgumentException(sprintf('Type "%s" is not managed by index "%s"', $documentClass, $indexManager->getManagerName()));
     }
     $this->metadata = $metadata[$documentClass];
 }