/** * Executes the queued restorations. */ private function executeRestores() { $deletedFieldName = $this->configuration->getDeletedFieldName(); $persisters = array(); foreach ($this->restoreBy as $className => $criterias) { $persister = $this->getDocumentPersister($className); $persisters[$className] = $persister; foreach ($criterias as $criteria) { $persister->addRestoreBy($criteria); } } $documentRestores = array(); foreach ($this->documentRestores as $document) { $className = get_class($document); $documentRestores[$className][] = $document; $persister = $this->getDocumentPersister($className); $persisters[$className] = $persister; $persister->addRestore($document); } foreach ($persisters as $className => $persister) { $persister->executeRestores(); $class = $this->dm->getClassMetadata($className); if (isset($documentRestores[$className])) { $documents = $documentRestores[$className]; foreach ($documents as $document) { $class->setFieldValue($document, $deletedFieldName, null); if ($this->eventManager->hasListeners(Events::postRestore)) { $this->eventManager->dispatchEvent(Events::postRestore, new Event\LifecycleEventArgs($document, $this)); } } } } }
public function testSetDeletedFieldName() { $configuration = new Configuration(); $configuration->setDeletedFieldName('test'); $this->assertEquals('test', $configuration->getDeletedFieldName()); }