Merge pull request #1574 from Ma27/patch-1
deduplication of internal UnitOfWork methods
This commit is contained in:
commit
bd94931201
@ -3259,41 +3259,35 @@ class UnitOfWork implements PropertyChangedListener
|
||||
*/
|
||||
private function afterTransactionComplete()
|
||||
{
|
||||
if ( ! $this->hasCache) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($this->persisters as $persister) {
|
||||
if ($persister instanceof CachedPersister) {
|
||||
$this->performCallbackOnCachedPersister(function (CachedPersister $persister) {
|
||||
$persister->afterTransactionComplete();
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->collectionPersisters as $persister) {
|
||||
if ($persister instanceof CachedPersister) {
|
||||
$persister->afterTransactionComplete();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Perform whatever processing is encapsulated here after completion of the rolled-back.
|
||||
*/
|
||||
private function afterTransactionRolledBack()
|
||||
{
|
||||
$this->performCallbackOnCachedPersister(function (CachedPersister $persister) {
|
||||
$persister->afterTransactionRolledBack();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs an action after the transaction.
|
||||
*
|
||||
* @param callable $callback
|
||||
*/
|
||||
private function performCallbackOnCachedPersister(callable $callback)
|
||||
{
|
||||
if ( ! $this->hasCache) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($this->persisters as $persister) {
|
||||
foreach (array_merge($this->persisters, $this->collectionPersisters) as $persister) {
|
||||
if ($persister instanceof CachedPersister) {
|
||||
$persister->afterTransactionRolledBack();
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->collectionPersisters as $persister) {
|
||||
if ($persister instanceof CachedPersister) {
|
||||
$persister->afterTransactionRolledBack();
|
||||
$callback($persister);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user