mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 09:19:08 +00:00 
			
		
		
		
	Used LayerClassMap
This commit is contained in:
		| @@ -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); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user