hints added/updated in all script editors (issue #NX-743)
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 14 Mar 2017 12:53:06 +0000 (14:53 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 14 Mar 2017 12:53:06 +0000 (14:53 +0200)
19 files changed:
ChangeLog
src/java/netxms-eclipse/AgentManager/src/org/netxms/ui/eclipse/agentmanager/views/ServerStoredAgentConfigEditorView.java
src/java/netxms-eclipse/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/InstanceDiscovery.java
src/java/netxms-eclipse/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/SummaryTableFilter.java
src/java/netxms-eclipse/EPP/src/org/netxms/ui/eclipse/epp/propertypages/RuleFilterScript.java
src/java/netxms-eclipse/NetworkMaps/src/org/netxms/ui/eclipse/networkmaps/propertypages/MapObjectFilter.java
src/java/netxms-eclipse/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoApply.java
src/java/netxms-eclipse/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoBind.java
src/java/netxms-eclipse/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionScript.java
src/java/netxms-eclipse/SLM/src/org/netxms/ui/eclipse/slm/propertypages/ServiceCheckScript.java
webui/webapp/AgentManager/src/org/netxms/ui/eclipse/agentmanager/views/ServerStoredAgentConfigEditorView.java
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/InstanceDiscovery.java
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/SummaryTableFilter.java
webui/webapp/EPP/src/org/netxms/ui/eclipse/epp/propertypages/RuleFilterScript.java
webui/webapp/NetworkMaps/src/org/netxms/ui/eclipse/networkmaps/propertypages/MapObjectFilter.java
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoApply.java
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoBind.java
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionScript.java
webui/webapp/SLM/src/org/netxms/ui/eclipse/slm/propertypages/ServiceCheckScript.java

index 1e02a92..9f0ab89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,7 +27,7 @@
        - Object tools can be filtered by custom attribute presence
        - Configurable list of external URLs for each object
        - Sound for outstanding alarm reminder can be configured
-- Fixed issues: NX-60, NX-630, NX-916, NX-1123, NX-1129, NX-1151, NX-1161, NX-1165, NX-1171, NX-1174, NX-1178, NX-1188, NX-1190, NX-1191, NX-1192, NX-1193, NX-1197, NX-1198, NX-1213, NX-1216
+- Fixed issues: NX-60, NX-630, NX-743, NX-916, NX-1123, NX-1129, NX-1151, NX-1161, NX-1165, NX-1171, NX-1174, NX-1178, NX-1188, NX-1190, NX-1191, NX-1192, NX-1193, NX-1197, NX-1198, NX-1213, NX-1216
 
 
 *
index 5f031de..ebb628d 100644 (file)
@@ -200,7 +200,8 @@ public class ServerStoredAgentConfigEditorView extends ViewPart implements ISave
       gridData.grabExcessVerticalSpace = true;
       section.setLayoutData(gridData);
       
-      filterEditor = new ScriptEditor(section, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true);
+      filterEditor = new ScriptEditor(section, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, 
+            "Variables:\r\n\t$1\tIP address\r\n\t$2\tplatform name\r\n\t$3\tmajor agent version number\r\n\t$4\tminor agent version number\r\n\t$5\trelease number\r\n\r\nReturn value: true if this configuration should be sent to agent");
       section.setClient(filterEditor);
       filterEditor.getTextWidget().addModifyListener(new ModifyListener() {
          @Override
index 4faa271..c44d634 100644 (file)
@@ -109,7 +109,8 @@ public class InstanceDiscovery extends DCIPropertyPageDialog
                        @Override
                        public Control createControl(Composite parent, int style)
                        {
-                               return new ScriptEditor(parent, style, SWT.H_SCROLL | SWT.V_SCROLL);
+                               return new ScriptEditor(parent, style, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+                                     "Variables:\r\n\t$1\tInstance to test\r\n\r\nReturn value:\r\n\ttrue/false to accept or reject instance without additional changes or\r\n\tarray of two or three elements to modify instance:\r\n\t\t1st element - true/false to indicate acceptance;\r\n\t\t2nd element - new instance name;\r\n\t\t3rd element - new instance display name.");
                        }
       };
       filterScript = (ScriptEditor)WidgetHelper.createLabeledControl(dialogArea, SWT.BORDER,
index 74a3d57..7f09405 100644 (file)
@@ -70,7 +70,8 @@ public class SummaryTableFilter extends PropertyPage
                        @Override
                        public Control createControl(Composite parent, int style)
                        {
-                               return new ScriptEditor(parent, style,  SWT.H_SCROLL | SWT.V_SCROLL);
+                               return new ScriptEditor(parent, style,  SWT.H_SCROLL | SWT.V_SCROLL, false, 
+                                     "Variables:\r\n\t$object\tcurrent object\r\n\t$node\tcurrent object if it's class is Node\r\n\r\nReturn value: true to include current object into this summary table");
                        }
       };
       filter = (ScriptEditor)WidgetHelper.createLabeledControl(dialogArea, SWT.BORDER, factory, Messages.get().SummaryTableFilter_FilterScript, gd);
index b222309..e444515 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * NetXMS - open source network management system
- * Copyright (C) 2003-2013 Victor Kirhenshtein
+ * Copyright (C) 2003-2017 Victor Kirhenshtein
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@ import org.netxms.ui.eclipse.nxsl.widgets.ScriptEditor;
 
 /**
  * "Filtering Script" property page
- *
  */
 public class RuleFilterScript extends PropertyPage
 {
@@ -49,7 +48,8 @@ public class RuleFilterScript extends PropertyPage
                Composite dialogArea = new Composite(parent, SWT.NONE);
                dialogArea.setLayout(new FillLayout());
 
-      scriptEditor = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      scriptEditor = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+            "Global variables:\r\n\t$object\tevent source object\r\n\t$node\tevent source object if it's class is Node\r\n\t$event\tevent being processed\r\nLocal variables:\r\n\tEVENT_CODE\t\tevent's code\r\n\tSEVERITY\t\tevent's severity as number\r\n\tSEVERITY_TEXT\tevent's severity as text\r\n\tOBJECT_ID\t\tevent source object's ID\r\n\tEVENT_TEXT\t\tevent's message text\r\n\tUSER_TAG\t\tevent's user tag\r\n\r\nReturn value: true to pass event through rule filter");
                scriptEditor.setText(rule.getScript());
                
                return dialogArea;
index 5cc18bb..e581d3a 100644 (file)
@@ -105,7 +105,8 @@ public class MapObjectFilter extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+            "Variables:\r\n\t$object\tcurrent object\r\n\t$node\tcurrent object if it's class is Node\r\n\r\nReturn value: true to include current object into this map");
                filterSource.setText(initialFilter);
                filterSource.setEnabled(initialEnable);
                
index 4500a03..8d8d567 100644 (file)
@@ -115,7 +115,7 @@ public class AutoApply extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\n\nReturn value: true to apply this template to node.");
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\r\n\r\nReturn value: true to apply this template to node.");
                filterSource.setText(object.getAutoApplyFilter());
                filterSource.setEnabled(object.isAutoApplyEnabled());
                
index 8993538..d15c1f3 100644 (file)
@@ -114,7 +114,7 @@ public class AutoBind extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\n\nReturn value: true to bind node to this container.");
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\r\n\r\nReturn value: true to bind node to this container.");
                filterSource.setText(object.getAutoBindFilter());
                filterSource.setEnabled(object.isAutoBindEnabled());
                
index 946f2c6..a3c1b2d 100644 (file)
@@ -69,7 +69,7 @@ public class ConditionScript extends PropertyPage
       Label label = new Label(dialogArea, SWT.NONE);
       label.setText(Messages.get().ConditionScript_Script);
 
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, "Variables:\r\n\t$values\tarray containing values for configured DCIs (in same order as DCIs are listed in configuration)\r\n\r\nReturn value: true/false to indicate if condition is active or not");
                filterSource.setText(object.getScript());
                
                GridData gd = new GridData();
index e76b168..3ff08c2 100644 (file)
@@ -70,7 +70,7 @@ public class ServiceCheckScript extends PropertyPage
       Label label = new Label(dialogArea, SWT.NONE);
       label.setText(Messages.get().ServiceCheckScript_CheckScript);
 
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, "Variables:\r\n\t$node\tnode object for node links, null for other checks\r\n\r\nReturn value: OK/FAIL to indicate check result.");
                filterSource.setText(object.getScript());
                
                GridData gd = new GridData();
index 5f031de..ebb628d 100644 (file)
@@ -200,7 +200,8 @@ public class ServerStoredAgentConfigEditorView extends ViewPart implements ISave
       gridData.grabExcessVerticalSpace = true;
       section.setLayoutData(gridData);
       
-      filterEditor = new ScriptEditor(section, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true);
+      filterEditor = new ScriptEditor(section, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, 
+            "Variables:\r\n\t$1\tIP address\r\n\t$2\tplatform name\r\n\t$3\tmajor agent version number\r\n\t$4\tminor agent version number\r\n\t$5\trelease number\r\n\r\nReturn value: true if this configuration should be sent to agent");
       section.setClient(filterEditor);
       filterEditor.getTextWidget().addModifyListener(new ModifyListener() {
          @Override
index 4faa271..c44d634 100644 (file)
@@ -109,7 +109,8 @@ public class InstanceDiscovery extends DCIPropertyPageDialog
                        @Override
                        public Control createControl(Composite parent, int style)
                        {
-                               return new ScriptEditor(parent, style, SWT.H_SCROLL | SWT.V_SCROLL);
+                               return new ScriptEditor(parent, style, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+                                     "Variables:\r\n\t$1\tInstance to test\r\n\r\nReturn value:\r\n\ttrue/false to accept or reject instance without additional changes or\r\n\tarray of two or three elements to modify instance:\r\n\t\t1st element - true/false to indicate acceptance;\r\n\t\t2nd element - new instance name;\r\n\t\t3rd element - new instance display name.");
                        }
       };
       filterScript = (ScriptEditor)WidgetHelper.createLabeledControl(dialogArea, SWT.BORDER,
index 74a3d57..7f09405 100644 (file)
@@ -70,7 +70,8 @@ public class SummaryTableFilter extends PropertyPage
                        @Override
                        public Control createControl(Composite parent, int style)
                        {
-                               return new ScriptEditor(parent, style,  SWT.H_SCROLL | SWT.V_SCROLL);
+                               return new ScriptEditor(parent, style,  SWT.H_SCROLL | SWT.V_SCROLL, false, 
+                                     "Variables:\r\n\t$object\tcurrent object\r\n\t$node\tcurrent object if it's class is Node\r\n\r\nReturn value: true to include current object into this summary table");
                        }
       };
       filter = (ScriptEditor)WidgetHelper.createLabeledControl(dialogArea, SWT.BORDER, factory, Messages.get().SummaryTableFilter_FilterScript, gd);
index b222309..e444515 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * NetXMS - open source network management system
- * Copyright (C) 2003-2013 Victor Kirhenshtein
+ * Copyright (C) 2003-2017 Victor Kirhenshtein
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@ import org.netxms.ui.eclipse.nxsl.widgets.ScriptEditor;
 
 /**
  * "Filtering Script" property page
- *
  */
 public class RuleFilterScript extends PropertyPage
 {
@@ -49,7 +48,8 @@ public class RuleFilterScript extends PropertyPage
                Composite dialogArea = new Composite(parent, SWT.NONE);
                dialogArea.setLayout(new FillLayout());
 
-      scriptEditor = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      scriptEditor = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+            "Global variables:\r\n\t$object\tevent source object\r\n\t$node\tevent source object if it's class is Node\r\n\t$event\tevent being processed\r\nLocal variables:\r\n\tEVENT_CODE\t\tevent's code\r\n\tSEVERITY\t\tevent's severity as number\r\n\tSEVERITY_TEXT\tevent's severity as text\r\n\tOBJECT_ID\t\tevent source object's ID\r\n\tEVENT_TEXT\t\tevent's message text\r\n\tUSER_TAG\t\tevent's user tag\r\n\r\nReturn value: true to pass event through rule filter");
                scriptEditor.setText(rule.getScript());
                
                return dialogArea;
index 5cc18bb..e581d3a 100644 (file)
@@ -105,7 +105,8 @@ public class MapObjectFilter extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, 
+            "Variables:\r\n\t$object\tcurrent object\r\n\t$node\tcurrent object if it's class is Node\r\n\r\nReturn value: true to include current object into this map");
                filterSource.setText(initialFilter);
                filterSource.setEnabled(initialEnable);
                
index 4500a03..8d8d567 100644 (file)
@@ -115,7 +115,7 @@ public class AutoApply extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\n\nReturn value: true to apply this template to node.");
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\r\n\r\nReturn value: true to apply this template to node.");
                filterSource.setText(object.getAutoApplyFilter());
                filterSource.setEnabled(object.isAutoApplyEnabled());
                
index 8993538..d15c1f3 100644 (file)
@@ -114,7 +114,7 @@ public class AutoBind extends PropertyPage
       gd.verticalIndent = WidgetHelper.DIALOG_SPACING;
                label.setLayoutData(gd);
       
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\n\nReturn value: true to bind node to this container.");
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, true, "Variables:\r\n\t$node\tnode being tested.\r\n\r\nReturn value: true to bind node to this container.");
                filterSource.setText(object.getAutoBindFilter());
                filterSource.setEnabled(object.isAutoBindEnabled());
                
index 946f2c6..a3c1b2d 100644 (file)
@@ -69,7 +69,7 @@ public class ConditionScript extends PropertyPage
       Label label = new Label(dialogArea, SWT.NONE);
       label.setText(Messages.get().ConditionScript_Script);
 
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, "Variables:\r\n\t$values\tarray containing values for configured DCIs (in same order as DCIs are listed in configuration)\r\n\r\nReturn value: true/false to indicate if condition is active or not");
                filterSource.setText(object.getScript());
                
                GridData gd = new GridData();
index e76b168..3ff08c2 100644 (file)
@@ -70,7 +70,7 @@ public class ServiceCheckScript extends PropertyPage
       Label label = new Label(dialogArea, SWT.NONE);
       label.setText(Messages.get().ServiceCheckScript_CheckScript);
 
-      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL);
+      filterSource = new ScriptEditor(dialogArea, SWT.BORDER, SWT.H_SCROLL | SWT.V_SCROLL, false, "Variables:\r\n\t$node\tnode object for node links, null for other checks\r\n\r\nReturn value: OK/FAIL to indicate check result.");
                filterSource.setText(object.getScript());
                
                GridData gd = new GridData();