public function generateNodeEvents()
{
if (!$this->eventEmittingService->isEnabled()) {
return;
}
if (count($this->currentNodeAddEvents) > 0) {
return;
}
$this->initializeAccountIdentifier();
foreach ($this->changedNodes as $nodePath => $data) {
$node = $data['node'];
unset($data['node']);
/* @var $nodeEvent NodeEvent */
if (isset($data['oldLabel']) && isset($data['newLabel'])) {
if ($data['oldLabel'] !== $data['newLabel']) {
$nodeEvent = $this->eventEmittingService->emit(self::NODE_LABEL_CHANGED, array('oldLabel' => $data['oldLabel'], 'newLabel' => $data['newLabel']), NodeEvent::class);
$nodeEvent->setNode($node);
}
unset($data['oldLabel']);
unset($data['newLabel']);
}
if (!empty($data)) {
$nodeEvent = $this->eventEmittingService->emit(self::NODE_UPDATED, $data, NodeEvent::class);
$nodeEvent->setNode($node);
}
}
$this->changedNodes = array();
}