55namespace Neo4j \Neo4jBundle \DependencyInjection ;
66
77use Neo4j \Neo4jBundle \Collector \Neo4jDataCollector ;
8+ use Neo4j \Neo4jBundle \EventHandler ;
89use Neo4j \Neo4jBundle \EventListener \Neo4jProfileListener ;
910use Psr \Http \Client \ClientInterface ;
1011use Psr \Http \Message \RequestFactoryInterface ;
@@ -27,42 +28,63 @@ public function load(array $configs, ContainerBuilder $container): ContainerBuil
2728 $ configuration = new Configuration ();
2829 $ mergedConfig = $ this ->processConfiguration ($ configuration , $ configs );
2930
30- $ loader = new PhpFileLoader ($ container , new FileLocator (__DIR__ . '/../../config ' ));
31+ $ loader = new PhpFileLoader ($ container , new FileLocator (__DIR__ . '/../../config ' ));
3132 $ loader ->load ('services.php ' );
3233
34+ $ defaultAlias = $ mergedConfig ['default_driver ' ] ?? $ mergedConfig ['drivers ' ][0 ]['alias ' ] ?? 'default ' ;
35+
36+ $ container ->setDefinition ('neo4j.event_handler ' , new Definition (EventHandler::class))
37+ ->setAutowired (true )
38+ ->addTag ('neo4j.event_handler ' )
39+ ->setArgument (1 , $ defaultAlias );
40+
3341 $ container ->getDefinition ('neo4j.client_factory ' )
3442 ->setArgument (1 , $ mergedConfig ['default_driver_config ' ] ?? null )
3543 ->setArgument (2 , $ mergedConfig ['default_session_config ' ] ?? null )
3644 ->setArgument (3 , $ mergedConfig ['default_transaction_config ' ] ?? null )
3745 ->setArgument (4 , $ mergedConfig ['drivers ' ] ?? [])
3846 ->setArgument (5 , $ mergedConfig ['default_driver ' ] ?? null )
3947 ->setArgument (6 , new Reference (ClientInterface::class, ContainerInterface::NULL_ON_INVALID_REFERENCE ))
40- ->setArgument (7 , new Reference (StreamFactoryInterface::class, ContainerInterface::NULL_ON_INVALID_REFERENCE ))
41- ->setArgument (8 , new Reference (RequestFactoryInterface::class, ContainerInterface::NULL_ON_INVALID_REFERENCE ))
42- ->setAbstract (false )
43- ;
48+ ->setArgument (
49+ 7 ,
50+ new Reference (StreamFactoryInterface::class, ContainerInterface::NULL_ON_INVALID_REFERENCE )
51+ )
52+ ->setArgument (
53+ 8 ,
54+ new Reference (RequestFactoryInterface::class, ContainerInterface::NULL_ON_INVALID_REFERENCE )
55+ )
56+ ->setAbstract (false );
4457
4558 $ container ->getDefinition ('neo4j.driver ' )
46- ->setArgument (0 , $ mergedConfig [ ' drivers ' ][ ' alias ' ] ?? ' default ' );
59+ ->setArgument (0 , $ defaultAlias );
4760
4861 $ enabledProfiles = [];
4962 foreach ($ mergedConfig ['drivers ' ] as $ driver ) {
50- if (true === $ driver ['profiling ' ] || (null === $ driver ['profiling ' ] && $ container ->getParameter ('kernel.debug ' ))) {
63+ if (true === $ driver ['profiling ' ] || (null === $ driver ['profiling ' ] && $ container ->getParameter (
64+ 'kernel.debug '
65+ ))) {
5166 $ enabledProfiles [] = $ driver ['alias ' ];
5267 }
5368 }
5469
5570 if (0 !== count ($ enabledProfiles )) {
56- $ container ->setDefinition ('neo4j.data_collector ' , (new Definition (Neo4jDataCollector::class))
57- ->setAutowired (true )
58- ->addTag ('data_collector ' )
71+ $ container ->setDefinition (
72+ 'neo4j.data_collector ' ,
73+ (new Definition (Neo4jDataCollector::class))
74+ ->setAutowired (true )
75+ ->addTag ('data_collector ' , [
76+ 'id ' => Neo4jDataCollector::class,
77+ 'priority ' => 500 ,
78+ ])
5979 );
6080
6181 $ container ->setAlias (Neo4jProfileListener::class, 'neo4j.subscriber ' );
6282
63- $ container ->setDefinition ('neo4j.subscriber ' , (new Definition (Neo4jProfileListener::class))
64- ->setArgument (0 , $ enabledProfiles )
65- ->addTag ('kernel.event_subscriber ' )
83+ $ container ->setDefinition (
84+ 'neo4j.subscriber ' ,
85+ (new Definition (Neo4jProfileListener::class))
86+ ->setArgument (0 , $ enabledProfiles )
87+ ->addTag ('kernel.event_subscriber ' )
6688 );
6789 }
6890
0 commit comments