diff options
author | Jacob Keeler <jacob.keeler@livioradio.com> | 2017-09-07 16:35:24 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-07 16:35:24 -0400 |
commit | 9d5decab5c4c721cdcd16bbd02d5daf8a8a3c1e0 (patch) | |
tree | 03b627d84218f6e0c2dc468ec1f3ddf943773c7a /src/components/policy/policy_regular/src/policy_table/types.cc | |
parent | 36a45c9310b920e361a464545bc102eb1f0ebfc4 (diff) | |
parent | 60f57672d36c84b805d2e40481be1555e3e6ffa8 (diff) | |
download | sdl_core-9d5decab5c4c721cdcd16bbd02d5daf8a8a3c1e0.tar.gz |
Merge pull request #1624 from AKalinich-Luxoft/fix/fix_messages_default_language_checking
Fix Consumer friendly message default language checking
Diffstat (limited to 'src/components/policy/policy_regular/src/policy_table/types.cc')
-rw-r--r-- | src/components/policy/policy_regular/src/policy_table/types.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/components/policy/policy_regular/src/policy_table/types.cc b/src/components/policy/policy_regular/src/policy_table/types.cc index 45afd91419..27a43c84ad 100644 --- a/src/components/policy/policy_regular/src/policy_table/types.cc +++ b/src/components/policy/policy_regular/src/policy_table/types.cc @@ -762,6 +762,8 @@ void MessageString::SetPolicyTableType(PolicyTableType pt_type) { } // MessageLanguages methods +const std::string MessageLanguages::default_language_("en-us"); + MessageLanguages::MessageLanguages() : CompositeType(kUninitialized) {} MessageLanguages::MessageLanguages(const Languages& languages) : CompositeType(kUninitialized), languages(languages) {} @@ -778,6 +780,10 @@ bool MessageLanguages::is_valid() const { if (!languages.is_valid()) { return false; } + // Each RPC must have message in english + if (languages.end() == languages.find(default_language_)) { + return false; + } return Validate(); } bool MessageLanguages::is_initialized() const { @@ -806,6 +812,11 @@ void MessageLanguages::ReportErrors(rpc::ValidationReport* report__) const { if (!languages.is_valid()) { languages.ReportErrors(&report__->ReportSubobject("languages")); } + if (languages.end() == languages.find(default_language_)) { + report__->set_validation_info( + "this message does not support the default language '" + + default_language_ + "'"); + } } void MessageLanguages::SetPolicyTableType(PolicyTableType pt_type) { |