protected function loadFixtures(array $fixtures) { /** @var PHPCR $dbManager */ $dbManager = $this->getDbManager('PHPCR'); $loader = new ContainerAwareLoader($this->getContainer()); foreach ($fixtures as $className) { $dbManager->loadFixtureClass($loader, $className); } $purger = new PHPCRPurger(); $executor = new PHPCRExecutor($dbManager->getOm(), $purger); $referenceRepository = new ProxyReferenceRepository($dbManager->getOm()); $executor->setReferenceRepository($referenceRepository); $executor->execute($loader->getFixtures(), true); $dbManager->getOm()->clear(); }
/** * Return the PHPCR Executor class. * * @return PHPCRExecutor */ private function getExecutor($initialize = false) { static $lastInitialize = null; if ($this->executor && $initialize === $lastInitialize) { return $this->executor; } $initializerManager = $initialize ? $this->container->get('doctrine_phpcr.initializer_manager') : null; $purger = new PHPCRPurger(); $executor = new PHPCRExecutor($this->getOm(), $purger, $initializerManager); $referenceRepository = new ProxyReferenceRepository($this->getOm()); $executor->setReferenceRepository($referenceRepository); $this->executor = $executor; $lastInitialize = $initialize; return $executor; }