public function createEntry(MotivationEntry $e) { try { $e->setUpdated(new DateTime()); $this->entryEditorTypeHandle($e); $this->entryOwnerTypeHandle($e); $this->entrySeasonTypeHandle($e); $this->entryDao->save($e); $this->invalidateEntityCache($e); $this->onCreate($e); } catch (DuplicateEntryException $ex) { $this->logWarning($ex->getMessage()); } catch (\Exception $ex) { $this->logError($ex->getMessage()); throw new Exceptions\DataErrorException($ex->getMessage(), $ex->getCode(), $ex->getPrevious()); } }