/**
  * @param IOpenStackRelease $release
  * @return bool|int
  */
 public function registerRelease(IOpenStackRelease $release)
 {
     $res = false;
     $release_repository = $this->release_repository;
     $this->tx_manager->transaction(function () use(&$res, $release, $release_repository) {
         $old_one = $release_repository->getByName($release->getName());
         if ($old_one) {
             throw new EntityAlreadyExistsException('OpenStackRelease', sprintf('name %s', $release->getName()));
         }
         $old_one = $release_repository->getByReleaseNumber($release->getReleaseNumber());
         if ($old_one) {
             throw new EntityAlreadyExistsException('OpenStackRelease', sprintf('release_number %s', $release->getReleaseNumber()));
         }
         $res = $release_repository->add($release);
     });
     return $res;
 }
 public static function convertReleaseToArray(IOpenStackRelease $release)
 {
     $res = array();
     $res['id'] = $release->getIdentifier();
     $res['name'] = $release->getName();
     $res['release_number'] = $release->getReleaseNumber();
     $res['release_date'] = $release->getReleaseDate();
     $res['release_notes_url'] = $release->getReleaseNotesUrl();
     return $res;
 }