summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAKalinich-Luxoft <AKalinich@luxoft.com>2017-06-15 15:55:14 +0300
committerAKalinich-Luxoft <AKalinich@luxoft.com>2017-06-15 15:55:14 +0300
commit045a313b4d99b6141ae99e71ff0e9d1d20520a1c (patch)
tree01e6db727309a265129ccf10b80c25e4bb549157
parent5ba351b575d5f831c2058a7a1dca578713ba66c0 (diff)
downloadsdl_core-045a313b4d99b6141ae99e71ff0e9d1d20520a1c.tar.gz
Refactoring in SaveConsumerFriendlyMessages function
Removed nested if's.
-rw-r--r--src/components/policy/policy_external/src/sql_pt_representation.cc68
-rw-r--r--src/components/policy/policy_regular/src/sql_pt_representation.cc67
2 files changed, 70 insertions, 65 deletions
diff --git a/src/components/policy/policy_external/src/sql_pt_representation.cc b/src/components/policy/policy_external/src/sql_pt_representation.cc
index 48985fa835..5a3233b67d 100644
--- a/src/components/policy/policy_external/src/sql_pt_representation.cc
+++ b/src/components/policy/policy_external/src/sql_pt_representation.cc
@@ -1264,46 +1264,48 @@ bool SQLPTRepresentation::SaveConsumerFriendlyMessages(
// According CRS-2419 If there is no “consumer_friendly_messages” key,
// the current local consumer_friendly_messages section shall be maintained in
// the policy table. So it won't be changed/updated
- if (messages.messages.is_initialized()) {
- utils::dbms::SQLQuery query(db());
- if (!messages.messages->empty()) {
- if (!query.Exec(sql_pt::kDeleteMessageString)) {
- LOG4CXX_WARN(logger_, "Incorrect delete from message.");
- return false;
- }
- }
+ if (!messages.messages.is_initialized()) {
+ LOG4CXX_INFO(logger_, "Messages list is empty");
+ return true;
+ }
- if (query.Prepare(sql_pt::kUpdateVersion)) {
- query.Bind(0, messages.version);
- if (!query.Exec()) {
- LOG4CXX_WARN(logger_, "Incorrect update into version.");
- return false;
- }
- } else {
- LOG4CXX_WARN(logger_, "Incorrect update statement for version.");
+ utils::dbms::SQLQuery query(db());
+ bool delete_query_exec_result = true;
+ if (!messages.messages->empty()) {
+ delete_query_exec_result = query.Exec(sql_pt::kDeleteMessageString);
+ }
+
+ if (!delete_query_exec_result) {
+ LOG4CXX_WARN(logger_, "Incorrect delete from message.");
+ return false;
+ }
+
+ if (!query.Prepare(sql_pt::kUpdateVersion)) {
+ LOG4CXX_WARN(logger_, "Incorrect update statement for version.");
+ return false;
+ }
+
+ query.Bind(0, messages.version);
+ if (!query.Exec()) {
+ LOG4CXX_WARN(logger_, "Incorrect update into version.");
+ return false;
+ }
+
+ policy_table::Messages::const_iterator it;
+ for (it = messages.messages->begin(); it != messages.messages->end(); ++it) {
+ if (!SaveMessageType(it->first)) {
return false;
}
-
- policy_table::Messages::const_iterator it;
- // TODO(IKozyrenko): Check logic if optional container is missing
- for (it = messages.messages->begin(); it != messages.messages->end();
- ++it) {
- if (!SaveMessageType(it->first)) {
+ const policy_table::Languages& langs = it->second.languages;
+ policy_table::Languages::const_iterator lang_it;
+ for (lang_it = langs.begin(); lang_it != langs.end(); ++lang_it) {
+ if (!SaveLanguage(lang_it->first)) {
return false;
}
- const policy_table::Languages& langs = it->second.languages;
- policy_table::Languages::const_iterator lang_it;
- for (lang_it = langs.begin(); lang_it != langs.end(); ++lang_it) {
- if (!SaveLanguage(lang_it->first)) {
- return false;
- }
- if (!SaveMessageString(it->first, lang_it->first, lang_it->second)) {
- return false;
- }
+ if (!SaveMessageString(it->first, lang_it->first, lang_it->second)) {
+ return false;
}
}
- } else {
- LOG4CXX_INFO(logger_, "Messages list is empty");
}
return true;
diff --git a/src/components/policy/policy_regular/src/sql_pt_representation.cc b/src/components/policy/policy_regular/src/sql_pt_representation.cc
index 18d8975d15..e0c8747c16 100644
--- a/src/components/policy/policy_regular/src/sql_pt_representation.cc
+++ b/src/components/policy/policy_regular/src/sql_pt_representation.cc
@@ -1175,45 +1175,48 @@ bool SQLPTRepresentation::SaveConsumerFriendlyMessages(
// According CRS-2419 If there is no “consumer_friendly_messages” key,
// the current local consumer_friendly_messages section shall be maintained in
// the policy table. So it won't be changed/updated
- if (messages.messages.is_initialized()) {
- utils::dbms::SQLQuery query(db());
- if (!messages.messages->empty()) {
- if (!query.Exec(sql_pt::kDeleteMessageString)) {
- LOG4CXX_WARN(logger_, "Incorrect delete from message.");
- return false;
- }
- }
+ if (!messages.messages.is_initialized()) {
+ LOG4CXX_INFO(logger_, "Messages list is empty");
+ return true;
+ }
- if (query.Prepare(sql_pt::kUpdateVersion)) {
- query.Bind(0, messages.version);
- if (!query.Exec()) {
- LOG4CXX_WARN(logger_, "Incorrect update into version.");
- return false;
- }
- } else {
- LOG4CXX_WARN(logger_, "Incorrect update statement for version.");
+ utils::dbms::SQLQuery query(db());
+ bool delete_query_exec_result = true;
+ if (!messages.messages->empty()) {
+ delete_query_exec_result = query.Exec(sql_pt::kDeleteMessageString);
+ }
+
+ if (!delete_query_exec_result) {
+ LOG4CXX_WARN(logger_, "Incorrect delete from message.");
+ return false;
+ }
+
+ if (!query.Prepare(sql_pt::kUpdateVersion)) {
+ LOG4CXX_WARN(logger_, "Incorrect update statement for version.");
+ return false;
+ }
+
+ query.Bind(0, messages.version);
+ if (!query.Exec()) {
+ LOG4CXX_WARN(logger_, "Incorrect update into version.");
+ return false;
+ }
+
+ policy_table::Messages::const_iterator it;
+ for (it = messages.messages->begin(); it != messages.messages->end(); ++it) {
+ if (!SaveMessageType(it->first)) {
return false;
}
-
- policy_table::Messages::const_iterator it;
- for (it = messages.messages->begin(); it != messages.messages->end();
- ++it) {
- if (!SaveMessageType(it->first)) {
+ const policy_table::Languages& langs = it->second.languages;
+ policy_table::Languages::const_iterator lang_it;
+ for (lang_it = langs.begin(); lang_it != langs.end(); ++lang_it) {
+ if (!SaveLanguage(lang_it->first)) {
return false;
}
- const policy_table::Languages& langs = it->second.languages;
- policy_table::Languages::const_iterator lang_it;
- for (lang_it = langs.begin(); lang_it != langs.end(); ++lang_it) {
- if (!SaveLanguage(lang_it->first)) {
- return false;
- }
- if (!SaveMessageString(it->first, lang_it->first, lang_it->second)) {
- return false;
- }
+ if (!SaveMessageString(it->first, lang_it->first, lang_it->second)) {
+ return false;
}
}
- } else {
- LOG4CXX_INFO(logger_, "Messages list is empty");
}
return true;