null value can be used in auto bind scripts as no change option
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 9 May 2017 18:24:26 +0000 (21:24 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 9 May 2017 18:24:26 +0000 (21:24 +0300)
ChangeLog
src/server/core/container.cpp
src/server/core/template.cpp

index 33535b3..ccbad6e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,7 @@
 - Server certificate's key can be stored in separate file
 - Multiple CA certificates can be specified in server configuration file
 - Number of samples can be configured for table thresholds
+- Null value can be used as "no change" option in auto bind scripts
 - Management console:
        - Node's zone name shown in alarm browser and object overview when zoning is enabled
        - Sorting option in table based charts on dashboards (to implement "Top N" style charts)
index ac9805a..c3dda1c 100644 (file)
@@ -360,7 +360,8 @@ AutoBindDecision Container::isSuitableForObject(NetObj *object)
    if (filter->run())
    {
       NXSL_Value *value = filter->getResult();
-      result = ((value != NULL) && (value->getValueAsInt32() != 0)) ? AutoBindDecision_Bind : AutoBindDecision_Unbind;
+      if (!value->isNull())
+         result = ((value != NULL) && (value->getValueAsInt32() != 0)) ? AutoBindDecision_Bind : AutoBindDecision_Unbind;
    }
    else
    {
index 4fb8cc9..b158235 100644 (file)
@@ -1216,7 +1216,8 @@ AutoBindDecision Template::isApplicable(DataCollectionTarget *target)
    if (filter->run())
    {
       NXSL_Value *value = filter->getResult();
-      result = ((value != NULL) && (value->getValueAsInt32() != 0)) ? AutoBindDecision_Bind : AutoBindDecision_Unbind;
+      if (!value->isNull())
+         result = ((value != NULL) && (value->getValueAsInt32() != 0)) ? AutoBindDecision_Bind : AutoBindDecision_Unbind;
    }
    else
    {