| 
3 | 3 | 
 
  | 
4 | 4 | namespace TheCodingMachine\TDBM\Bundle\DependencyInjection;  | 
5 | 5 | 
 
  | 
 | 6 | +use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;  | 
6 | 7 | use Symfony\Component\Config\Definition\Builder\NodeBuilder;  | 
7 | 8 | use Symfony\Component\Config\Definition\Builder\TreeBuilder;  | 
8 | 9 | use Symfony\Component\Config\Definition\ConfigurationInterface;  | 
9 | 10 | 
 
  | 
10 | 11 | class Configuration implements ConfigurationInterface  | 
11 | 12 | {  | 
12 |  | -    public function getConfigTreeBuilder()  | 
 | 13 | +    public function getConfigTreeBuilder(): TreeBuilder  | 
13 | 14 |     {  | 
14 | 15 |         $treeBuilder = new TreeBuilder('tdbm');  | 
15 | 16 |         $rootNode = $treeBuilder->getRootNode();  | 
 | 17 | +        assert($rootNode instanceof ArrayNodeDefinition);  | 
16 | 18 | 
 
  | 
17 | 19 |         $rootNodeChildren = $rootNode->children();  | 
18 |  | - | 
19 | 20 |         $this->buildServiceNode($rootNodeChildren);  | 
20 | 21 | 
 
  | 
21 |  | -        $rootNodeServices = $rootNodeChildren->arrayNode('databases')->arrayPrototype()->children();  | 
22 |  | -        $this->buildServiceNode($rootNodeServices);  | 
23 |  | -        $rootNodeServices->end()->end()->end();  | 
24 |  | - | 
25 |  | -        $rootNodeChildren->end();  | 
 | 22 | +        $rootNodeDatabases = $rootNodeChildren->arrayNode('databases')->arrayPrototype()->children();  | 
 | 23 | +        $this->buildServiceNode($rootNodeDatabases);  | 
26 | 24 | 
 
  | 
27 | 25 |         return $treeBuilder;  | 
28 | 26 |     }  | 
29 | 27 | 
 
  | 
30 | 28 |     private function buildServiceNode(NodeBuilder $serviceNode): void  | 
31 | 29 |     {  | 
32 |  | -        $serviceNode  | 
33 |  | -            ->scalarNode('dao_namespace')->defaultValue('App\\Daos')->end()  | 
34 |  | -            ->scalarNode('bean_namespace')->defaultValue('App\\Beans')->end()  | 
35 |  | -            ->scalarNode('connection')->defaultValue('doctrine.dbal.default_connection')->end()  | 
36 |  | -            ->arrayNode('naming')  | 
37 |  | -                ->addDefaultsIfNotSet()  | 
38 |  | -                ->children()  | 
39 |  | -                    ->scalarNode('bean_prefix')->defaultValue('')->end()  | 
40 |  | -                    ->scalarNode('bean_suffix')->defaultValue('')->end()  | 
41 |  | -                    ->scalarNode('base_bean_prefix')->defaultValue('Abstract')->end()  | 
42 |  | -                    ->scalarNode('base_bean_suffix')->defaultValue('')->end()  | 
43 |  | -                    ->scalarNode('dao_prefix')->defaultValue('')->end()  | 
44 |  | -                    ->scalarNode('dao_suffix')->defaultValue('Dao')->end()  | 
45 |  | -                    ->scalarNode('base_dao_prefix')->defaultValue('Abstract')->end()  | 
46 |  | -                    ->scalarNode('base_dao_suffix')->defaultValue('Dao')->end()  | 
47 |  | -                    ->arrayNode('exceptions')  | 
48 |  | -                        ->prototype('scalar')->end()  | 
49 |  | -                    ->end()  | 
50 |  | -                ->end()  | 
51 |  | -            ->end();  | 
 | 30 | +        $serviceNode->scalarNode('dao_namespace')->defaultValue('App\\Daos');  | 
 | 31 | +        $serviceNode->scalarNode('bean_namespace')->defaultValue('App\\Beans');  | 
 | 32 | +        $serviceNode->scalarNode('connection')->defaultValue('doctrine.dbal.default_connection');  | 
 | 33 | + | 
 | 34 | +        $namingNode = $serviceNode->arrayNode('naming')->addDefaultsIfNotSet()->children();  | 
 | 35 | +        $namingNode->scalarNode('bean_prefix')->defaultValue('');  | 
 | 36 | +        $namingNode->scalarNode('bean_suffix')->defaultValue('');  | 
 | 37 | +        $namingNode->scalarNode('base_bean_prefix')->defaultValue('Abstract');  | 
 | 38 | +        $namingNode->scalarNode('base_bean_suffix')->defaultValue('');  | 
 | 39 | +        $namingNode->scalarNode('dao_prefix')->defaultValue('');  | 
 | 40 | +        $namingNode->scalarNode('dao_suffix')->defaultValue('Dao');  | 
 | 41 | +        $namingNode->scalarNode('base_dao_prefix')->defaultValue('Abstract');  | 
 | 42 | +        $namingNode->scalarNode('base_dao_suffix')->defaultValue('Dao');  | 
 | 43 | +        $namingNode->arrayNode('exceptions')->prototype('scalar');  | 
52 | 44 |     }  | 
53 | 45 | }  | 
0 commit comments