summaryrefslogtreecommitdiff
path: root/src/components/policy/policy_regular/src/policy_table/types.cc
diff options
context:
space:
mode:
authorJacob Keeler <jacob.keeler@livioradio.com>2017-09-07 16:35:24 -0400
committerGitHub <noreply@github.com>2017-09-07 16:35:24 -0400
commit9d5decab5c4c721cdcd16bbd02d5daf8a8a3c1e0 (patch)
tree03b627d84218f6e0c2dc468ec1f3ddf943773c7a /src/components/policy/policy_regular/src/policy_table/types.cc
parent36a45c9310b920e361a464545bc102eb1f0ebfc4 (diff)
parent60f57672d36c84b805d2e40481be1555e3e6ffa8 (diff)
downloadsdl_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.cc11
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) {