Skip to content

Commit 7bf5352

Browse files
author
Klyachin Andrey
committed
Supports doctrine mongodb event_subscriber
1 parent 989a79d commit 7bf5352

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

DependencyInjection/EnqueueElasticaExtension.php

+25-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public function load(array $configs, ContainerBuilder $container)
2323

2424
$container->setAlias('enqueue_elastica.context', $config['context']);
2525

26+
$doctrineDriver = $config['doctrine']['driver'];
2627
if (false == empty($config['doctrine']['queue_listeners'])) {
2728
foreach ($config['doctrine']['queue_listeners'] as $listenerConfig) {
2829
$listenerId = sprintf(
@@ -36,18 +37,23 @@ public function load(array $configs, ContainerBuilder $container)
3637
->addArgument(new Reference('enqueue_elastica.context'))
3738
->addArgument($listenerConfig['model_class'])
3839
->addArgument($listenerConfig)
39-
->addTag('doctrine.event_subscriber', ['connection' => $listenerConfig['connection']])
40+
->addTag($this->getEventSubscriber($doctrineDriver), ['connection' => $listenerConfig['connection']])
4041
;
4142
}
4243
}
4344

4445
$serviceId = 'enqueue_elastica.doctrine.sync_index_with_object_change_processor';
45-
$managerRegistry = $this->getManagerRegistry($config['doctrine']['driver']);
46+
$managerRegistry = $this->getManagerRegistry($doctrineDriver);
4647
$container
4748
->getDefinition($serviceId)
4849
->replaceArgument(0, new Reference($managerRegistry));
4950
}
5051

52+
/**
53+
* @param string $driver
54+
*
55+
* @return string
56+
*/
5157
private function getManagerRegistry(string $driver): string
5258
{
5359
switch ($driver) {
@@ -59,4 +65,21 @@ private function getManagerRegistry(string $driver): string
5965
return 'doctrine';
6066
}
6167
}
68+
69+
/**
70+
* @param string $driver
71+
*
72+
* @return string
73+
*/
74+
private function getEventSubscriber(string $driver): string
75+
{
76+
switch ($driver) {
77+
case 'mongodb':
78+
return 'doctrine_mongodb.odm.event_subscriber';
79+
break;
80+
case 'orm':
81+
default:
82+
return 'doctrine.event_subscriber';
83+
}
84+
}
6285
}

0 commit comments

Comments
 (0)