diff --git a/application/symfony/src/Domain/RepositoryManagement/LayerRepositoryFactoryService.php b/application/symfony/src/Domain/RepositoryManagement/LayerRepositoryFactoryService.php index 22ba624..745128e 100644 --- a/application/symfony/src/Domain/RepositoryManagement/LayerRepositoryFactoryService.php +++ b/application/symfony/src/Domain/RepositoryManagement/LayerRepositoryFactoryService.php @@ -4,40 +4,18 @@ namespace App\Domain\RepositoryManagement; use App\Repository\RepositoryInterface; use Doctrine\ORM\EntityManagerInterface; -use App\DBAL\Types\Meta\Right\LayerType; -use App\Exception\NotSetException; -use App\Entity\Source\AbstractSource; +use App\Domain\LayerManagement\LayerClassMap; /** * @author kevinfrantz */ final class LayerRepositoryFactoryService implements LayerRepositoryFactoryServiceInterface { - const LAYER_CLASS_MAP = [ - LayerType::SOURCE => AbstractSource::class, - ]; - /** * @var EntityManagerInterface */ private $entityManager; - /** - * @param string $layer - * - * @throws NotSetException - * - * @return string - */ - private function getRepositoryClassName(string $layer): string - { - $map = self::LAYER_CLASS_MAP; - if (array_key_exists($layer, $map)) { - return $map[$layer]; - } - throw new NotSetException('The requested layer is not mapped!'); - } - /** * @param EntityManagerInterface $entityManager */ @@ -53,7 +31,7 @@ final class LayerRepositoryFactoryService implements LayerRepositoryFactoryServi */ public function getRepository(string $layer): RepositoryInterface { - $repositoryClassName = $this->getRepositoryClassName($layer); + $repositoryClassName = LayerClassMap::getClass($layer); return $this->entityManager->getRepository($repositoryClassName); }