diff --git a/Controller/EditInPlaceController.php b/Controller/EditInPlaceController.php index f3f7395f..42f25e8c 100644 --- a/Controller/EditInPlaceController.php +++ b/Controller/EditInPlaceController.php @@ -17,6 +17,7 @@ use Translation\Bundle\Exception\MessageValidationException; use Translation\Bundle\Service\StorageService; use Translation\Common\Model\Message; +use Translation\Common\Model\MessageInterface; /** * @author Damien Alexandre @@ -57,7 +58,7 @@ public function editAction(Request $request, $configName, $locale) * @param string $locale * @param array $validationGroups * - * @return Message[] + * @return MessageInterface[] * * @throws MessageValidationException */ @@ -71,11 +72,7 @@ private function getMessages(Request $request, $locale, array $validationGroups foreach ($data as $key => $value) { list($domain, $translationKey) = explode('|', $key); - $message = new Message(); - $message->setKey($translationKey); - $message->setTranslation($value); - $message->setDomain($domain); - $message->setLocale($locale); + $message = new Message($translationKey, $domain, $locale, $value); $errors = $validator->validate($message, null, $validationGroups); if (count($errors) > 0) { diff --git a/Controller/SymfonyProfilerController.php b/Controller/SymfonyProfilerController.php index 8f659f78..084ec4fa 100644 --- a/Controller/SymfonyProfilerController.php +++ b/Controller/SymfonyProfilerController.php @@ -18,7 +18,7 @@ use Symfony\Component\VarDumper\Cloner\Data; use Translation\Bundle\Model\SfProfilerMessage; use Translation\Bundle\Service\StorageService; -use Translation\Common\Model\Message; +use Translation\Common\Model\MessageInterface; /** * @author Tobias Nyholm @@ -154,16 +154,16 @@ private function getMessage(Request $request, $token) throw $this->createNotFoundException('No collector with name "translation" was found.'); } - $messages = $dataCollector->getMessages(); + $collectorMessages = $dataCollector->getMessages(); - if ($messages instanceof Data) { - $messages = $messages->getValue(true); + if ($collectorMessages instanceof Data) { + $collectorMessages = $collectorMessages->getValue(true); } - if (!isset($messages[$messageId])) { + if (!isset($collectorMessages[$messageId])) { throw $this->createNotFoundException(sprintf('No message with key "%s" was found.', $messageId)); } - $message = SfProfilerMessage::create($messages[$messageId]); + $message = SfProfilerMessage::create($collectorMessages[$messageId]); if (DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK === $message->getState()) { $message->setLocale($profile->getCollector('request')->getLocale()) @@ -177,7 +177,7 @@ private function getMessage(Request $request, $token) * @param Request $request * @param string $token * - * @return Message[] + * @return MessageInterface[] */ protected function getSelectedMessages(Request $request, $token) { diff --git a/Controller/WebUIController.php b/Controller/WebUIController.php index f397b540..8a197f26 100644 --- a/Controller/WebUIController.php +++ b/Controller/WebUIController.php @@ -22,6 +22,7 @@ use Translation\Common\Exception\StorageException; use Translation\Bundle\Model\CatalogueMessage; use Translation\Common\Model\Message; +use Translation\Common\Model\MessageInterface; /** * @author Tobias Nyholm @@ -141,8 +142,8 @@ public function createAction(Request $request, $configName, $locale, $domain) try { $message = $this->getMessageFromRequest($request); - $message->setDomain($domain); - $message->setLocale($locale); + $message = $message->withDomain($domain); + $message = $message->withLocale($locale); $this->validateMessage($message, ['Create']); } catch (MessageValidationException $e) { return new Response($e->getMessage(), 400); @@ -180,8 +181,8 @@ public function editAction(Request $request, $configName, $locale, $domain) try { $message = $this->getMessageFromRequest($request); - $message->setDomain($domain); - $message->setLocale($locale); + $message = $message->withDomain($domain); + $message = $message->withLocale($locale); $this->validateMessage($message, ['Edit']); } catch (MessageValidationException $e) { return new Response($e->getMessage(), 400); @@ -210,8 +211,8 @@ public function deleteAction(Request $request, $configName, $locale, $domain) try { $message = $this->getMessageFromRequest($request); - $message->setLocale($locale); - $message->setDomain($domain); + $message = $message->withLocale($locale); + $message = $message->withDomain($domain); $this->validateMessage($message, ['Delete']); } catch (MessageValidationException $e) { return new Response($e->getMessage(), 400); @@ -227,18 +228,15 @@ public function deleteAction(Request $request, $configName, $locale, $domain) /** * @param Request $request * - * @return Message + * @return MessageInterface */ private function getMessageFromRequest(Request $request) { $json = $request->getContent(); $data = json_decode($json, true); - $message = new Message(); - if (isset($data['key'])) { - $message->setKey($data['key']); - } + $message = new Message($data['key']); if (isset($data['message'])) { - $message->setTranslation($data['message']); + $message = $message->withTranslation($data['message']); } return $message; @@ -262,12 +260,12 @@ private function getLocale2LanguageMap() } /** - * @param Message $message - * @param array $validationGroups + * @param MessageInterface $message + * @param array $validationGroups * * @throws MessageValidationException */ - private function validateMessage(Message $message, array $validationGroups) + private function validateMessage(MessageInterface $message, array $validationGroups) { $errors = $this->get('validator')->validate($message, null, $validationGroups); if (count($errors) > 0) { diff --git a/Model/SfProfilerMessage.php b/Model/SfProfilerMessage.php index e3079c22..ede04f44 100644 --- a/Model/SfProfilerMessage.php +++ b/Model/SfProfilerMessage.php @@ -13,6 +13,7 @@ use Symfony\Component\VarDumper\Cloner\Data; use Translation\Common\Model\Message; +use Translation\Common\Model\MessageInterface; /** * @author Tobias Nyholm @@ -118,9 +119,9 @@ public static function create(array $data) } /** - * Convert to a Common\Message. + * Convert to a Common\Model\MessageInterface. * - * @return Message + * @return MessageInterface */ public function convertToMessage() { diff --git a/Service/StorageService.php b/Service/StorageService.php index 5b4a6984..72046abe 100644 --- a/Service/StorageService.php +++ b/Service/StorageService.php @@ -17,6 +17,7 @@ use Translation\Bundle\Model\Configuration; use Translation\Common\Exception\LogicException; use Translation\Common\Model\Message; +use Translation\Common\Model\MessageInterface; use Translation\Common\Storage; use Translation\Common\TransferableStorage; @@ -208,7 +209,7 @@ private function getFromStorages(array $storages, $locale, $domain, $key) * * {@inheritdoc} */ - public function create(Message $message) + public function create(MessageInterface $message) { // Validate if message actually has data if (empty((array) $message)) { @@ -229,7 +230,7 @@ public function create(Message $message) * * {@inheritdoc} */ - public function update(Message $message) + public function update(MessageInterface $message) { foreach ([$this->localStorages, $this->remoteStorages] as $storages) { $this->updateStorages($storages, $message); @@ -237,10 +238,10 @@ public function update(Message $message) } /** - * @param Storage[] $storages - * @param Message $message + * @param Storage[] $storages + * @param MessageInterface $message */ - private function updateStorages(array $storages, Message $message) + private function updateStorages(array $storages, MessageInterface $message) { // Validate if message actually has data if (empty((array) $message)) { diff --git a/composer.json b/composer.json index 970de800..1e1fda6c 100644 --- a/composer.json +++ b/composer.json @@ -17,8 +17,8 @@ "symfony/finder": "^2.7 || ^3.0 || ^4.0", "symfony/intl": "^2.7 || ^3.0 || ^4.0", - "php-translation/common": "^0.2.1", - "php-translation/symfony-storage": "^0.4.0", + "php-translation/common": "^0.3", + "php-translation/symfony-storage": "^0.5.0", "php-translation/extractor": "^1.3" }, "require-dev": {