Add routine to check valid locale
authorAdam Banasiak <a.banasiak@samsung.com>
Tue, 10 Sep 2013 10:05:00 +0000 (12:05 +0200)
committerSoo-Hyun Choi <sh9.choi@samsung.com>
Wed, 11 Sep 2013 04:00:26 +0000 (13:00 +0900)
[Issue#]   LINUXWRT-358
[Problem]  Missing logic to validate the default locale in widget parser
[Cause]    N/A
[Solution] Add default locale validation to widget parser

Change-Id: Ib8183f0ce9454676415154cd868d2d078012acae

src/configuration_parser/widget_parser.cpp

index f4135b8..7c0b624 100644 (file)
@@ -31,7 +31,8 @@
 #include "libiriwrapper.h"
 #include <dpl/utils/warp_iri.h>
 #include <dpl/utils/mime_type_utils.h>
-//#include <language_subtag_rst_tree.h>
+#include <language_subtag_rst_tree.h>
+#include "wrt-commons/i18n-dao-ro/i18n_dao_read_only.h"
 
 #include <iri.h>
 #include <dpl/log/log.h>
@@ -2913,8 +2914,12 @@ void WidgetParser::Accept(const XmlAttribute& attribute)
         if (!m_defaultlocale) {
             m_defaultlocale = attribute.value;
             NormalizeString(m_defaultlocale);
-            /* TODO : should check valid defaultlocale */
-            LogDebug("Default Locale Found " << m_defaultlocale);
+            if( I18n::DB::I18nDAOReadOnly::IsValidSubTag
+                    (attribute.value, RECORD_TYPE_LANGUAGE)) {
+                LogDebug("Default Locale Found " << m_defaultlocale);
+            } else {
+                LogWarning("Default Locate Is Invalid");
+            }
         } else {
             LogWarning("Ignoring subsequent default locale");
         }