Skip to content

Commit 11dc7d6

Browse files
authored
Merge pull request #1946 from VincentLanglet/compatibility-orm-3
Add compatibility with doctrine/orm 3
2 parents 9f3c43a + ef0eb9b commit 11dc7d6

File tree

5 files changed

+21
-12
lines changed

5 files changed

+21
-12
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"require-dev": {
4444
"doctrine/doctrine-bundle": "^2.1.1",
4545
"doctrine/mongodb-odm": "^2.2",
46-
"doctrine/orm": "^2.8",
46+
"doctrine/orm": "^2.8 || ^3.2",
4747
"doctrine/phpcr-odm": "^1.5.3 || ^2.0",
4848
"ergebnis/composer-normalize": "^2.28",
4949
"jackalope/jackalope-doctrine-dbal": "^1.2 || ^2.0",

src/Doctrine/RegisterListenersService.php

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,22 @@ public function register(ObjectManager $manager, PagerInterface $pager, array $o
4949
});
5050
}
5151

52-
if (false === $options['debug_logging'] && $manager instanceof EntityManagerInterface) {
52+
if (
53+
false === $options['debug_logging']
54+
&& $manager instanceof EntityManagerInterface
55+
) {
5356
$configuration = $manager->getConnection()->getConfiguration();
54-
$logger = $configuration->getSQLLogger();
57+
if (\method_exists($configuration, 'getSQLLogger') && \method_exists($configuration, 'setSQLLogger')) {
58+
$logger = $configuration->getSQLLogger();
5559

56-
$this->addListener($pager, PreFetchObjectsEvent::class, function () use ($configuration) {
57-
$configuration->setSQLLogger(null);
58-
});
60+
$this->addListener($pager, PreFetchObjectsEvent::class, function () use ($configuration) {
61+
$configuration->setSQLLogger(null);
62+
});
5963

60-
$this->addListener($pager, PreInsertObjectsEvent::class, function () use ($configuration, $logger) {
61-
$configuration->setSQLLogger($logger);
62-
});
64+
$this->addListener($pager, PreInsertObjectsEvent::class, function () use ($configuration, $logger) {
65+
$configuration->setSQLLogger($logger);
66+
});
67+
}
6368
}
6469
}
6570

tests/Unit/Doctrine/ORM/ElasticaToModelTransformerTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
namespace FOS\ElasticaBundle\Tests\Unit\Doctrine\ORM;
1313

14-
use Doctrine\ORM\AbstractQuery;
14+
use Doctrine\ORM\Query;
1515
use Doctrine\ORM\Query\Expr;
1616
use Doctrine\ORM\QueryBuilder;
1717
use Doctrine\Persistence\ManagerRegistry;
@@ -132,7 +132,7 @@ public function testTransformUsesDefaultQueryBuilderMethodConfiguration()
132132
*/
133133
public function testUsesHintsConfigurationIfGiven()
134134
{
135-
$query = $this->getMockBuilder(AbstractQuery::class)
135+
$query = $this->getMockBuilder(Query::class)
136136
->setMethods(['setHint', 'execute', 'setHydrationMode'])
137137
->disableOriginalConstructor()
138138
->getMockForAbstractClass()

tests/Unit/Doctrine/ORM/ListenerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected function getClassMetadataClass()
2525

2626
protected function getLifecycleEventArgsClass()
2727
{
28-
return \Doctrine\ORM\Event\LifecycleEventArgs::class;
28+
return \Doctrine\Persistence\Event\LifecycleEventArgs::class;
2929
}
3030

3131
protected function getListenerClass()

tests/Unit/Doctrine/RegisterListenersServiceTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ public function testShouldNotCallSleepListenerForAnotherPagers()
173173

174174
public function testShouldRegisterDisableDebugLoggingByDefaultForEntityManager()
175175
{
176+
if (!\interface_exists('Doctrine\DBAL\Logging\SQLLogger')) {
177+
$this->markTestSkipped('This is only possible on doctrine/orm 2.');
178+
}
179+
176180
$dispatcher = $this->createDispatcherMock();
177181
$dispatcher->expects($this->exactly(2))
178182
->method('addListener')

0 commit comments

Comments
 (0)