Test Failed
Pull Request — master (#11)
by Pavel
08:00
created

Configuration::getConfigTreeBuilder()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 21
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 21
rs 9.3142
c 1
b 0
f 0
cc 1
eloc 15
nc 1
nop 0
1
<?php
2
3
namespace Bankiru\Api\JsonRpc\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
6
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
7
use Symfony\Component\Config\Definition\ConfigurationInterface;
8
9
final class Configuration implements ConfigurationInterface
10
{
11
    /** {@inheritdoc} */
12
    public function getConfigTreeBuilder()
13
    {
14
        $builder = new TreeBuilder();
15
        $root    = $builder->root('jsonrpc_server');
16
17
        $normListener = $root
18
            ->children()
19
            ->arrayNode('normalizer_listener')
20
            ->canBeDisabled();
21
22
        $normListener
23
            ->children()
24
            ->scalarNode('normalizer')
25
            ->info('View listener normalizer service ID')
26
            ->defaultValue('jsonrpc_server.builtin_adapter.normalizer');
27
28
        $adapters = $root->children()->arrayNode('adapters')->addDefaultsIfNotSet();
29
        $this->configureJms($adapters);
30
31
        return $builder;
32
    }
33
34
    /**
35
     * @param ArrayNodeDefinition $adapters
36
     */
37
    private function configureJms(ArrayNodeDefinition $adapters)
38
    {
39
        $jms = $adapters->children()->arrayNode('jms');
40
41
        $jms->canBeEnabled();
42
43
        $jms->children()
44
            ->arrayNode('relation_handlers')
45
            ->fixXmlConfig('relation_handler')
46
            ->useAttributeAsKey('handler')
47
            ->prototype('scalar')
48
            ->info(
49
                'Key: Relation handler name (i.e. "Relation"), Value: service ID for relation handler entity manager'
50
            )
51
            ->isRequired();
52
    }
53
}
54