From 3f242130c41d6d95e6d82a12e78c9d587d408bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Haso=C5=88?= Date: Wed, 27 Nov 2019 15:21:37 +0100 Subject: [PATCH] wip --- Logger/Logger.php | 24 ++++------------------ Resolver/DoctrineObjectEventResolver.php | 26 +++++------------------- composer.json | 3 ++- 3 files changed, 11 insertions(+), 42 deletions(-) diff --git a/Logger/Logger.php b/Logger/Logger.php index b2e2200..88a119f 100644 --- a/Logger/Logger.php +++ b/Logger/Logger.php @@ -12,9 +12,8 @@ namespace Xiidea\EasyAuditBundle\Logger; use Doctrine\Common\Persistence\ManagerRegistry; -use Doctrine\Common\Persistence\ObjectManager; -use Xiidea\EasyAuditBundle\Model\BaseAuditLog as AuditLog; use Xiidea\EasyAuditBundle\Events\DoctrineEvents; +use Xiidea\EasyAuditBundle\Model\BaseAuditLog as AuditLog; class Logger implements LoggerInterface { @@ -45,29 +44,14 @@ public function log(AuditLog $event = null) $this->saveLog($event); } - /** - * @return ObjectManager - */ - protected function getManager() - { - return $this->getDoctrine()->getManager(); - } - - /** - * @return \Doctrine\Common\Persistence\ManagerRegistry - */ - public function getDoctrine() - { - return $this->doctrine; - } - /** * @param AuditLog $event */ protected function saveLog(AuditLog $event) { - $this->getManager()->persist($event); - $this->getManager()->flush($event); + $manager = $this->doctrine->getManagerForClass($event); + $manager->persist($event); + $manager->flush($event); } public function savePendingLogs() diff --git a/Resolver/DoctrineObjectEventResolver.php b/Resolver/DoctrineObjectEventResolver.php index 7e58050..6a327f4 100644 --- a/Resolver/DoctrineObjectEventResolver.php +++ b/Resolver/DoctrineObjectEventResolver.php @@ -11,11 +11,10 @@ namespace Xiidea\EasyAuditBundle\Resolver; -use Doctrine\Common\Persistence\ManagerRegistry; use Doctrine\Common\Util\ClassUtils; use Symfony\Component\EventDispatcher\Event; -use Xiidea\EasyAuditBundle\Events\DoctrineObjectEvent; use Xiidea\EasyAuditBundle\Events\DoctrineEvents; +use Xiidea\EasyAuditBundle\Events\DoctrineObjectEvent; /** Custom Event Resolver Example Class */ class DoctrineObjectEventResolver implements EventResolverInterface @@ -32,9 +31,9 @@ class DoctrineObjectEventResolver implements EventResolverInterface protected $identity = ['', '']; /** - * @var ManagerRegistry + * @var \Doctrine\ORM\EntityManager */ - protected $doctrine; + protected $manager; protected $changeSetGetterMethods = [ 'getEntityChangeSet', @@ -88,6 +87,7 @@ private function initialize(DoctrineObjectEvent $event, $eventName) $this->eventName = $eventName; $this->event = $event; $this->entity = $event->getLifecycleEventArgs()->getObject(); + $this->manager = $event->getLifecycleEventArgs()->getObjectManager(); $this->identity = $this->getSingleIdentity(); } @@ -182,22 +182,6 @@ protected function getReflectionClassFromObject($object) */ protected function getUnitOfWork() { - return $this->getDoctrine()->getManager()->getUnitOfWork(); - } - - /** - * @return ManagerRegistry|object - */ - protected function getDoctrine() - { - return $this->doctrine; - } - - /** - * @param ManagerRegistry $doctrine - */ - public function setDoctrine($doctrine) - { - $this->doctrine = $doctrine; + return $this->manager->getUnitOfWork(); } } diff --git a/composer.json b/composer.json index 49ff1f8..8896772 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,8 @@ "phpunit/phpunit": "^5.0 || ^6.0", "friendsofsymfony/user-bundle": "^2.0", "php-coveralls/php-coveralls": "^2.1", - "doctrine/common": ">=2.2 <3.0" + "doctrine/common": ">=2.2 <3.0", + "doctrine/orm": "^2.2" }, "autoload": { "psr-4": {