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

Configuration   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 45
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 21 1
A configureJms() 0 16 1
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