/** * {@inheritdoc} * * @throws MethodNotAllowedHttpException */ protected function dispatchEvent($action, &$entity, $isNew = false, Event $event = null) { if (!$entity instanceof Point) { throw new MethodNotAllowedHttpException(array('Point')); } switch ($action) { case "pre_save": $name = PointEvents::POINT_PRE_SAVE; break; case "post_save": $name = PointEvents::POINT_POST_SAVE; break; case "pre_delete": $name = PointEvents::POINT_PRE_DELETE; break; case "post_delete": $name = PointEvents::POINT_POST_DELETE; break; default: return null; } if ($this->dispatcher->hasListeners($name)) { if (empty($event)) { $event = new PointEvent($entity, $isNew); $event->setEntityManager($this->em); } $this->dispatcher->dispatch($name, $event); return $event; } return null; }