Custom types are modified 46/84746/1
authorSomin Kim <somin926.kim@samsung.com>
Mon, 22 Aug 2016 07:25:55 +0000 (16:25 +0900)
committerSomin Kim <somin926.kim@samsung.com>
Mon, 22 Aug 2016 07:25:55 +0000 (16:25 +0900)
Change-Id: I9c895c1a879e057bc8cda5fbda0d0ecff26b38a9
Signed-off-by: Somin Kim <somin926.kim@samsung.com>
src/custom/CustomManager.cpp
src/custom/CustomTypes.h
src/shared/DbHandleBase.cpp

index 6bb7a5e..5ec516f 100644 (file)
@@ -17,6 +17,7 @@
 #include <map>
 #include <Util.h>
 #include <DatabaseManager.h>
+#include <TriggerTypes.h>
 #include "CustomManager.h"
 #include "CustomProvider.h"
 #include "CustomTypes.h"
@@ -67,27 +68,27 @@ int CustomManager::write(Json data, Json *requestResult)
 {
        int error = ERR_NONE;
        std::string req;
-       data.get(NULL, CUSTOM_KEY_REQ, &req);
+       data.get(NULL, TRIG_CUSTOM_KEY_REQ, &req);
 
        std::string packageId;
        std::string name;
        data.get(NULL, KEY_CLIENT_PKG_ID, &packageId);
-       data.get(NULL, CUSTOM_KEY_NAME, &name);
-       std::string subj = std::string(SUBJ_CUSTOM) + CUSTOM_SEPERATOR + packageId + CUSTOM_SEPERATOR + name;
+       data.get(NULL, TRIG_CUSTOM_KEY_NAME, &name);
+       std::string subj = std::string(SUBJ_CUSTOM) + TRIG_SUBJECT_SEPERATOR + packageId + TRIG_SUBJECT_SEPERATOR + name;
 
-       if (req == CUSTOM_REQ_TYPE_ADD) {
+       if (req == TRIG_CUSTOM_REQ_ADD) {
                Json tmpl;
-               data.get(NULL, CUSTOM_KEY_ATTRIBUTES, &tmpl);
+               data.get(NULL, TRIG_TMPL_KEY_ATTRIBUTE, &tmpl);
 
                error = __addCustomItem(subj, name, tmpl, packageId);
-       } else if (req == CUSTOM_REQ_TYPE_REMOVE) {
+       } else if (req == TRIG_CUSTOM_REQ_REMOVE) {
                error = __removeCustomItem(subj);
                if (error == ERR_NONE) {
-                       requestResult->set(NULL, CUSTOM_KEY_SUBJECT, subj);
+                       requestResult->set(NULL, TRIG_TMPL_KEY_SUBJECT, subj);
                }
-       } else if (req == CUSTOM_REQ_TYPE_PUBLISH) {
+       } else if (req == TRIG_CUSTOM_REQ_PUBLISH) {
                Json fact;
-               data.get(NULL, CUSTOM_KEY_FACT, &fact);
+               data.get(NULL, TRIG_CUSTOM_KEY_FACT, &fact);
 
                error = __publishData(subj, fact);
        }
@@ -108,12 +109,11 @@ bool CustomManager::__initialize()
 {
        /* Create custom template table */
        std::vector<Json> record;
-       bool ret = __dbManager.executeSync(CUSTOM_TEMPLATE_TABLE_SCHEMA, &record);
+       bool ret = __dbManager.executeSync(CREATE_CUSTOM_TMPL_TABLE_QUERY, &record);
        IF_FAIL_RETURN_TAG(ret, false, _E, "Create template table failed");
 
        /* Register custom items */
-       std::string qSelect = "SELECT * FROM ContextTriggerCustomTemplate";
-       ret = __dbManager.executeSync(qSelect.c_str(), &record);
+       ret = __dbManager.executeSync(SELECT_CUSTOM_TMPL_TABLE_QUERY, &record);
        IF_FAIL_RETURN_TAG(ret, false, _E, "Failed to query custom templates");
        IF_FAIL_RETURN(record.size() > 0, true);
 
@@ -125,10 +125,10 @@ bool CustomManager::__initialize()
                std::string name;
                std::string attributes;
                std::string owner;
-               elem.get(NULL, CUSTOM_KEY_SUBJECT, &subject);
-               elem.get(NULL, CUSTOM_KEY_NAME, &name);
-               elem.get(NULL, CUSTOM_KEY_ATTRIBUTES, &attributes);
-               elem.get(NULL, CUSTOM_KEY_OWNER, &owner);
+               elem.get(NULL, CUSTOM_COLUMN_SUBJECT, &subject);
+               elem.get(NULL, CUSTOM_COLUMN_NAME, &name);
+               elem.get(NULL, CUSTOM_COLUMN_ATTRIBUTE, &attributes);
+               elem.get(NULL, CUSTOM_COLUMN_OWNER, &owner);
 
                error = __addCustomItem(subject.c_str(), name, Json(attributes), owner, true);
                if (error != ERR_NONE) {
@@ -162,8 +162,8 @@ int CustomManager::__addCustomItem(std::string subject, std::string name, Json t
 
        /* Insert item to custom template db */
        if (!isInit) {
-               std::string q = "INSERT OR IGNORE INTO ContextTriggerCustomTemplate (subject, name, attributes, owner) VALUES ('"
-                               + subject + "', '" + name +  "', '" + tmpl.str() + "', '" + owner + "'); ";
+               std::string q = std::string(INSERT_CUSTOM_TMPL_QUERY) + "('" + subject + "', '" +
+                                               name +  "', '" + tmpl.str() + "', '" + owner + "'); ";
                std::vector<Json> record;
                bool ret = __dbManager.executeSync(q.c_str(), &record);
                IF_FAIL_RETURN_TAG(ret, ERR_OPERATION_FAILED, _E, "Failed to query custom templates");
@@ -183,7 +183,7 @@ int CustomManager::__removeCustomItem(std::string subject)
        __customMap.erase(it);
 
        /* Delete item from custom template db */
-       std::string q = "DELETE FROM ContextTriggerCustomTemplate WHERE subject = '" + subject + "'";
+       std::string q = std::string(DELETE_CUSTOM_TMPL_QUERY) + "'" + subject + "'";
        std::vector<Json> record;
        bool ret = __dbManager.executeSync(q.c_str(), &record);
        IF_FAIL_RETURN_TAG(ret, ERR_OPERATION_FAILED, _E, "Failed to query custom templates");
@@ -217,28 +217,28 @@ bool __isValidFact(std::string subject, Json& fact)
                std::string key = *it;
 
                std::string type;
-               ret = tmpl.get(key.c_str(), "type", &type);
+               ret = tmpl.get(key.c_str(), TRIG_TMPL_KEY_TYPE, &type);
                if (!ret) {
-                       int size = tmpl.getSize(key.c_str(), "enum");
+                       int size = tmpl.getSize(key.c_str(), TRIG_TMPL_TYPE_ENUM);
                        IF_FAIL_RETURN_TAG(size >= 0, false, _E, "Invalid template");
-                       type = "enum";
+                       type = TRIG_TMPL_TYPE_ENUM;
                }
 
-               if (type == "integer") {
+               if (type == TRIG_TMPL_TYPE_INTEGER) {
                        int val;
                        ret = fact.get(NULL, key.c_str(), &val);
                        IF_FAIL_RETURN_TAG(ret, false, _E, "Custom fact: invalid data type");
 
                        ret = __checkValueInt(tmpl, key, val);
                        IF_FAIL_RETURN_TAG(ret, false, _E, "Custom fact: invalid value");
-               } else if (type == "string") {
+               } else if (type == TRIG_TMPL_TYPE_STRING) {
                        std::string val_str;
                        ret = fact.get(NULL, key.c_str(), &val_str);
                        IF_FAIL_RETURN_TAG(ret, false, _E, "Custom fact: invalid data type");
 
                        ret = __checkValueString(tmpl, key, val_str);
                        IF_FAIL_RETURN_TAG(ret, false, _E, "Custom fact: invalid value");
-               } else if (type == "enum") {
+               } else if (type == TRIG_TMPL_TYPE_ENUM) {
                        std::string val_str;
                        ret = fact.get(NULL, key.c_str(), &val_str);
                        IF_FAIL_RETURN_TAG(ret, false, _E, "Custom fact: invalid data type");
@@ -258,11 +258,11 @@ bool __checkValueInt(Json& tmpl, std::string key, int value)
 {
        int min, max;
 
-       if (tmpl.get(key.c_str(), "minimum", &min)) {
+       if (tmpl.get(key.c_str(), TRIG_TMPL_KEY_MIN, &min)) {
                IF_FAIL_RETURN(value >= min, false);
        }
 
-       if (tmpl.get(key.c_str(), "maximum", &max)) {
+       if (tmpl.get(key.c_str(), TRIG_TMPL_KEY_MAX, &max)) {
                IF_FAIL_RETURN(value <= max, false);
        }
 
@@ -279,7 +279,7 @@ bool __checkValueEnum(Json& tmpl, std::string key, std::string value)
 {
        /* check acceptable value */
        std::string tmplValue;
-       for (int i = 0; tmpl.getAt(key.c_str(), "enum", i, &tmplValue); i++) {
+       for (int i = 0; tmpl.getAt(key.c_str(), TRIG_TMPL_TYPE_ENUM, i, &tmplValue); i++) {
                if (tmplValue == value)
                        return true;
        }
index 8aecdfa..b3f94d5 100644 (file)
 
 #include <ProviderTypes.h>
 
-#define CUSTOM_KEY_REQ                         "req"
-#define CUSTOM_KEY_PACKAGE_ID          "packageId"
-#define CUSTOM_KEY_NAME                                "name"
-#define CUSTOM_KEY_ATTRIBUTES          "attributes"
-#define CUSTOM_KEY_FACT                                "fact"
-#define CUSTOM_KEY_SUBJECT                     "subject"
-#define CUSTOM_KEY_OWNER                       "owner"
-
-#define CUSTOM_REQ_TYPE_ADD                    "add"
-#define CUSTOM_REQ_TYPE_REMOVE         "remove"
-#define CUSTOM_REQ_TYPE_PUBLISH                "publish"
-
-#define CUSTOM_SEPERATOR                       "/"
-
-#define CUSTOM_TEMPLATE_TABLE_SCHEMA \
-       "CREATE TABLE IF NOT EXISTS ContextTriggerCustomTemplate " \
-       "(subject TEXT DEFAULT '' NOT NULL PRIMARY KEY, name TEXT DEFAULT '' NOT NULL," \
-       " operation INTEGER DEFAULT 3 NOT NULL, attributes TEXT DEFAULT '' NOT NULL, " \
-       " owner TEXT DEFAULT '' NOT NULL)"
-
+#define CUSTOM_TMPL_TABLE "ContextTriggerCustomTemplate"
+#define CUSTOM_COLUMN_SUBJECT "subject"
+#define CUSTOM_COLUMN_NAME "name"
+#define CUSTOM_COLUMN_OPERATION "operation"
+#define CUSTOM_COLUMN_ATTRIBUTE "attributes"
+#define CUSTOM_COLUMN_OWNER "owner"
+
+#define CREATE_CUSTOM_TMPL_TABLE_QUERY \
+       "CREATE TABLE IF NOT EXISTS " CUSTOM_TMPL_TABLE \
+       " (" CUSTOM_COLUMN_SUBJECT " TEXT DEFAULT '' NOT NULL PRIMARY KEY, "\
+       CUSTOM_COLUMN_NAME " TEXT DEFAULT '' NOT NULL, " \
+       CUSTOM_COLUMN_OPERATION " INTEGER DEFAULT 3 NOT NULL, "\
+       CUSTOM_COLUMN_ATTRIBUTE " TEXT DEFAULT '' NOT NULL, "\
+       CUSTOM_COLUMN_OWNER " TEXT DEFAULT '' NOT NULL)"
+
+#define SELECT_CUSTOM_TMPL_TABLE_QUERY \
+       "SELECT * FROM " CUSTOM_TMPL_TABLE
+
+#define INSERT_CUSTOM_TMPL_QUERY \
+       "INSERT OR IGNORE INTO " CUSTOM_TMPL_TABLE " ("\
+       CUSTOM_COLUMN_SUBJECT ", " CUSTOM_COLUMN_NAME ", "\
+       CUSTOM_COLUMN_ATTRIBUTE ", " CUSTOM_COLUMN_OWNER ") VALUES "
+
+#define DELETE_CUSTOM_TMPL_QUERY \
+       "DELETE FROM " CUSTOM_TMPL_TABLE " WHERE " CUSTOM_COLUMN_SUBJECT " = "
 
 #endif /* End of _CONTEXT_CUSTOM_TYPES_H_ */
index 074a7ac..0bf238c 100644 (file)
@@ -83,7 +83,7 @@ std::string StatsDbHandleBase::createWhereClause(Json filter)
        int week = 0;
        int start = 0;
        int end = 0;
-       int timespan = DEFAULT_TIMESPAN;
+       int timeSpan = DEFAULT_TIME_SPAN;
        std::string appId;
        std::string weekStr;
        std::string timeOfDay;
@@ -161,8 +161,8 @@ std::string StatsDbHandleBase::createWhereClause(Json filter)
                }
        }
 
-       filter.get(NULL, KEY_TIMESPAN, &timespan);
-       whereClause << KEY_UNIV_TIME " > strftime('%s', 'now', '-" << timespan <<" day')";
+       filter.get(NULL, KEY_TIME_SPAN, &timeSpan);
+       whereClause << KEY_UNIV_TIME " > strftime('%s', 'now', '-" << timeSpan <<" day')";
 
        return whereClause.str();
 }