| @@ 65-77 (lines=13) @@ | ||
| 62 | * |
|
| 63 | * @todo use a matcher for flexible matching? |
|
| 64 | */ |
|
| 65 | protected function delete($step) |
|
| 66 | { |
|
| 67 | if (!isset($step->dsl['lang'])) { |
|
| 68 | throw new \Exception("The 'lang' key is required to delete a language."); |
|
| 69 | } |
|
| 70 | ||
| 71 | $languageService = $this->repository->getContentLanguageService(); |
|
| 72 | $language = $languageService->loadLanguage($step->dsl['lang']); |
|
| 73 | ||
| 74 | $languageService->deleteLanguage($language); |
|
| 75 | ||
| 76 | return $language; |
|
| 77 | } |
|
| 78 | ||
| 79 | /** |
|
| 80 | * Method that create a language if it doesn't already exist. |
|
| @@ 82-97 (lines=16) @@ | ||
| 79 | /** |
|
| 80 | * Method that create a language if it doesn't already exist. |
|
| 81 | */ |
|
| 82 | protected function upsert($step) |
|
| 83 | { |
|
| 84 | if (!isset($step->dsl['lang'])) { |
|
| 85 | throw new \Exception("The 'lang' key is missing in a language upsert definition"); |
|
| 86 | } |
|
| 87 | ||
| 88 | $languageService = $this->repository->getContentLanguageService(); |
|
| 89 | ||
| 90 | try { |
|
| 91 | $language = $languageService->loadLanguage($step->dsl['lang']); |
|
| 92 | ||
| 93 | return $language; |
|
| 94 | } catch (NotFoundException $e) { |
|
| 95 | return $this->create($step); |
|
| 96 | } |
|
| 97 | } |
|
| 98 | ||
| 99 | /** |
|
| 100 | * Sets references to certain language attributes. |
|