]> granicus.if.org Git - icinga2/commitdiff
livestatus: custom variables return empty arrays instead of strings
authorSven Nierlein <sven@nierlein.de>
Mon, 30 Oct 2017 13:49:22 +0000 (14:49 +0100)
committerMichael Friedrich <michael.friedrich@icinga.com>
Thu, 7 Dec 2017 12:29:11 +0000 (13:29 +0100)
livestatus queries for custom variables should return an empty list, ex: []
instead of an empty string if there are no variables.

Signed-off-by: Sven Nierlein <sven@nierlein.de>
refs #5746

lib/livestatus/commandstable.cpp
lib/livestatus/contactstable.cpp
lib/livestatus/hoststable.cpp
lib/livestatus/servicestable.cpp
lib/livestatus/statustable.cpp

index d41905ede8139c570e9a0bf37248e8a57604d66e..f3891086ff00c592ab1d863f2acd74a67091e064 100644 (file)
@@ -106,11 +106,11 @@ Value CommandsTable::CustomVariableNamesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(command);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock xlock(vars);
                for (const auto& kv : vars) {
@@ -135,11 +135,11 @@ Value CommandsTable::CustomVariableValuesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(command);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock xlock(vars);
                for (const auto& kv : vars) {
@@ -164,11 +164,11 @@ Value CommandsTable::CustomVariablesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(command);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock xlock(vars);
                for (const auto& kv : vars) {
index e83127d75dc0014c0c5f143fea53e8bdd16d35ea..c83865a93faeaf2fd7fbe2bf63be1876cfcd7f95 100644 (file)
@@ -210,11 +210,11 @@ Value ContactsTable::CustomVariableNamesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(user);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                cv->Add(kv.first);
@@ -237,11 +237,11 @@ Value ContactsTable::CustomVariableValuesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(user);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                if (kv.second.IsObjectType<Array>() || kv.second.IsObjectType<Dictionary>())
@@ -267,11 +267,11 @@ Value ContactsTable::CustomVariablesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(user);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                Array::Ptr key_val = new Array();
index b7199b4b192de6dc2f42186a36cb7891532f407c..7e4a5bb30571de12afcd5d630674eb79687cb811 100644 (file)
@@ -1016,11 +1016,11 @@ Value HostsTable::CustomVariableNamesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(host);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                cv->Add(kv.first);
@@ -1043,11 +1043,11 @@ Value HostsTable::CustomVariableValuesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(host);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                if (kv.second.IsObjectType<Array>() || kv.second.IsObjectType<Dictionary>())
@@ -1073,11 +1073,11 @@ Value HostsTable::CustomVariablesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(host);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                Array::Ptr key_val = new Array();
index 74acd8cf89396c6ea95871f84ae6225ccf4a07a5..e2edf8481e7198b6cb18a0bd820b87be44abcd69 100644 (file)
@@ -1055,11 +1055,11 @@ Value ServicesTable::CustomVariableNamesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(service);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                cv->Add(kv.first);
@@ -1082,11 +1082,11 @@ Value ServicesTable::CustomVariableValuesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(service);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                if (kv.second.IsObjectType<Array>() || kv.second.IsObjectType<Dictionary>())
@@ -1112,11 +1112,11 @@ Value ServicesTable::CustomVariablesAccessor(const Value& row)
                vars = CompatUtility::GetCustomAttributeConfig(service);
        }
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        ObjectLock olock(vars);
        for (const Dictionary::Pair& kv : vars) {
                Array::Ptr key_val = new Array();
index f9f7b57fa5d15c113393169f1aa5742bf5b18864..90e311bf5b5147176fc140f75d78a8ba991ca9b0 100644 (file)
@@ -233,11 +233,11 @@ Value StatusTable::CustomVariableNamesAccessor(const Value&)
 {
        Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock olock(vars);
                for (const auto& kv : vars) {
@@ -252,11 +252,11 @@ Value StatusTable::CustomVariableValuesAccessor(const Value&)
 {
        Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock olock(vars);
                for (const auto& kv : vars) {
@@ -271,11 +271,11 @@ Value StatusTable::CustomVariablesAccessor(const Value&)
 {
        Dictionary::Ptr vars = IcingaApplication::GetInstance()->GetVars();
 
-       if (!vars)
-               return Empty;
-
        Array::Ptr cv = new Array();
 
+       if (!vars)
+               return cv;
+
        {
                ObjectLock olock(vars);
                for (const auto& kv : vars) {