/**
  * Populates identities for stored references
  *
  * @param LifecycleEventArgs $args
  */
 public function postPersist(LifecycleEventArgs $args)
 {
     $object = $args->getDocument();
     if (($name = $this->referenceRepository->getReferenceName($object)) !== false) {
         $identity = $args->getDocumentManager()->getUnitOfWork()->getDocumentIdentifier($object);
         $this->referenceRepository->setReferenceIdentity($name, $identity);
     }
 }
 /**
  * Populates identities for stored references
  *
  * @param LifecycleEventArgs $args
  */
 public function postPersist(LifecycleEventArgs $args)
 {
     $object = $args->getEntity();
     if (($names = $this->referenceRepository->getReferenceNames($object)) !== false) {
         foreach ($names as $name) {
             $identity = $args->getEntityManager()->getUnitOfWork()->getEntityIdentifier($object);
             $this->referenceRepository->setReferenceIdentity($name, $identity);
         }
     }
 }
 public function testHasIdentityCheck()
 {
     $role = new Role();
     $referenceRepository = new ReferenceRepository($this->getMockSqliteEntityManager());
     $referenceRepository->setReferenceIdentity('entity', $role);
     $this->assertTrue($referenceRepository->hasIdentity('entity'));
     $this->assertFalse($referenceRepository->hasIdentity('invalid_entity'));
     $this->assertEquals(['entity' => $role], $referenceRepository->getIdentities());
 }