Loading src/UnicaenDbImport/Config/Config.php +25 −1 Changes for src/UnicaenDbImport/Config/Config.php: 25 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ namespace UnicaenDbImport\Config; use UnicaenDbImport\Domain\ImportInterface; use UnicaenDbImport\Domain\SynchroInterface; use UnicaenDbImport\Runner; /** * Config du module. Loading @@ -13,6 +12,12 @@ use UnicaenDbImport\Runner; */ class Config { /** * platform's class => code generator's class * @var array */ protected $codeGeneratorsConfig = []; /** * @var ImportInterface[] */ Loading @@ -23,6 +28,25 @@ class Config */ protected $synchros = []; /** * @param array $codeGeneratorsConfig * @return Config */ public function setCodeGeneratorsConfig(array $codeGeneratorsConfig): Config { $this->codeGeneratorsConfig = $codeGeneratorsConfig; return $this; } /** * @return array */ public function getCodeGeneratorsConfig(): array { return $this->codeGeneratorsConfig; } /** * @param ImportInterface[] $imports * @return static Loading src/UnicaenDbImport/Config/ConfigException.php +5 −0 Changes for src/UnicaenDbImport/Config/ConfigException.php: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -25,4 +25,9 @@ class ConfigException extends RuntimeException { return new static("La clé de config '$key' n'est pas autorisée"); } public static function invalidValueForKey($key, string $expected) { return new static("La valeur associée à la clé de config '$key' n'est pas valide. Attendu : $expected."); } } No newline at end of file src/UnicaenDbImport/Config/ConfigFactory.php +24 −0 Changes for src/UnicaenDbImport/Config/ConfigFactory.php: 24 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenDbImport\Config; use Assert\Assertion; use Assert\AssertionFailedException; use Doctrine\DBAL\Connection; use Interop\Container\ContainerInterface; use UnicaenDbImport\Domain\Destination; Loading Loading @@ -31,10 +33,12 @@ class ConfigFactory $moduleConfig = $appConfig[$key]; $codeGeneratorsConfig = $this->getCodeGeneratorsConfig($moduleConfig); $imports = $this->createImports($moduleConfig); $synchros = $this->createSynchros($moduleConfig); $config = new Config(); $config->setCodeGeneratorsConfig($codeGeneratorsConfig); $config->setImports($imports); $config->setSynchros($synchros); Loading Loading @@ -120,4 +124,24 @@ class ConfigFactory return Destination::fromConfig($destinationConfig); } /** * @param array $moduleConfig * @return array */ private function getCodeGeneratorsConfig(array $moduleConfig) { try { Assertion::keyExists($moduleConfig, $key = 'code_generators'); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } try { Assertion::isArray($moduleConfig[$key]); } catch (AssertionFailedException $e) { throw ConfigException::invalidValueForKey($key, 'array'); } return $moduleConfig[$key]; } } No newline at end of file src/UnicaenDbImport/Service/DatabaseServiceFactory.php +6 −21 Changes for src/UnicaenDbImport/Service/DatabaseServiceFactory.php: 6 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ namespace UnicaenDbImport\Service; use Assert\Assertion; use Assert\AssertionFailedException; use Interop\Container\ContainerInterface; use UnicaenDbImport\Config\ConfigException; use UnicaenDbImport\Config\Config; use UnicaenDbImport\QueryExecutor; class DatabaseServiceFactory Loading @@ -16,33 +14,20 @@ class DatabaseServiceFactory */ public function __invoke(ContainerInterface $container) { /** @var Config $config */ $config = $container->get(Config::class); /** @var CodeGeneratorPluginManager $codeGeneratorPluginManager */ $codeGeneratorPluginManager = $container->get(CodeGeneratorPluginManager::class); $codeGeneratorByPlatformConfig = $this->getCodeGeneratorByPlatformConfig($container); $codeGeneratorsConfig = $config->getCodeGeneratorsConfig(); $databaseService = new DatabaseService( $codeGeneratorPluginManager, $codeGeneratorByPlatformConfig, $codeGeneratorsConfig, new QueryExecutor() ); return $databaseService; } /** * @param ContainerInterface $container * @return array */ private function getCodeGeneratorByPlatformConfig(ContainerInterface $container) { $config = $container->get('config'); try { Assertion::keyExists($config, $key = 'code_generators'); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } return $config[$key]; } } No newline at end of file Loading
src/UnicaenDbImport/Config/Config.php +25 −1 Changes for src/UnicaenDbImport/Config/Config.php: 25 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -4,7 +4,6 @@ namespace UnicaenDbImport\Config; use UnicaenDbImport\Domain\ImportInterface; use UnicaenDbImport\Domain\SynchroInterface; use UnicaenDbImport\Runner; /** * Config du module. Loading @@ -13,6 +12,12 @@ use UnicaenDbImport\Runner; */ class Config { /** * platform's class => code generator's class * @var array */ protected $codeGeneratorsConfig = []; /** * @var ImportInterface[] */ Loading @@ -23,6 +28,25 @@ class Config */ protected $synchros = []; /** * @param array $codeGeneratorsConfig * @return Config */ public function setCodeGeneratorsConfig(array $codeGeneratorsConfig): Config { $this->codeGeneratorsConfig = $codeGeneratorsConfig; return $this; } /** * @return array */ public function getCodeGeneratorsConfig(): array { return $this->codeGeneratorsConfig; } /** * @param ImportInterface[] $imports * @return static Loading
src/UnicaenDbImport/Config/ConfigException.php +5 −0 Changes for src/UnicaenDbImport/Config/ConfigException.php: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -25,4 +25,9 @@ class ConfigException extends RuntimeException { return new static("La clé de config '$key' n'est pas autorisée"); } public static function invalidValueForKey($key, string $expected) { return new static("La valeur associée à la clé de config '$key' n'est pas valide. Attendu : $expected."); } } No newline at end of file
src/UnicaenDbImport/Config/ConfigFactory.php +24 −0 Changes for src/UnicaenDbImport/Config/ConfigFactory.php: 24 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -2,6 +2,8 @@ namespace UnicaenDbImport\Config; use Assert\Assertion; use Assert\AssertionFailedException; use Doctrine\DBAL\Connection; use Interop\Container\ContainerInterface; use UnicaenDbImport\Domain\Destination; Loading Loading @@ -31,10 +33,12 @@ class ConfigFactory $moduleConfig = $appConfig[$key]; $codeGeneratorsConfig = $this->getCodeGeneratorsConfig($moduleConfig); $imports = $this->createImports($moduleConfig); $synchros = $this->createSynchros($moduleConfig); $config = new Config(); $config->setCodeGeneratorsConfig($codeGeneratorsConfig); $config->setImports($imports); $config->setSynchros($synchros); Loading Loading @@ -120,4 +124,24 @@ class ConfigFactory return Destination::fromConfig($destinationConfig); } /** * @param array $moduleConfig * @return array */ private function getCodeGeneratorsConfig(array $moduleConfig) { try { Assertion::keyExists($moduleConfig, $key = 'code_generators'); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } try { Assertion::isArray($moduleConfig[$key]); } catch (AssertionFailedException $e) { throw ConfigException::invalidValueForKey($key, 'array'); } return $moduleConfig[$key]; } } No newline at end of file
src/UnicaenDbImport/Service/DatabaseServiceFactory.php +6 −21 Changes for src/UnicaenDbImport/Service/DatabaseServiceFactory.php: 6 added lines, 21 removed lines. Original line number Diff line number Diff line Loading @@ -2,10 +2,8 @@ namespace UnicaenDbImport\Service; use Assert\Assertion; use Assert\AssertionFailedException; use Interop\Container\ContainerInterface; use UnicaenDbImport\Config\ConfigException; use UnicaenDbImport\Config\Config; use UnicaenDbImport\QueryExecutor; class DatabaseServiceFactory Loading @@ -16,33 +14,20 @@ class DatabaseServiceFactory */ public function __invoke(ContainerInterface $container) { /** @var Config $config */ $config = $container->get(Config::class); /** @var CodeGeneratorPluginManager $codeGeneratorPluginManager */ $codeGeneratorPluginManager = $container->get(CodeGeneratorPluginManager::class); $codeGeneratorByPlatformConfig = $this->getCodeGeneratorByPlatformConfig($container); $codeGeneratorsConfig = $config->getCodeGeneratorsConfig(); $databaseService = new DatabaseService( $codeGeneratorPluginManager, $codeGeneratorByPlatformConfig, $codeGeneratorsConfig, new QueryExecutor() ); return $databaseService; } /** * @param ContainerInterface $container * @return array */ private function getCodeGeneratorByPlatformConfig(ContainerInterface $container) { $config = $container->get('config'); try { Assertion::keyExists($config, $key = 'code_generators'); } catch (AssertionFailedException $e) { throw ConfigException::missingKey($key); } return $config[$key]; } } No newline at end of file