#ifndef _netxmsdb_h
#define _netxmsdb_h
-#define DB_FORMAT_VERSION 409
+#define DB_FORMAT_VERSION 410
#endif
#define MAX_DNS_NAME 256
#define MAX_HELPDESK_REF_LEN 64
#define MAX_PASSWORD 256
+#define MAX_SSH_LOGIN_LEN 64
+#define MAX_SSH_PASSWORD_LEN 64
#define GROUP_FLAG ((UINT32)0x80000000)
#define NETXMS_MAX_CIPHERS 6
#define VID_CONTROLLER_ID ((UINT32)543)
#define VID_CHASSIS_ID ((UINT32)544)
#define VID_NODE_SUBTYPE ((UINT32)545)
+#define VID_SSH_LOGIN ((UINT32)546)
+#define VID_SSH_PASSWORD ((UINT32)547)
+#define VID_SSH_PROXY ((UINT32)548)
// Base variabe for single threshold in message
#define VID_THRESHOLD_BASE ((UINT32)0x00800000)
#define DS_WINPERF 5
#define DS_SMCLP 6
#define DS_SCRIPT 7
+#define DS_SSH 8
/**
* Item status
agent_proxy integer not null,
snmp_proxy integer not null,
icmp_proxy integer not null,
+ ssh_proxy integer not null,
PRIMARY KEY(id)
) TABLE_TYPE;
snmp_trap_count SQL_INT64 not null,
node_type integer not null,
node_subtype varchar(127) null,
+ ssh_login varchar(63) null,
+ ssh_password varchar(63) null,
+ ssh_proxy integer not null,
PRIMARY KEY(id)
) TABLE_TYPE;
while(eol != NULL)
{
*eol = 0;
+ char *cr = strchr(curr, '\r');
+ if (cr != NULL)
+ *cr = 0;
output->addMBString(curr);
curr = eol + 1;
eol = strchr(curr, '\n');
if (offset > 0)
{
buffer[offset] = 0;
+ char *cr = strchr(buffer, '\r');
+ if (cr != NULL)
+ *cr = 0;
output->addMBString(buffer);
}
ssh_channel_send_eof(channel);
public static final long VID_CONTROLLER_ID = 543;
public static final long VID_CHASSIS_ID = 544;
public static final long VID_NODE_SUBTYPE = 545;
+ public static final long VID_SSH_LOGIN = 546;
+ public static final long VID_SSH_PASSWORD = 547;
+ public static final long VID_SSH_PROXY = 548;
public static final long VID_ACL_USER_BASE = 0x00001000L;
public static final long VID_ACL_USER_LAST = 0x00001FFFL;
import java.io.IOException;
import java.net.InetAddress;
import java.util.Collection;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import org.netxms.base.GeoLocation;
import org.netxms.base.InetAddressEx;
public class NXCObjectModificationData
{
// Modification flags
- public static final long MODIFY_NAME = 0x0000000000000001L;
- public static final long MODIFY_ACL = 0x0000000000000002L;
- public static final long MODIFY_CUSTOM_ATTRIBUTES = 0x0000000000000004L;
- public static final long MODIFY_AUTOBIND_FILTER = 0x0000000000000008L;
- public static final long MODIFY_LINK_COLOR = 0x0000000000000010L;
- public static final long MODIFY_POLICY_CONFIG = 0x0000000000000020L;
- public static final long MODIFY_VERSION = 0x0000000000000040L;
- public static final long MODIFY_DESCRIPTION = 0x0000000000000080L;
- public static final long MODIFY_AGENT_PORT = 0x0000000000000100L;
- public static final long MODIFY_AGENT_AUTH = 0x0000000000000200L;
- public static final long MODIFY_SNMP_VERSION = 0x0000000000000400L;
- public static final long MODIFY_SNMP_AUTH = 0x0000000000000800L;
- public static final long MODIFY_AGENT_PROXY = 0x0000000000001000L;
- public static final long MODIFY_SNMP_PROXY = 0x0000000000002000L;
- public static final long MODIFY_TRUSTED_NODES = 0x0000000000004000L;
- public static final long MODIFY_GEOLOCATION = 0x0000000000008000L;
- public static final long MODIFY_PRIMARY_IP = 0x0000000000010000L;
- public static final long MODIFY_SNMP_PORT = 0x0000000000020000L;
- public static final long MODIFY_MAP_LAYOUT = 0x0000000000040000L;
- public static final long MODIFY_MAP_BACKGROUND = 0x0000000000080000L;
- public static final long MODIFY_MAP_CONTENT = 0x0000000000100000L;
- public static final long MODIFY_IMAGE = 0x0000000000200000L;
- public static final long MODIFY_ICMP_PROXY = 0x0000000000400000L;
- public static final long MODIFY_COLUMN_COUNT = 0x0000000000800000L;
- public static final long MODIFY_DASHBOARD_ELEMENTS = 0x0000000001000000L;
- public static final long MODIFY_SCRIPT = 0x0000000002000000L;
- public static final long MODIFY_ACTIVATION_EVENT = 0x0000000004000000L;
- public static final long MODIFY_DEACTIVATION_EVENT = 0x0000000008000000L;
- public static final long MODIFY_SOURCE_OBJECT = 0x0000000010000000L;
- public static final long MODIFY_ACTIVE_STATUS = 0x0000000020000000L;
- public static final long MODIFY_INACTIVE_STATUS = 0x0000000040000000L;
- public static final long MODIFY_DCI_LIST = 0x0000000080000000L;
- public static final long MODIFY_SUBMAP_ID = 0x0000000100000000L;
- public static final long MODIFY_IP_ADDRESS = 0x0000000200000000L;
- public static final long MODIFY_IP_PROTOCOL = 0x0000000400000000L;
- public static final long MODIFY_IP_PORT = 0x0000000800000000L;
- public static final long MODIFY_SERVICE_TYPE = 0x0000001000000000L;
- public static final long MODIFY_POLLER_NODE = 0x0000002000000000L;
- public static final long MODIFY_REQUIRED_POLLS = 0x0000004000000000L;
- public static final long MODIFY_REQUEST = 0x0000008000000000L;
- public static final long MODIFY_RESPONSE = 0x0000010000000000L;
- public static final long MODIFY_OBJECT_FLAGS = 0x0000020000000000L;
- public static final long MODIFY_IFXTABLE_POLICY = 0x0000040000000000L;
- public static final long MODIFY_REPORT_DEFINITION = 0x0000080000000000L;
- public static final long MODIFY_CLUSTER_RESOURCES = 0x0000100000000000L;
- public static final long MODIFY_PRIMARY_NAME = 0x0000200000000000L;
- public static final long MODIFY_STATUS_CALCULATION = 0x0000400000000000L;
- public static final long MODIFY_CLUSTER_NETWORKS = 0x0000800000000000L;
- public static final long MODIFY_EXPECTED_STATE = 0x0001000000000000L;
- public static final long MODIFY_CONNECTION_ROUTING = 0x0002000000000000L;
- public static final long MODIFY_DISCOVERY_RADIUS = 0x0004000000000000L;
- public static final long MODIFY_HEIGHT = 0x0008000000000000L;
- public static final long MODIFY_FILTER = 0x0010000000000000L;
- public static final long MODIFY_PEER_GATEWAY = 0x0020000000000000L;
- public static final long MODIFY_VPN_NETWORKS = 0x0040000000000000L;
- public static final long MODIFY_POSTAL_ADDRESS = 0x0080000000000000L;
- public static final long MODIFY_AGENT_CACHE_MODE = 0x0100000000000000L;
- public static final long MODIFY_MAPOBJ_DISP_MODE = 0x0200000000000000L;
- public static final long MODIFY_RACK_PLACEMENT = 0x0400000000000000L;
- public static final long MODIFY_DASHBOARD_LIST = 0x0800000000000000L;
- public static final long MODIFY_RACK_NUMB_SCHEME = 0x1000000000000000L;
- public static final long MODIFY_CONTROLLER_ID = 0x2000000000000000L;
- public static final long MODIFY_CHASSIS_ID = 0x4000000000000000L;
+ public static final int NAME = 1;
+ public static final int ACL = 2;
+ public static final int CUSTOM_ATTRIBUTES = 3;
+ public static final int AUTOBIND_FILTER = 4;
+ public static final int LINK_COLOR = 5;
+ public static final int POLICY_CONFIG = 6;
+ public static final int VERSION = 7;
+ public static final int DESCRIPTION = 8;
+ public static final int AGENT_PORT = 9;
+ public static final int AGENT_AUTH = 10;
+ public static final int SNMP_VERSION = 11;
+ public static final int SNMP_AUTH = 12;
+ public static final int AGENT_PROXY = 13;
+ public static final int SNMP_PROXY = 14;
+ public static final int TRUSTED_NODES = 15;
+ public static final int GEOLOCATION = 16;
+ public static final int PRIMARY_IP = 17;
+ public static final int SNMP_PORT = 18;
+ public static final int MAP_LAYOUT = 19;
+ public static final int MAP_BACKGROUND = 20;
+ public static final int MAP_CONTENT = 21;
+ public static final int IMAGE = 22;
+ public static final int ICMP_PROXY = 23;
+ public static final int COLUMN_COUNT = 24;
+ public static final int DASHBOARD_ELEMENTS = 25;
+ public static final int SCRIPT = 26;
+ public static final int ACTIVATION_EVENT = 27;
+ public static final int DEACTIVATION_EVENT = 28;
+ public static final int SOURCE_OBJECT = 29;
+ public static final int ACTIVE_STATUS = 30;
+ public static final int INACTIVE_STATUS = 31;
+ public static final int DCI_LIST = 32;
+ public static final int SUBMAP_ID = 33;
+ public static final int IP_ADDRESS = 34;
+ public static final int IP_PROTOCOL = 35;
+ public static final int IP_PORT = 36;
+ public static final int SERVICE_TYPE = 37;
+ public static final int POLLER_NODE = 38;
+ public static final int REQUIRED_POLLS = 39;
+ public static final int REQUEST = 40;
+ public static final int RESPONSE = 41;
+ public static final int OBJECT_FLAGS = 42;
+ public static final int IFXTABLE_POLICY = 43;
+ public static final int REPORT_DEFINITION = 44;
+ public static final int CLUSTER_RESOURCES = 45;
+ public static final int PRIMARY_NAME = 46;
+ public static final int STATUS_CALCULATION = 47;
+ public static final int CLUSTER_NETWORKS = 48;
+ public static final int EXPECTED_STATE = 49;
+ public static final int CONNECTION_ROUTING = 50;
+ public static final int DISCOVERY_RADIUS = 51;
+ public static final int HEIGHT = 52;
+ public static final int FILTER = 53;
+ public static final int PEER_GATEWAY = 54;
+ public static final int VPN_NETWORKS = 55;
+ public static final int POSTAL_ADDRESS = 56;
+ public static final int AGENT_CACHE_MODE = 57;
+ public static final int MAPOBJ_DISP_MODE = 58;
+ public static final int RACK_PLACEMENT = 59;
+ public static final int DASHBOARD_LIST = 60;
+ public static final int RACK_NUMB_SCHEME = 61;
+ public static final int CONTROLLER_ID = 62;
+ public static final int CHASSIS_ID = 63;
+ public static final int SSH_PROXY = 64;
+ public static final int SSH_LOGIN = 65;
+ public static final int SSH_PASSWORD = 66;
- private long flags; // Flags which indicates what object's data should be modified
+ private Set<Integer> fieldSet;
private long objectId;
private String name;
private String primaryName;
private boolean rackNumberingTopBottom;
private long controllerId;
private long chassisId;
+ private long sshProxy;
+ private String sshLogin;
+ private String sshPassword;
/**
* Constructor for creating modification data for given object
public NXCObjectModificationData(long objectId)
{
this.objectId = objectId;
- flags = 0;
+ fieldSet = new HashSet<Integer>(128);
}
/**
public void setName(final String name)
{
this.name = name;
- flags |= MODIFY_NAME;
+ fieldSet.add(NAME);
}
/**
- * @return the flags
+ * Check if given field is set for modification.
+ *
+ * @param field field code
+ * @return true if given field is set
*/
- public long getFlags()
+ public boolean isFieldSet(int field)
{
- return flags;
+ return fieldSet.contains(field);
}
/**
public void setACL(AccessListElement[] acl)
{
this.acl = acl;
- flags |= MODIFY_ACL;
+ fieldSet.add(ACL);
}
/**
public void setInheritAccessRights(boolean inheritAccessRights)
{
this.inheritAccessRights = inheritAccessRights;
- flags |= MODIFY_ACL;
+ fieldSet.add(ACL);
}
/**
public void setCustomAttributes(Map<String, String> customAttributes)
{
this.customAttributes = customAttributes;
- flags |= MODIFY_CUSTOM_ATTRIBUTES;
+ fieldSet.add(CUSTOM_ATTRIBUTES);
}
/**
public void setAutoBindFilter(String autoBindFilter)
{
this.autoBindFilter = autoBindFilter;
- flags |= MODIFY_AUTOBIND_FILTER;
+ fieldSet.add(AUTOBIND_FILTER);
}
/**
public void setConfigFileContent(String configFileContent)
{
this.configFileContent = configFileContent;
- flags |= MODIFY_POLICY_CONFIG;
+ fieldSet.add(POLICY_CONFIG);
}
/**
public void setVersion(int version)
{
this.version = version;
- flags |= MODIFY_VERSION;
+ fieldSet.add(VERSION);
}
/**
public void setDescription(String description)
{
this.description = description;
- flags |= MODIFY_DESCRIPTION;
+ fieldSet.add(DESCRIPTION);
}
public int getAgentPort()
public void setAgentPort(int agentPort)
{
this.agentPort = agentPort;
- flags |= MODIFY_AGENT_PORT;
+ fieldSet.add(AGENT_PORT);
}
/**
public void setAgentAuthMethod(int agentAuthMethod)
{
this.agentAuthMethod = agentAuthMethod;
- flags |= MODIFY_AGENT_AUTH;
+ fieldSet.add(AGENT_AUTH);
}
/**
public void setAgentSecret(String agentSecret)
{
this.agentSecret = agentSecret;
- flags |= MODIFY_AGENT_AUTH;
+ fieldSet.add(AGENT_AUTH);
}
/**
public void setAgentProxy(long agentProxy)
{
this.agentProxy = agentProxy;
- flags |= MODIFY_AGENT_PROXY;
+ fieldSet.add(AGENT_PROXY);
}
/**
public void setSnmpVersion(int snmpVersion)
{
this.snmpVersion = snmpVersion;
- flags |= MODIFY_SNMP_VERSION;
+ fieldSet.add(SNMP_VERSION);
}
/**
public void setSnmpAuthMethod(int snmpAuthMethod)
{
this.snmpAuthMethod = snmpAuthMethod;
- flags |= MODIFY_SNMP_AUTH;
+ fieldSet.add(SNMP_AUTH);
}
/**
public void setSnmpPrivMethod(int snmpPrivMethod)
{
this.snmpPrivMethod = snmpPrivMethod;
- flags |= MODIFY_SNMP_AUTH;
+ fieldSet.add(SNMP_AUTH);
}
/**
public void setSnmpAuthName(String snmpAuthName)
{
this.snmpAuthName = snmpAuthName;
- flags |= MODIFY_SNMP_AUTH;
+ fieldSet.add(SNMP_AUTH);
}
/**
public void setSnmpAuthPassword(String snmpAuthPassword)
{
this.snmpAuthPassword = snmpAuthPassword;
- flags |= MODIFY_SNMP_AUTH;
+ fieldSet.add(SNMP_AUTH);
}
/**
public void setSnmpPrivPassword(String snmpPrivPassword)
{
this.snmpPrivPassword = snmpPrivPassword;
- flags |= MODIFY_SNMP_AUTH;
+ fieldSet.add(SNMP_AUTH);
}
/**
public void setSnmpProxy(long snmpProxy)
{
this.snmpProxy = snmpProxy;
- flags |= MODIFY_SNMP_PROXY;
+ fieldSet.add(SNMP_PROXY);
}
/**
public void setIcmpProxy(long icmpProxy)
{
this.icmpProxy = icmpProxy;
- flags |= MODIFY_ICMP_PROXY;
+ fieldSet.add(ICMP_PROXY);
}
/**
public void setTrustedNodes(long[] trustedNodes)
{
this.trustedNodes = trustedNodes;
- flags |= MODIFY_TRUSTED_NODES;
+ fieldSet.add(TRUSTED_NODES);
}
/**
public void setGeolocation(GeoLocation geolocation)
{
this.geolocation = geolocation;
- flags |= MODIFY_GEOLOCATION;
+ fieldSet.add(GEOLOCATION);
}
/**
public void setPrimaryIpAddress(InetAddress primaryIpAddress)
{
this.primaryIpAddress = primaryIpAddress;
- flags |= MODIFY_PRIMARY_IP;
+ fieldSet.add(PRIMARY_IP);
}
/**
public void setSnmpPort(int snmpPort)
{
this.snmpPort = snmpPort;
- flags |= MODIFY_SNMP_PORT;
+ fieldSet.add(SNMP_PORT);
}
/**
public void setMapLayout(MapLayoutAlgorithm mapLayout)
{
this.mapLayout = mapLayout;
- flags |= MODIFY_MAP_LAYOUT;
+ fieldSet.add(MAP_LAYOUT);
}
/**
this.mapBackgroundLocation = mapBackgroundLocation;
this.mapBackgroundZoom = mapBackgroundZoom;
this.mapBackgroundColor = mapBackgroundColor;
- flags |= MODIFY_MAP_BACKGROUND;
+ fieldSet.add(MAP_BACKGROUND);
}
/**
{
mapElements = elements;
mapLinks = links;
- flags |= MODIFY_MAP_CONTENT;
+ fieldSet.add(MAP_CONTENT);
}
/**
public void setImage(UUID image)
{
this.image = image;
- flags |= MODIFY_IMAGE;
+ fieldSet.add(IMAGE);
}
/**
public void setColumnCount(int columnCount)
{
this.columnCount = columnCount;
- flags |= MODIFY_COLUMN_COUNT;
+ fieldSet.add(COLUMN_COUNT);
}
/**
public void setDashboardElements(Collection<DashboardElement> dashboardElements)
{
this.dashboardElements = dashboardElements;
- flags |= MODIFY_DASHBOARD_ELEMENTS;
+ fieldSet.add(DASHBOARD_ELEMENTS);
}
/**
public void setScript(String script)
{
this.script = script;
- flags |= MODIFY_SCRIPT;
+ fieldSet.add(SCRIPT);
}
/**
public void setActivationEvent(int activationEvent)
{
this.activationEvent = activationEvent;
- flags |= MODIFY_ACTIVATION_EVENT;
+ fieldSet.add(ACTIVATION_EVENT);
}
/**
public void setDeactivationEvent(int deactivationEvent)
{
this.deactivationEvent = deactivationEvent;
- flags |= MODIFY_DEACTIVATION_EVENT;
+ fieldSet.add(DEACTIVATION_EVENT);
}
/**
public void setSourceObject(long sourceObject)
{
this.sourceObject = sourceObject;
- flags |= MODIFY_SOURCE_OBJECT;
+ fieldSet.add(SOURCE_OBJECT);
}
/**
public void setActiveStatus(int activeStatus)
{
this.activeStatus = activeStatus;
- flags |= MODIFY_ACTIVE_STATUS;
+ fieldSet.add(ACTIVE_STATUS);
}
/**
public void setInactiveStatus(int inactiveStatus)
{
this.inactiveStatus = inactiveStatus;
- flags |= MODIFY_INACTIVE_STATUS;
+ fieldSet.add(INACTIVE_STATUS);
}
/**
public void setDciList(List<ConditionDciInfo> dciList)
{
this.dciList = dciList;
- flags |= MODIFY_DCI_LIST;
+ fieldSet.add(DCI_LIST);
}
/**
public void setSubmapId(long submapId)
{
this.submapId = submapId;
- flags |= MODIFY_SUBMAP_ID;
+ fieldSet.add(SUBMAP_ID);
}
/**
public void setPollerNode(long pollerNode)
{
this.pollerNode = pollerNode;
- flags |= MODIFY_POLLER_NODE;
+ fieldSet.add(POLLER_NODE);
}
/**
public void setRequiredPolls(int requiredPolls)
{
this.requiredPolls = requiredPolls;
- flags |= MODIFY_REQUIRED_POLLS;
+ fieldSet.add(REQUIRED_POLLS);
}
/**
public void setServiceType(int serviceType)
{
this.serviceType = serviceType;
- flags |= MODIFY_SERVICE_TYPE;
+ fieldSet.add(SERVICE_TYPE);
}
/**
public void setIpProtocol(int ipProtocol)
{
this.ipProtocol = ipProtocol;
- flags |= MODIFY_IP_PROTOCOL;
+ fieldSet.add(IP_PROTOCOL);
}
/**
public void setIpPort(int ipPort)
{
this.ipPort = ipPort;
- flags |= MODIFY_IP_PORT;
+ fieldSet.add(IP_PORT);
}
/**
public void setIpAddress(int ipAddress)
{
this.ipAddress = ipAddress;
- flags |= MODIFY_IP_ADDRESS;
+ fieldSet.add(IP_ADDRESS);
}
/**
public void setRequest(String request)
{
this.request = request;
- flags |= MODIFY_REQUEST;
+ fieldSet.add(REQUEST);
}
/**
public void setResponse(String response)
{
this.response = response;
- flags |= MODIFY_RESPONSE;
+ fieldSet.add(RESPONSE);
}
/**
{
this.objectFlags = objectFlags;
this.objectFlagsMask = objectFlagsMask;
- flags |= MODIFY_OBJECT_FLAGS;
+ fieldSet.add(OBJECT_FLAGS);
}
/**
public void setIfXTablePolicy(int ifXTablePolicy)
{
this.ifXTablePolicy = ifXTablePolicy;
- flags |= MODIFY_IFXTABLE_POLICY;
+ fieldSet.add(IFXTABLE_POLICY);
}
/**
public void setReportDefinition(String reportDefinition)
{
this.reportDefinition = reportDefinition;
- flags |= MODIFY_REPORT_DEFINITION;
+ fieldSet.add(REPORT_DEFINITION);
}
/**
public void setResourceList(List<ClusterResource> resourceList)
{
this.resourceList = resourceList;
- flags |= MODIFY_CLUSTER_RESOURCES;
+ fieldSet.add(CLUSTER_RESOURCES);
}
/**
public void setNetworkList(List<InetAddressEx> networkList)
{
this.networkList = networkList;
- flags |= MODIFY_CLUSTER_NETWORKS;
+ fieldSet.add(CLUSTER_NETWORKS);
}
/**
public void setPrimaryName(String primaryName)
{
this.primaryName = primaryName;
- flags |= MODIFY_PRIMARY_NAME;
+ fieldSet.add(PRIMARY_NAME);
}
/**
public void setStatusCalculationMethod(int statusCalculationMethod)
{
this.statusCalculationMethod = statusCalculationMethod;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setStatusPropagationMethod(int statusPropagationMethod)
{
this.statusPropagationMethod = statusPropagationMethod;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setFixedPropagatedStatus(ObjectStatus fixedPropagatedStatus)
{
this.fixedPropagatedStatus = fixedPropagatedStatus;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setStatusShift(int statusShift)
{
this.statusShift = statusShift;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setStatusTransformation(ObjectStatus[] statusTransformation)
{
this.statusTransformation = statusTransformation;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setStatusSingleThreshold(int statusSingleThreshold)
{
this.statusSingleThreshold = statusSingleThreshold;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setStatusThresholds(int[] statusThresholds)
{
this.statusThresholds = statusThresholds;
- flags |= MODIFY_STATUS_CALCULATION;
+ fieldSet.add(STATUS_CALCULATION);
}
/**
public void setExpectedState(int expectedState)
{
this.expectedState = expectedState;
- flags |= MODIFY_EXPECTED_STATE;
+ fieldSet.add(EXPECTED_STATE);
}
/**
public void setLinkColor(int linkColor)
{
this.linkColor = linkColor;
- flags |= MODIFY_LINK_COLOR;
+ fieldSet.add(LINK_COLOR);
}
/**
public void setConnectionRouting(int connectionRouting)
{
this.connectionRouting = connectionRouting;
- flags |= MODIFY_CONNECTION_ROUTING;
+ fieldSet.add(CONNECTION_ROUTING);
}
/**
public final void setDiscoveryRadius(int discoveryRadius)
{
this.discoveryRadius = discoveryRadius;
- flags |= MODIFY_DISCOVERY_RADIUS;
+ fieldSet.add(DISCOVERY_RADIUS);
}
/**
public void setHeight(int height)
{
this.height = height;
- flags |= MODIFY_HEIGHT;
+ fieldSet.add(HEIGHT);
}
/**
public void setFilter(String filter)
{
this.filter = filter;
- flags |= MODIFY_FILTER;
+ fieldSet.add(FILTER);
}
/**
public void setPeerGatewayId(long peerGatewayId)
{
this.peerGatewayId = peerGatewayId;
- flags |= MODIFY_PEER_GATEWAY;
+ fieldSet.add(PEER_GATEWAY);
}
/**
{
this.localNetworks = localNetworks;
this.remoteNetworks = remoteNetworks;
- flags |= MODIFY_VPN_NETWORKS;
+ fieldSet.add(VPN_NETWORKS);
}
/**
public void setPostalAddress(PostalAddress postalAddress)
{
this.postalAddress = postalAddress;
- flags |= MODIFY_POSTAL_ADDRESS;
+ fieldSet.add(POSTAL_ADDRESS);
}
/**
public void setAgentCacheMode(AgentCacheMode agentCacheMode)
{
this.agentCacheMode = agentCacheMode;
- flags |= MODIFY_AGENT_CACHE_MODE;
+ fieldSet.add(AGENT_CACHE_MODE);
}
/**
public void setMapObjectDisplayMode(MapObjectDisplayMode mapObjectDisplayMode)
{
this.mapObjectDisplayMode = mapObjectDisplayMode;
- flags |= MODIFY_MAPOBJ_DISP_MODE;
+ fieldSet.add(MAPOBJ_DISP_MODE);
}
/**
this.rackImage = rackImage;
this.rackPosition = rackPosition;
this.rackHeight = rackHeight;
- flags |= MODIFY_RACK_PLACEMENT;
+ fieldSet.add(RACK_PLACEMENT);
}
/**
public void setDashboards(Long[] dashboards)
{
this.dashboards = dashboards;
- flags |= MODIFY_DASHBOARD_LIST;
+ fieldSet.add(DASHBOARD_LIST);
}
/**
public void setRackNumberingTopBottom(boolean rackNumberingTopBottom)
{
this.rackNumberingTopBottom = rackNumberingTopBottom;
- flags |= MODIFY_RACK_NUMB_SCHEME;
+ fieldSet.add(RACK_NUMB_SCHEME);
}
/**
public void setControllerId(long controllerId)
{
this.controllerId = controllerId;
- flags |= MODIFY_CONTROLLER_ID;
+ fieldSet.add(CONTROLLER_ID);
}
/**
public void setChassisId(long chassisId)
{
this.chassisId = chassisId;
- flags |= MODIFY_CHASSIS_ID;
+ fieldSet.add(CHASSIS_ID);
+ }
+
+ /**
+ * @return the sshProxy
+ */
+ public long getSshProxy()
+ {
+ return sshProxy;
+ }
+
+ /**
+ * @param sshProxy the sshProxy to set
+ */
+ public void setSshProxy(long sshProxy)
+ {
+ this.sshProxy = sshProxy;
+ fieldSet.add(SSH_PROXY);
+ }
+
+ /**
+ * @return the sshLogin
+ */
+ public String getSshLogin()
+ {
+ return sshLogin;
+ }
+
+ /**
+ * @param sshLogin the sshLogin to set
+ */
+ public void setSshLogin(String sshLogin)
+ {
+ this.sshLogin = sshLogin;
+ fieldSet.add(SSH_LOGIN);
+ }
+
+ /**
+ * @return the sshPassword
+ */
+ public String getSshPassword()
+ {
+ return sshPassword;
+ }
+
+ /**
+ * @param sshPassword the sshPassword to set
+ */
+ public void setSshPassword(String sshPassword)
+ {
+ this.sshPassword = sshPassword;
+ fieldSet.add(SSH_PASSWORD);
}
}
NXCPMessage msg = newMessage(NXCPCodes.CMD_MODIFY_OBJECT);
msg.setFieldInt32(NXCPCodes.VID_OBJECT_ID, (int) data.getObjectId());
- long flags = data.getFlags();
-
// Object name
- if ((flags & NXCObjectModificationData.MODIFY_NAME) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.NAME))
{
msg.setField(NXCPCodes.VID_OBJECT_NAME, data.getName());
}
// Primary IP
- if ((flags & NXCObjectModificationData.MODIFY_PRIMARY_IP) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.PRIMARY_IP))
{
msg.setField(NXCPCodes.VID_IP_ADDRESS, data.getPrimaryIpAddress());
}
// Access control list
- if ((flags & NXCObjectModificationData.MODIFY_ACL) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.ACL))
{
final AccessListElement[] acl = data.getACL();
msg.setFieldInt32(NXCPCodes.VID_ACL_SIZE, acl.length);
}
}
- if ((flags & NXCObjectModificationData.MODIFY_CUSTOM_ATTRIBUTES) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CUSTOM_ATTRIBUTES))
{
Map<String, String> attrList = data.getCustomAttributes();
Iterator<String> it = attrList.keySet().iterator();
msg.setFieldInt32(NXCPCodes.VID_NUM_CUSTOM_ATTRIBUTES, count);
}
- if ((flags & NXCObjectModificationData.MODIFY_AUTOBIND_FILTER) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.AUTOBIND_FILTER))
{
msg.setField(NXCPCodes.VID_AUTOBIND_FILTER, data.getAutoBindFilter());
}
- if ((flags & NXCObjectModificationData.MODIFY_FILTER) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.FILTER))
{
msg.setField(NXCPCodes.VID_FILTER, data.getFilter());
}
- if ((flags & NXCObjectModificationData.MODIFY_DESCRIPTION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DESCRIPTION))
{
msg.setField(NXCPCodes.VID_DESCRIPTION, data.getDescription());
}
- if ((flags & NXCObjectModificationData.MODIFY_VERSION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.VERSION))
{
msg.setFieldInt32(NXCPCodes.VID_VERSION, data.getVersion());
}
// Configuration file
- if ((flags & NXCObjectModificationData.MODIFY_POLICY_CONFIG) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.POLICY_CONFIG))
{
msg.setField(NXCPCodes.VID_CONFIG_FILE_DATA, data.getConfigFileContent());
}
- if ((flags & NXCObjectModificationData.MODIFY_AGENT_PORT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.AGENT_PORT))
{
msg.setFieldInt16(NXCPCodes.VID_AGENT_PORT, data.getAgentPort());
}
- if ((flags & NXCObjectModificationData.MODIFY_AGENT_PROXY) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.AGENT_PROXY))
{
msg.setFieldInt32(NXCPCodes.VID_AGENT_PROXY, (int) data.getAgentProxy());
}
- if ((flags & NXCObjectModificationData.MODIFY_AGENT_AUTH) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.AGENT_AUTH))
{
msg.setFieldInt16(NXCPCodes.VID_AUTH_METHOD, data.getAgentAuthMethod());
msg.setField(NXCPCodes.VID_SHARED_SECRET, data.getAgentSecret());
}
- if ((flags & NXCObjectModificationData.MODIFY_TRUSTED_NODES) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.TRUSTED_NODES))
{
final long[] nodes = data.getTrustedNodes();
msg.setFieldInt32(NXCPCodes.VID_NUM_TRUSTED_NODES, nodes.length);
msg.setField(NXCPCodes.VID_TRUSTED_NODES, nodes);
}
- if ((flags & NXCObjectModificationData.MODIFY_SNMP_VERSION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SNMP_VERSION))
{
msg.setFieldInt16(NXCPCodes.VID_SNMP_VERSION, data.getSnmpVersion());
}
- if ((flags & NXCObjectModificationData.MODIFY_SNMP_AUTH) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SNMP_AUTH))
{
msg.setField(NXCPCodes.VID_SNMP_AUTH_OBJECT, data.getSnmpAuthName());
msg.setField(NXCPCodes.VID_SNMP_AUTH_PASSWORD, data.getSnmpAuthPassword());
msg.setFieldInt16(NXCPCodes.VID_SNMP_USM_METHODS, methods);
}
- if ((flags & NXCObjectModificationData.MODIFY_SNMP_PROXY) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SNMP_PROXY))
{
msg.setFieldInt32(NXCPCodes.VID_SNMP_PROXY, (int) data.getSnmpProxy());
}
- if ((flags & NXCObjectModificationData.MODIFY_SNMP_PORT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SNMP_PORT))
{
msg.setFieldInt16(NXCPCodes.VID_SNMP_PORT, data.getSnmpPort());
}
- if ((flags & NXCObjectModificationData.MODIFY_ICMP_PROXY) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.ICMP_PROXY))
{
msg.setFieldInt32(NXCPCodes.VID_ICMP_PROXY, (int) data.getIcmpProxy());
}
- if ((flags & NXCObjectModificationData.MODIFY_GEOLOCATION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.GEOLOCATION))
{
final GeoLocation gl = data.getGeolocation();
msg.setFieldInt16(NXCPCodes.VID_GEOLOCATION_TYPE, gl.getType());
}
}
- if ((flags & NXCObjectModificationData.MODIFY_MAP_LAYOUT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.MAP_LAYOUT))
{
msg.setFieldInt16(NXCPCodes.VID_LAYOUT, data.getMapLayout().getValue());
}
- if ((flags & NXCObjectModificationData.MODIFY_MAP_BACKGROUND) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.MAP_BACKGROUND))
{
msg.setField(NXCPCodes.VID_BACKGROUND, data.getMapBackground());
msg.setField(NXCPCodes.VID_BACKGROUND_LATITUDE, data.getMapBackgroundLocation().getLatitude());
msg.setFieldInt32(NXCPCodes.VID_BACKGROUND_COLOR, data.getMapBackgroundColor());
}
- if ((flags & NXCObjectModificationData.MODIFY_IMAGE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.IMAGE))
{
msg.setField(NXCPCodes.VID_IMAGE, data.getImage());
}
- if ((flags & NXCObjectModificationData.MODIFY_MAP_CONTENT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.MAP_CONTENT))
{
msg.setFieldInt32(NXCPCodes.VID_NUM_ELEMENTS, data.getMapElements().size());
long varId = NXCPCodes.VID_ELEMENT_LIST_BASE;
}
}
- if ((flags & NXCObjectModificationData.MODIFY_COLUMN_COUNT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.COLUMN_COUNT))
{
msg.setFieldInt16(NXCPCodes.VID_NUM_COLUMNS, data.getColumnCount());
}
- if ((flags & NXCObjectModificationData.MODIFY_DASHBOARD_ELEMENTS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DASHBOARD_ELEMENTS))
{
msg.setFieldInt32(NXCPCodes.VID_NUM_ELEMENTS, data.getDashboardElements().size());
long varId = NXCPCodes.VID_ELEMENT_LIST_BASE;
}
}
- if ((flags & NXCObjectModificationData.MODIFY_SCRIPT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SCRIPT))
{
msg.setField(NXCPCodes.VID_SCRIPT, data.getScript());
}
- if ((flags & NXCObjectModificationData.MODIFY_ACTIVATION_EVENT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.ACTIVATION_EVENT))
{
msg.setFieldInt32(NXCPCodes.VID_ACTIVATION_EVENT, data.getActivationEvent());
}
- if ((flags & NXCObjectModificationData.MODIFY_DEACTIVATION_EVENT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DEACTIVATION_EVENT))
{
msg.setFieldInt32(NXCPCodes.VID_DEACTIVATION_EVENT, data.getDeactivationEvent());
}
- if ((flags & NXCObjectModificationData.MODIFY_SOURCE_OBJECT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SOURCE_OBJECT))
{
msg.setFieldInt32(NXCPCodes.VID_SOURCE_OBJECT, (int) data.getSourceObject());
}
- if ((flags & NXCObjectModificationData.MODIFY_ACTIVE_STATUS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.ACTIVE_STATUS))
{
msg.setFieldInt16(NXCPCodes.VID_ACTIVE_STATUS, data.getActiveStatus());
}
- if ((flags & NXCObjectModificationData.MODIFY_INACTIVE_STATUS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.INACTIVE_STATUS))
{
msg.setFieldInt16(NXCPCodes.VID_INACTIVE_STATUS, data.getInactiveStatus());
}
- if ((flags & NXCObjectModificationData.MODIFY_DCI_LIST) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DCI_LIST))
{
List<ConditionDciInfo> dciList = data.getDciList();
msg.setFieldInt32(NXCPCodes.VID_NUM_ITEMS, dciList.size());
}
}
- if ((flags & NXCObjectModificationData.MODIFY_SUBMAP_ID) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SUBMAP_ID))
{
msg.setFieldInt32(NXCPCodes.VID_SUBMAP_ID, (int) data.getSubmapId());
}
- if ((flags & NXCObjectModificationData.MODIFY_SERVICE_TYPE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.SERVICE_TYPE))
{
msg.setFieldInt16(NXCPCodes.VID_SERVICE_TYPE, data.getServiceType());
}
- if ((flags & NXCObjectModificationData.MODIFY_IP_PROTOCOL) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.IP_PROTOCOL))
{
msg.setFieldInt16(NXCPCodes.VID_IP_PROTO, data.getIpProtocol());
}
- if ((flags & NXCObjectModificationData.MODIFY_IP_PORT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.IP_PORT))
{
msg.setFieldInt16(NXCPCodes.VID_IP_PORT, data.getIpPort());
}
- if ((flags & NXCObjectModificationData.MODIFY_POLLER_NODE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.POLLER_NODE))
{
msg.setFieldInt32(NXCPCodes.VID_POLLER_NODE_ID, (int) data.getPollerNode());
}
- if ((flags & NXCObjectModificationData.MODIFY_REQUIRED_POLLS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.REQUIRED_POLLS))
{
msg.setFieldInt16(NXCPCodes.VID_REQUIRED_POLLS, data.getRequiredPolls());
}
- if ((flags & NXCObjectModificationData.MODIFY_REQUEST) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.REQUEST))
{
msg.setField(NXCPCodes.VID_SERVICE_REQUEST, data.getRequest());
}
- if ((flags & NXCObjectModificationData.MODIFY_RESPONSE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.RESPONSE))
{
msg.setField(NXCPCodes.VID_SERVICE_RESPONSE, data.getResponse());
}
- if ((flags & NXCObjectModificationData.MODIFY_OBJECT_FLAGS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.OBJECT_FLAGS))
{
msg.setFieldInt32(NXCPCodes.VID_FLAGS, data.getObjectFlags());
msg.setFieldInt32(NXCPCodes.VID_FLAGS_MASK, data.getObjectFlagsMask());
}
- if ((flags & NXCObjectModificationData.MODIFY_IFXTABLE_POLICY) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.IFXTABLE_POLICY))
{
msg.setFieldInt16(NXCPCodes.VID_USE_IFXTABLE, data.getIfXTablePolicy());
}
- if ((flags & NXCObjectModificationData.MODIFY_REPORT_DEFINITION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.REPORT_DEFINITION))
{
msg.setField(NXCPCodes.VID_REPORT_DEFINITION, data.getReportDefinition());
}
- if ((flags & NXCObjectModificationData.MODIFY_CLUSTER_RESOURCES) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CLUSTER_RESOURCES))
{
msg.setFieldInt32(NXCPCodes.VID_NUM_RESOURCES, data.getResourceList().size());
long varId = NXCPCodes.VID_RESOURCE_LIST_BASE;
}
}
- if ((flags & NXCObjectModificationData.MODIFY_CLUSTER_NETWORKS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CLUSTER_NETWORKS))
{
int count = data.getNetworkList().size();
msg.setFieldInt32(NXCPCodes.VID_NUM_SYNC_SUBNETS, count);
}
}
- if ((flags & NXCObjectModificationData.MODIFY_PRIMARY_NAME) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.PRIMARY_NAME))
{
msg.setField(NXCPCodes.VID_PRIMARY_NAME, data.getPrimaryName());
}
- if ((flags & NXCObjectModificationData.MODIFY_STATUS_CALCULATION) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.STATUS_CALCULATION))
{
msg.setFieldInt16(NXCPCodes.VID_STATUS_CALCULATION_ALG, data.getStatusCalculationMethod());
msg.setFieldInt16(NXCPCodes.VID_STATUS_PROPAGATION_ALG, data.getStatusPropagationMethod());
msg.setFieldInt16(NXCPCodes.VID_STATUS_THRESHOLD_4, thresholds[3]);
}
- if ((flags & NXCObjectModificationData.MODIFY_EXPECTED_STATE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.EXPECTED_STATE))
{
msg.setFieldInt16(NXCPCodes.VID_EXPECTED_STATE, data.getExpectedState());
}
- if ((flags & NXCObjectModificationData.MODIFY_LINK_COLOR) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.LINK_COLOR))
{
msg.setFieldInt32(NXCPCodes.VID_LINK_COLOR, data.getLinkColor());
}
- if ((flags & NXCObjectModificationData.MODIFY_CONNECTION_ROUTING) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CONNECTION_ROUTING))
{
msg.setFieldInt16(NXCPCodes.VID_LINK_ROUTING, data.getConnectionRouting());
}
- if ((flags & NXCObjectModificationData.MODIFY_DISCOVERY_RADIUS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DISCOVERY_RADIUS))
{
msg.setFieldInt32(NXCPCodes.VID_DISCOVERY_RADIUS, data.getDiscoveryRadius());
}
- if ((flags & NXCObjectModificationData.MODIFY_HEIGHT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.HEIGHT))
{
msg.setFieldInt16(NXCPCodes.VID_HEIGHT, data.getHeight());
}
- if ((flags & NXCObjectModificationData.MODIFY_RACK_NUMB_SCHEME) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.RACK_NUMB_SCHEME))
{
msg.setField(NXCPCodes.VID_TOP_BOTTOM, data.isRackNumberingTopBottom());
}
- if ((flags & NXCObjectModificationData.MODIFY_PEER_GATEWAY) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.PEER_GATEWAY))
{
msg.setFieldInt32(NXCPCodes.VID_PEER_GATEWAY, (int)data.getPeerGatewayId());
}
- if ((flags & NXCObjectModificationData.MODIFY_VPN_NETWORKS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.VPN_NETWORKS))
{
long fieldId = NXCPCodes.VID_VPN_NETWORK_BASE;
}
}
- if ((flags & NXCObjectModificationData.MODIFY_POSTAL_ADDRESS) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.POSTAL_ADDRESS))
{
data.getPostalAddress().fillMessage(msg);
}
- if ((flags & NXCObjectModificationData.MODIFY_AGENT_CACHE_MODE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.AGENT_CACHE_MODE))
{
msg.setFieldInt16(NXCPCodes.VID_AGENT_CACHE_MODE, data.getAgentCacheMode().getValue());
}
- if ((flags & NXCObjectModificationData.MODIFY_MAPOBJ_DISP_MODE) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.MAPOBJ_DISP_MODE))
{
msg.setFieldInt16(NXCPCodes.VID_DISPLAY_MODE, data.getMapObjectDisplayMode().getValue());
}
- if ((flags & NXCObjectModificationData.MODIFY_RACK_PLACEMENT) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.RACK_PLACEMENT))
{
msg.setFieldInt32(NXCPCodes.VID_RACK_ID, (int)data.getRackId());
msg.setField(NXCPCodes.VID_RACK_IMAGE, data.getRackImage());
msg.setFieldInt16(NXCPCodes.VID_RACK_HEIGHT, data.getRackHeight());
}
- if ((flags & NXCObjectModificationData.MODIFY_DASHBOARD_LIST) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.DASHBOARD_LIST))
{
msg.setField(NXCPCodes.VID_DASHBOARDS, data.getDashboards());
}
- if ((flags & NXCObjectModificationData.MODIFY_CHASSIS_ID) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CHASSIS_ID))
{
msg.setFieldInt32(NXCPCodes.VID_CHASSIS_ID, (int)data.getChassisId());
}
- if ((flags & NXCObjectModificationData.MODIFY_CONTROLLER_ID) != 0)
+ if (data.isFieldSet(NXCObjectModificationData.CONTROLLER_ID))
{
msg.setFieldInt32(NXCPCodes.VID_CONTROLLER_ID, (int)data.getControllerId());
}
+ if (data.isFieldSet(NXCObjectModificationData.SSH_PROXY))
+ {
+ msg.setFieldInt32(NXCPCodes.VID_SSH_PROXY, (int)data.getSshProxy());
+ }
+
+ if (data.isFieldSet(NXCObjectModificationData.SSH_LOGIN))
+ {
+ msg.setField(NXCPCodes.VID_SSH_LOGIN, data.getSshLogin());
+ }
+
+ if (data.isFieldSet(NXCObjectModificationData.SSH_PASSWORD))
+ {
+ msg.setField(NXCPCodes.VID_SSH_PASSWORD, data.getSshPassword());
+ }
+
modifyCustomObject(data, userData, msg);
sendMessage(msg);
public static final int CHECKPOINT_SNMP = 3;
public static final int PUSH = 4;
public static final int WINPERF = 5;
- public static final int ILO = 6;
+ public static final int SMCLP = 6;
public static final int SCRIPT = 7;
+ public static final int SSH = 8;
// data collection object status
public static final int ACTIVE = 0;
protected short rackPosition;
protected short rackHeight;
protected long chassisId;
+ protected String sshLogin;
+ protected String sshPassword;
+ protected long sshProxyId;
/**
* Create new node object.
rackPosition = msg.getFieldAsInt16(NXCPCodes.VID_RACK_POSITION);
rackHeight = msg.getFieldAsInt16(NXCPCodes.VID_RACK_HEIGHT);
chassisId = msg.getFieldAsInt64(NXCPCodes.VID_CHASSIS_ID);
+ sshLogin = msg.getFieldAsString(NXCPCodes.VID_SSH_LOGIN);
+ sshPassword = msg.getFieldAsString(NXCPCodes.VID_SSH_PASSWORD);
+ sshProxyId = msg.getFieldAsInt64(NXCPCodes.VID_SSH_PROXY);
long bootTimeSeconds = msg.getFieldAsInt64(NXCPCodes.VID_BOOT_TIME);
bootTime = (bootTimeSeconds > 0) ? new Date(bootTimeSeconds * 1000) : null;
{
return chassisId;
}
+
+ /**
+ * @return the sshLogin
+ */
+ public String getSshLogin()
+ {
+ return sshLogin;
+ }
+
+ /**
+ * @return the sshPassword
+ */
+ public String getSshPassword()
+ {
+ return sshPassword;
+ }
+
+ /**
+ * @return the sshProxyId
+ */
+ public long getSshProxyId()
+ {
+ return sshProxyId;
+ }
}
private long agentProxy;
private long snmpProxy;
private long icmpProxy;
+ private long sshProxy;
/**
* Create zone object from NXCP message
agentProxy = msg.getFieldAsInt64(NXCPCodes.VID_AGENT_PROXY);
snmpProxy = msg.getFieldAsInt64(NXCPCodes.VID_SNMP_PROXY);
icmpProxy = msg.getFieldAsInt64(NXCPCodes.VID_ICMP_PROXY);
+ sshProxy = msg.getFieldAsInt64(NXCPCodes.VID_SSH_PROXY);
}
/* (non-Javadoc)
return icmpProxy;
}
- /* (non-Javadoc)
+ /**
+ * @return the sshProxy
+ */
+ public long getSshProxy()
+ {
+ return sshProxy;
+ }
+
+ /* (non-Javadoc)
* @see org.netxms.client.objects.GenericObject#getObjectClassName()
*/
@Override
Bundle-ManifestVersion: 2
Bundle-Name: Data Collection Management Plug-in
Bundle-SymbolicName: org.netxms.ui.eclipse.datacollection;singleton:=true
-Bundle-Version: 2.0.7
+Bundle-Version: 2.1.0
Bundle-Activator: org.netxms.ui.eclipse.datacollection.Activator
Bundle-Vendor: netxms.org
Require-Bundle: org.eclipse.ui;bundle-version="3.8.2",
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.core.expressions;bundle-version="3.4.400",
org.eclipse.ui.forms;bundle-version="3.5.200",
- org.netxms.ui.eclipse.clientlibrary;bundle-version="2.0.5",
- org.netxms.ui.eclipse.console;bundle-version="2.0.5",
- org.netxms.ui.eclipse.objectbrowser;bundle-version="2.0.3",
- org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.0",
- org.netxms.ui.eclipse.objectview;bundle-version="2.0.5",
+ org.netxms.ui.eclipse.clientlibrary;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.console;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.objectbrowser;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.1",
+ org.netxms.ui.eclipse.objectview;bundle-version="2.0.7",
org.netxms.ui.eclipse.snmp;bundle-version="2.0.0",
- org.netxms.ui.eclipse.nxsl;bundle-version="1.2.17",
- org.netxms.ui.eclipse.charts;bundle-version="2.0.3",
- org.netxms.ui.eclipse.objecttools;bundle-version="2.0.3"
+ org.netxms.ui.eclipse.nxsl;bundle-version="2.0.7",
+ org.netxms.ui.eclipse.charts;bundle-version="2.0.5",
+ org.netxms.ui.eclipse.objecttools;bundle-version="2.0.8"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.netxms.ui.eclipse.datacollection.actions,
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData=Clear collected data
action.label.CreateDCI=Create data collection item...
action.label.CreateDCIs=Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection=Data Collection Configuration
action.label.LastValues=Last values
action.label.Remove=&Remove...
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
-
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData=Clear collected data
action.label.CreateDCI=Create data collection item...
action.label.CreateDCIs=Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
-
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection=Data Collection Configuration
action.label.LastValues=Last values
action.label.Remove=&Remove...
public static String DciLabelProvider_SourcePush;
public static String DciLabelProvider_SourceScript;
public static String DciLabelProvider_SourceSNMP;
+ public static String DciLabelProvider_SourceSSH;
public static String DciLabelProvider_SourceILO;
public static String DciLabelProvider_SourceWinPerf;
public static String DciLabelProvider_Table;
public static String General_SourceInternal;
public static String General_SourcePush;
public static String General_SourceSNMP;
+ public static String General_SourceSSH;
public static String General_Status;
public static String General_Storage;
public static String General_UseCustomPort;
public static String GeneralTable_SourceInternal;
public static String GeneralTable_SourcePush;
public static String GeneralTable_SourceSNMP;
+ public static String GeneralTable_SourceSSH;
public static String GeneralTable_Status;
public static String GeneralTable_Storage;
public static String GeneralTable_UseCustomRetention;
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
DciLabelProvider_Unknown=<unknown>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=Nepodporovan\u00fd
DciLabelProvider_SourceAgent=NetXMS agent
DciLabelProvider_SourceCPSNMP=SNMP kontroln\u00ed bod
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Intern\u00ed
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Skript
DciLabelProvider_SourceWinPerf=Windows Performance Counter
DciLabelProvider_Table=<<TABULKA>>
GeneralTable_SourceInternal=Intern\u00ed
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Stav
GeneralTable_Storage=\u00dalo\u017ei\u0161t\u011b
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Intern\u00ed
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Stav
General_Storage=\u00dalo\u017ei\u0161t\u011b
General_UseCustomPort=Pou\u017e\u00edt vlastn\u00ed SNMP port
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=No soportado
DciLabelProvider_SourceAgent=Agente NetXMS
DciLabelProvider_SourceCPSNMP=Comprobaci\u00f3n SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Interno
DciLabelProvider_SourcePush=Enviar
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLA >>
GeneralTable_SourceInternal=Interno
GeneralTable_SourcePush=Enviar
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Estado
GeneralTable_Storage=Almacenamiento
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Interno
General_SourcePush=Enviar
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Estado
General_Storage=Almacenamiento
General_UseCustomPort=Puerto SNMP personalizado:
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f
DciLabelProvider_SourceAgent=\u0410\u0433\u0435\u043d\u0442 NetXMS
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
DciLabelProvider_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439
DciLabelProvider_SourceWinPerf=\u0421\u0447\u0435\u0442\u0447\u0438\u043a\u0438 Windows
DciLabelProvider_Table=<< \u0422\u0410\u0411\u041b\u0418\u0426\u0410 >>
GeneralTable_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
GeneralTable_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
GeneralTable_Storage=\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435
GeneralTable_UseCustomRetention=\u0421\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f
General_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
General_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=C\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
General_Storage=\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435
General_UseCustomPort=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442 \u0434\u043b\u044f SNMP:
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
origin.add(Messages.get().General_WinPerf);
origin.add(Messages.get().General_SMCLP);
origin.add(Messages.get().General_Script);
+ origin.add(Messages.get().General_SourceSSH);
origin.select(dci.getOrigin());
origin.addSelectionListener(new SelectionListener() {
@Override
mode = 1;
retentionMode.select(mode);
retentionTime.setEnabled(mode == 1);
-
+
+ onOriginChange();
return dialogArea;
}
customSnmpPort.setEnabled((index == DataCollectionItem.SNMP) && checkUseCustomSnmpPort.getSelection());
sampleCount.setEnabled(index == DataCollectionItem.WINPERF);
agentCacheMode.setEnabled((index == DataCollectionItem.AGENT) || (index == DataCollectionItem.SNMP));
+ selectButton.setEnabled(
+ (index == DataCollectionItem.AGENT) ||
+ (index == DataCollectionItem.SNMP) ||
+ (index == DataCollectionItem.INTERNAL) ||
+ (index == DataCollectionItem.WINPERF) ||
+ (index == DataCollectionItem.CHECKPOINT_SNMP) ||
+ (index == DataCollectionItem.SCRIPT));
}
/**
originTexts.put(DataCollectionItem.INTERNAL, Messages.get().DciLabelProvider_SourceInternal);
originTexts.put(DataCollectionItem.PUSH, Messages.get().DciLabelProvider_SourcePush);
originTexts.put(DataCollectionItem.WINPERF, Messages.get().DciLabelProvider_SourceWinPerf);
- originTexts.put(DataCollectionItem.ILO, Messages.get().DciLabelProvider_SourceILO);
+ originTexts.put(DataCollectionItem.SMCLP, Messages.get().DciLabelProvider_SourceILO);
originTexts.put(DataCollectionItem.SCRIPT, Messages.get().DciLabelProvider_SourceScript);
+ originTexts.put(DataCollectionItem.SSH, Messages.get().DciLabelProvider_SourceSSH);
statusTexts.put(DataCollectionItem.ACTIVE, Messages.get().DciLabelProvider_Active);
statusTexts.put(DataCollectionItem.DISABLED, Messages.get().DciLabelProvider_Disabled);
menu.label.Create=&Create
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
-page.name.AccessControl = Access Control
-page.name.AutoApply = Automatic Apply Rules
-page.name.AutoBind = Automatic Bind Rules
-page.name.ClusterNet = Cluster Networks
-page.name.ClusterRes = Cluster Resources
-page.name.Comments = Comments
-page.name.Communications = Communications
-page.name.CustomAttrs = Custom Attributes
-page.name.Data = Data
-page.name.Dashboards = Dashboards
-page.name.EventsStatus = Events and Status
-page.name.General = General
-page.name.Location = Location
-page.name.MapAppearance = Map Appearance
-page.name.NetSrv = Network Service
+page.name.AccessControl=Access Control
+page.name.Agent=Agent
+page.name.AutoApply=Automatic Apply Rules
+page.name.AutoBind=Automatic Bind Rules
+page.name.ClusterNet=Cluster Networks
+page.name.ClusterRes=Cluster Resources
+page.name.Comments=Comments
+page.name.Communications=Communications
+page.name.CustomAttrs=Custom Attributes
+page.name.Data=Data
+page.name.Dashboards=Dashboards
+page.name.EventsStatus=Events and Status
+page.name.General=General
+page.name.ICMP=ICMP
+page.name.Location=Location
+page.name.MapAppearance=Map Appearance
+page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
page.name.Script=Script
-page.name.StatusCalc = Status Calculation
+page.name.SNMP=SNMP
+page.name.SSH=SSH
+page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
-page.name.TrustedNodes = Trusted Nodes
-view.name.NodePoll = Node Poll
+page.name.TrustedNodes=Trusted Nodes
+view.name.NodePoll=Node Poll
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Vy\u010d\u00edst
page.name.AccessControl=\u0158\u00edzen\u00ed p\u0159\u00edstupu
+page.name.Agent=Agent
page.name.AutoApply=Automaticky pou\u017e\u00edt pravidla
page.name.AutoBind=Automaticky sv\u00e1zat pravidla
page.name.ClusterNet=Cluster s\u00edt\u011b
page.name.Data=Data
page.name.EventsStatus=Ud\u00e1losti a stav
page.name.General=Obecn\u00fd
+page.name.ICMP=ICMP
page.name.Location=Lokace
page.name.MapAppearance=Vzhled mapy
page.name.NetSrv=S\u00ed\u0165ov\u00e1 slu\u017eba
page.name.Polling=Vy\u010d\u00edt\u00e1n\u00ed
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Skript
page.name.StatusCalc=V\u00fdpo\u010det stavu
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete= Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll= &Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling= Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script= Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance=Map Appearance
page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll= &Poll
page.name.AccessControl= Access Control
+page.name.Agent=Agent
page.name.AutoApply= Automatic Apply Rules
page.name.AutoBind= Automatic Bind Rules
page.name.ClusterNet= Cluster Networks
page.name.Data= Data
page.name.EventsStatus= Events and Status
page.name.General= General
+page.name.ICMP=ICMP
page.name.Location= Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling= Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script= Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.ChangeZone= Change zone...
action.label.ConfPoll= &Configuration
action.label.ConfPollFull= &Configuration (full)
-action.label.CreateChassis = C&hassis...
-action.label.CreateCluster = Cl&uster...
-action.label.CreateCond = Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
+action.label.CreateChassis= C&hassis...
+action.label.CreateCluster= Cl&uster...
+action.label.CreateCond= Con&dition...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
action.label.CreateNode=&Node...
action.label.CreateRack=&Rack...
action.label.CreateVPNConnector=&VPN connector...
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl= Access Control
+page.name.Agent=Agent
page.name.AutoApply= Automatic Apply Rules
page.name.AutoBind= Automatic Bind Rules
page.name.ClusterNet= Cluster Networks
page.name.Data= Data
page.name.EventsStatus= Events and Status
page.name.General= General
+page.name.ICMP=ICMP
page.name.Location= Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.CreateRack=\u0421&\u0442\u043e\u0439\u043a\u0443...
action.label.CreateVPNConnector=&VPN \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435...
action.label.CreateZone=\u0421\u043e\u0437\u0434\u0430\u0442\u044c &\u0437\u043e\u043d\u0443
+action.label.Delete= Delete
+action.label.EnterMaintMode=&Enter maintenance mode
+action.label.IfNamesPoll= &Interface names
+action.label.InstanceDiscoveryPoll= I&nstance discovery
+action.label.LeaveMaintMode=&Leave maintenance mode
+action.label.Manage= Manage
action.label.RemoveNode=&\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0437\u0435\u043b...
action.label.ScheduleMaintenance=\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435
action.label.StatusPoll=&\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
menu.label.Maintenance=&\u041e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435
menu.label.Poll=&\u041e\u043f\u0440\u043e\u0441
page.name.AccessControl=\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430
+page.name.Agent=\u0410\u0433\u0435\u043d\u0442
page.name.AutoApply=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430
page.name.AutoBind=\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438
page.name.ClusterNet=\u0421\u0435\u0442\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
page.name.Data=\u0414\u0430\u043d\u043d\u044b\u0435
page.name.EventsStatus=\u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
page.name.General=\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435
+page.name.ICMP=ICMP
page.name.Location=\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435
page.name.MapAppearance=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u043a\u0430\u0440\u0442\u044b
page.name.NetSrv=\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441
page.name.Polling=\u041e\u043f\u0440\u043e\u0441
page.name.Rack=\u0421\u0442\u043e\u0439\u043a\u0430
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439
page.name.StatusCalc=\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f
page.name.Subnets=\u041f\u043e\u0434\u0441\u0435\u0442\u0438
action.label.ChangeZone=Change zone...
action.label.ConfPoll=&Configuration
action.label.ConfPollFull=&Configuration (full)
-action.label.CreateChassis = C&hassis...
-action.label.CreateCluster = Cl&uster...
-action.label.CreateCond = Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateChassis= C&hassis...
+action.label.CreateCluster= Cl&uster...
+action.label.CreateCond= Con&dition...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance=Map Appearance
page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
</instanceof>
</enabledWhen>
</page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.SNMP"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.SNMP"
+ name="%page.name.SNMP">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.Agent"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.Agent"
+ name="%page.name.Agent">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.ICMP"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.ICMP"
+ name="%page.name.ICMP">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.SSH"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.SSH"
+ name="%page.name.SSH">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
</extension>
<extension
public static String ZoneCommunications_DefaultAgentProxy;
public static String ZoneCommunications_DefaultICMPProxy;
public static String ZoneCommunications_DefaultSNMPProxy;
+ public static String ZoneCommunications_DefaultSSHProxy;
public static String ZoneCommunications_JobError;
public static String ZoneCommunications_JobName;
public static String ZoneSelectionDialog_EmptySelectionWarning;
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=V\u00fdchoz\u00ed proxy agenta
ZoneCommunications_DefaultICMPProxy=V\u00fdchoz\u00ed ICMP proxy
ZoneCommunications_DefaultSNMPProxy=V\u00fdchoz\u00ed SNMP proxy
+ZoneCommunications_DefaultSSHProxy=V\u00fdchoz\u00ed SSH proxy
ZoneCommunications_JobError=Nelze aktualizovat komunika\u010dni nastaven\u00ed
ZoneCommunications_JobName=Aktualizovat komunika\u010dn\u00ed nastaven\u00ed pro z\u00f3nu %s
ZoneSelectionDialog_EmptySelectionWarning=Pros\u00edm vyberte objekt z\u00f3na\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f NetXMS \u0430\u0433\u0435\u043d\u0442\u0430
ZoneCommunications_DefaultICMPProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f ICMP
ZoneCommunications_DefaultSNMPProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f SNMP
+ZoneCommunications_DefaultSSHProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f SSH
ZoneCommunications_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f
ZoneCommunications_JobName=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0437\u043e\u043d\u044b %s
ZoneSelectionDialog_EmptySelectionWarning=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0437\u043e\u043d\u0443\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
--- /dev/null
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2016 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.netxms.ui.eclipse.objectmanager.propertypages;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.netxms.client.NXCObjectModificationData;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.AbstractNode;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
+import org.netxms.ui.eclipse.objectmanager.Activator;
+import org.netxms.ui.eclipse.objectmanager.Messages;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+import org.netxms.ui.eclipse.tools.WidgetHelper;
+import org.netxms.ui.eclipse.widgets.LabeledText;
+
+/**
+ * "Agent" property page for node
+ */
+public class Agent extends PropertyPage
+{
+ private AbstractNode node;
+ private LabeledText agentPort;
+ private LabeledText agentSharedSecret;
+ private Combo agentAuthMethod;
+ private Button agentForceEncryption;
+ private ObjectSelector agentProxy;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent)
+ {
+ node = (AbstractNode)getElement().getAdapter(AbstractNode.class);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ FormLayout dialogLayout = new FormLayout();
+ dialogLayout.marginWidth = 0;
+ dialogLayout.marginHeight = 0;
+ dialogLayout.spacing = WidgetHelper.DIALOG_SPACING;
+ dialogArea.setLayout(dialogLayout);
+
+ agentPort = new LabeledText(dialogArea, SWT.NONE);
+ agentPort.setLabel(Messages.get().Communication_TCPPort);
+ agentPort.setText(Integer.toString(node.getAgentPort()));
+ FormData fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(0, 0);
+ agentPort.setLayoutData(fd);
+
+ agentProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ agentProxy.setLabel(Messages.get().Communication_Proxy);
+ agentProxy.setObjectId(node.getAgentProxyId());
+ fd = new FormData();
+ fd.left = new FormAttachment(agentPort, 0, SWT.RIGHT);
+ fd.right = new FormAttachment(100, 0);
+ fd.top = new FormAttachment(0, 0);
+ agentProxy.setLayoutData(fd);
+
+ agentForceEncryption = new Button(dialogArea, SWT.CHECK);
+ agentForceEncryption.setText(Messages.get().Communication_ForceEncryption);
+ agentForceEncryption.setSelection((node.getFlags() & AbstractNode.NF_FORCE_ENCRYPTION) != 0);
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(agentPort, 0, SWT.BOTTOM);
+ agentForceEncryption.setLayoutData(fd);
+
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
+ agentAuthMethod = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_AuthMethod, fd);
+ agentAuthMethod.add(Messages.get().Communication_AuthNone);
+ agentAuthMethod.add(Messages.get().Communication_AuthPlain);
+ agentAuthMethod.add(Messages.get().Communication_AuthMD5);
+ agentAuthMethod.add(Messages.get().Communication_AuthSHA1);
+ agentAuthMethod.select(node.getAgentAuthMethod());
+ agentAuthMethod.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e)
+ {
+ widgetSelected(e);
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ agentSharedSecret.getTextControl().setEnabled(agentAuthMethod.getSelectionIndex() != AbstractNode.AGENT_AUTH_NONE);
+ }
+ });
+
+ agentSharedSecret = new LabeledText(dialogArea, SWT.NONE);
+ agentSharedSecret.setLabel(Messages.get().Communication_SharedSecret);
+ agentSharedSecret.setText(node.getAgentSharedSecret());
+ fd = new FormData();
+ fd.left = new FormAttachment(agentAuthMethod.getParent(), 0, SWT.RIGHT);
+ fd.right = new FormAttachment(100, 0);
+ fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
+ agentSharedSecret.setLayoutData(fd);
+ agentSharedSecret.getTextControl().setEnabled(node.getAgentAuthMethod() != AbstractNode.AGENT_AUTH_NONE);
+
+ return dialogArea;
+ }
+
+ /**
+ * Apply changes
+ *
+ * @param isApply true if update operation caused by "Apply" button
+ */
+ protected boolean applyChanges(final boolean isApply)
+ {
+ final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
+
+ if (isApply)
+ setValid(false);
+
+ try
+ {
+ md.setAgentPort(Integer.parseInt(agentPort.getText(), 10));
+ }
+ catch(NumberFormatException e)
+ {
+ MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidAgentPort);
+ if (isApply)
+ setValid(true);
+ return false;
+ }
+ md.setAgentProxy(agentProxy.getObjectId());
+ md.setAgentAuthMethod(agentAuthMethod.getSelectionIndex());
+ md.setAgentSecret(agentSharedSecret.getText());
+
+ /* TODO: sync in some way with "Polling" page */
+ int flags = node.getFlags();
+ if (agentForceEncryption.getSelection())
+ flags |= AbstractNode.NF_FORCE_ENCRYPTION;
+ else
+ flags &= ~AbstractNode.NF_FORCE_ENCRYPTION;
+ md.setObjectFlags(flags);
+
+ final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+ new ConsoleJob(String.format("Updating agent communication settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
+ @Override
+ protected void runInternal(IProgressMonitor monitor) throws Exception
+ {
+ session.modifyObject(md);
+ }
+
+ @Override
+ protected String getErrorMessage()
+ {
+ return String.format("Cannot update communication settings for node %s", node.getObjectName());
+ }
+
+ @Override
+ protected void jobFinalize()
+ {
+ if (isApply)
+ {
+ runInUIThread(new Runnable() {
+ @Override
+ public void run()
+ {
+ Agent.this.setValid(true);
+ }
+ });
+ }
+ }
+ }.start();
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk()
+ {
+ return applyChanges(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ @Override
+ protected void performApply()
+ {
+ applyChanges(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults()
+ {
+ super.performDefaults();
+
+ agentPort.setText("4700"); //$NON-NLS-1$
+ agentForceEncryption.setSelection(false);
+ agentAuthMethod.select(0);
+ agentProxy.setObjectId(0);
+ agentSharedSecret.setText(""); //$NON-NLS-1$
+ agentSharedSecret.getTextControl().setEnabled(false);
+ }
+}
package org.netxms.ui.eclipse.objectmanager.propertypages;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.dialogs.PropertyPage;
import org.netxms.client.NXCObjectModificationData;
import org.netxms.client.NXCSession;
import org.netxms.client.objects.AbstractNode;
import org.netxms.ui.eclipse.jobs.ConsoleJob;
-import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
import org.netxms.ui.eclipse.objectmanager.Activator;
import org.netxms.ui.eclipse.objectmanager.Messages;
import org.netxms.ui.eclipse.shared.ConsoleSharedData;
import org.netxms.ui.eclipse.tools.MessageDialogHelper;
-import org.netxms.ui.eclipse.tools.WidgetHelper;
import org.netxms.ui.eclipse.widgets.LabeledText;
/**
{
private AbstractNode node;
private LabeledText primaryName;
- private LabeledText agentPort;
- private LabeledText agentSharedSecret;
- private Combo agentAuthMethod;
- private Button agentForceEncryption;
private Button agentIsRemote;
- private ObjectSelector agentProxy;
- private Combo snmpVersion;
- private LabeledText snmpPort;
- private Combo snmpAuth;
- private Combo snmpPriv;
- private ObjectSelector snmpProxy;
- private LabeledText snmpAuthName;
- private LabeledText snmpAuthPassword;
- private LabeledText snmpPrivPassword;
- private ObjectSelector icmpProxy;
private boolean primaryNameChanged = false;
/* (non-Javadoc)
dialogLayout.marginHeight = 0;
dialogArea.setLayout(dialogLayout);
- // General
- Group generalGroup = new Group(dialogArea, SWT.NONE);
- generalGroup.setText(Messages.get().Communication_GroupGeneral);
- GridData gd = new GridData();
- gd.horizontalAlignment = SWT.FILL;
- gd.grabExcessHorizontalSpace = true;
- generalGroup.setLayoutData(gd);
- GridLayout generalGroupLayout = new GridLayout();
- generalGroup.setLayout(generalGroupLayout);
-
- primaryName = new LabeledText(generalGroup, SWT.NONE);
+ primaryName = new LabeledText(dialogArea, SWT.NONE);
primaryName.setLabel(Messages.get().Communication_PrimaryHostName);
primaryName.setText(node.getPrimaryName());
- gd = new GridData();
+ GridData gd = new GridData();
gd.horizontalAlignment = SWT.FILL;
gd.grabExcessHorizontalSpace = true;
primaryName.setLayoutData(gd);
}
});
- agentIsRemote = new Button(generalGroup, SWT.CHECK);
+ agentIsRemote = new Button(dialogArea, SWT.CHECK);
agentIsRemote.setText(Messages.get().Communication_RemoteAgent);
agentIsRemote.setSelection((node.getFlags() & AbstractNode.NF_REMOTE_AGENT) != 0);
gd = new GridData();
gd.grabExcessHorizontalSpace = true;
agentIsRemote.setLayoutData(gd);
- // Agent
- Group agentGroup = new Group(dialogArea, SWT.NONE);
- agentGroup.setText(Messages.get().Communication_GroupAgent);
- gd = new GridData();
- gd.horizontalAlignment = SWT.FILL;
- gd.grabExcessHorizontalSpace = true;
- agentGroup.setLayoutData(gd);
-
- FormLayout agentGroupLayout = new FormLayout();
- agentGroupLayout.marginWidth = WidgetHelper.OUTER_SPACING;
- agentGroupLayout.marginHeight = WidgetHelper.OUTER_SPACING;
- agentGroupLayout.spacing = WidgetHelper.OUTER_SPACING * 2;
- agentGroup.setLayout(agentGroupLayout);
-
- agentPort = new LabeledText(agentGroup, SWT.NONE);
- agentPort.setLabel(Messages.get().Communication_TCPPort);
- agentPort.setText(Integer.toString(node.getAgentPort()));
- FormData fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(0, 0);
- agentPort.setLayoutData(fd);
-
- agentProxy = new ObjectSelector(agentGroup, SWT.NONE, true);
- agentProxy.setLabel(Messages.get().Communication_Proxy);
- agentProxy.setObjectId(node.getAgentProxyId());
- fd = new FormData();
- fd.left = new FormAttachment(agentPort, 0, SWT.RIGHT);
- fd.right = new FormAttachment(100, 0);
- fd.top = new FormAttachment(0, 0);
- agentProxy.setLayoutData(fd);
-
- agentForceEncryption = new Button(agentGroup, SWT.CHECK);
- agentForceEncryption.setText(Messages.get().Communication_ForceEncryption);
- agentForceEncryption.setSelection((node.getFlags() & AbstractNode.NF_FORCE_ENCRYPTION) != 0);
- fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(agentPort, 0, SWT.BOTTOM);
- agentForceEncryption.setLayoutData(fd);
-
- fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
- agentAuthMethod = WidgetHelper.createLabeledCombo(agentGroup, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_AuthMethod, fd);
- agentAuthMethod.add(Messages.get().Communication_AuthNone);
- agentAuthMethod.add(Messages.get().Communication_AuthPlain);
- agentAuthMethod.add(Messages.get().Communication_AuthMD5);
- agentAuthMethod.add(Messages.get().Communication_AuthSHA1);
- agentAuthMethod.select(node.getAgentAuthMethod());
- agentAuthMethod.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e)
- {
- widgetSelected(e);
- }
-
- @Override
- public void widgetSelected(SelectionEvent e)
- {
- agentSharedSecret.getTextControl().setEnabled(agentAuthMethod.getSelectionIndex() != AbstractNode.AGENT_AUTH_NONE);
- }
- });
-
- agentSharedSecret = new LabeledText(agentGroup, SWT.NONE);
- agentSharedSecret.setLabel(Messages.get().Communication_SharedSecret);
- agentSharedSecret.setText(node.getAgentSharedSecret());
- fd = new FormData();
- fd.left = new FormAttachment(agentAuthMethod.getParent(), 0, SWT.RIGHT);
- fd.right = new FormAttachment(100, 0);
- fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
- agentSharedSecret.setLayoutData(fd);
- agentSharedSecret.getTextControl().setEnabled(node.getAgentAuthMethod() != AbstractNode.AGENT_AUTH_NONE);
-
- // SNMP
- Group snmpGroup = new Group(dialogArea, SWT.NONE);
- snmpGroup.setText(Messages.get().Communication_GroupSNMP);
- gd = new GridData();
- gd.horizontalAlignment = SWT.FILL;
- gd.grabExcessHorizontalSpace = true;
- snmpGroup.setLayoutData(gd);
-
- FormLayout snmpGroupLayout = new FormLayout();
- snmpGroupLayout.marginWidth = WidgetHelper.OUTER_SPACING;
- snmpGroupLayout.marginHeight = WidgetHelper.OUTER_SPACING;
- snmpGroupLayout.spacing = WidgetHelper.OUTER_SPACING * 2;
- snmpGroup.setLayout(snmpGroupLayout);
-
- fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(0, 0);
- snmpVersion = WidgetHelper.createLabeledCombo(snmpGroup, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Version, fd);
- snmpVersion.add("1"); //$NON-NLS-1$
- snmpVersion.add("2c"); //$NON-NLS-1$
- snmpVersion.add("3"); //$NON-NLS-1$
- snmpVersion.select(snmpVersionToIndex(node.getSnmpVersion()));
- snmpVersion.addSelectionListener(new SelectionListener() {
- @Override
- public void widgetDefaultSelected(SelectionEvent e)
- {
- widgetSelected(e);
- }
-
- @Override
- public void widgetSelected(SelectionEvent e)
- {
- onSnmpVersionChange();
- }
- });
-
- snmpPort = new LabeledText(snmpGroup, SWT.NONE);
- snmpPort.setLabel(Messages.get().Communication_UDPPort);
- snmpPort.setText(Integer.toString(node.getSnmpPort()));
-
- fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(snmpVersion.getParent(), 0, SWT.BOTTOM);
- snmpAuth = WidgetHelper.createLabeledCombo(snmpGroup, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Authentication, fd);
- snmpAuth.add(Messages.get().Communication_AuthNone);
- snmpAuth.add(Messages.get().Communication_AuthMD5);
- snmpAuth.add(Messages.get().Communication_AuthSHA1);
- snmpAuth.select(node.getSnmpAuthMethod());
- snmpAuth.setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
-
- fd = new FormData();
- fd.left = new FormAttachment(snmpAuth.getParent(), 0, SWT.RIGHT);
- fd.top = new FormAttachment(snmpVersion.getParent(), 0, SWT.BOTTOM);
- snmpPriv = WidgetHelper.createLabeledCombo(snmpGroup, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Encryption, fd);
- snmpPriv.add(Messages.get().Communication_EncNone);
- snmpPriv.add(Messages.get().Communication_EncDES);
- snmpPriv.add(Messages.get().Communication_EncAES);
- snmpPriv.select(node.getSnmpPrivMethod());
- snmpPriv.setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
-
- snmpProxy = new ObjectSelector(snmpGroup, SWT.NONE, true);
- snmpProxy.setLabel(Messages.get().Communication_Proxy);
- snmpProxy.setObjectId(node.getSnmpProxyId());
- fd = new FormData();
- fd.left = new FormAttachment(0, 0);
- fd.top = new FormAttachment(snmpAuth.getParent(), 0, SWT.BOTTOM);
- fd.right = new FormAttachment(snmpPriv.getParent(), 0, SWT.RIGHT);
- snmpProxy.setLayoutData(fd);
-
- snmpAuthName = new LabeledText(snmpGroup, SWT.NONE);
- snmpAuthName.setLabel(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3 ? Messages.get().Communication_UserName : Messages.get().Communication_Community);
- snmpAuthName.setText(node.getSnmpAuthName());
- fd = new FormData();
- fd.left = new FormAttachment(snmpProxy, 0, SWT.RIGHT);
- fd.top = new FormAttachment(0, 0);
- fd.right = new FormAttachment(100, 0);
- snmpAuthName.setLayoutData(fd);
-
- snmpAuthPassword = new LabeledText(snmpGroup, SWT.NONE);
- snmpAuthPassword.setLabel(Messages.get().Communication_AuthPassword);
- snmpAuthPassword.setText(node.getSnmpAuthPassword());
- fd = new FormData();
- fd.left = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
- fd.top = new FormAttachment(snmpAuth.getParent(), 0, SWT.TOP);
- fd.right = new FormAttachment(100, 0);
- snmpAuthPassword.setLayoutData(fd);
- snmpAuthPassword.getTextControl().setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
-
- snmpPrivPassword = new LabeledText(snmpGroup, SWT.NONE);
- snmpPrivPassword.setLabel(Messages.get().Communication_EncPassword);
- snmpPrivPassword.setText(node.getSnmpPrivPassword());
- fd = new FormData();
- fd.left = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
- fd.top = new FormAttachment(snmpProxy, 0, SWT.TOP);
- fd.right = new FormAttachment(100, 0);
- snmpPrivPassword.setLayoutData(fd);
- snmpPrivPassword.getTextControl().setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
-
- fd = new FormData();
- fd.left = new FormAttachment(snmpVersion.getParent(), 0, SWT.RIGHT);
- fd.right = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
- fd.top = new FormAttachment(0, 0);
- snmpPort.setLayoutData(fd);
-
- // SNMP
- Group icmpGroup = new Group(dialogArea, SWT.NONE);
- icmpGroup.setText(Messages.get().Communication_ICMP);
- gd = new GridData();
- gd.horizontalAlignment = SWT.FILL;
- gd.grabExcessHorizontalSpace = true;
- icmpGroup.setLayoutData(gd);
-
- GridLayout icmpGroupLayout = new GridLayout();
- icmpGroup.setLayout(icmpGroupLayout);
-
- icmpProxy = new ObjectSelector(icmpGroup, SWT.NONE, true);
- icmpProxy.setLabel(Messages.get().Communication_Proxy);
- icmpProxy.setObjectId(node.getIcmpProxyId());
- icmpProxy.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-
return dialogArea;
}
- /**
- * Convert SNMP version to index in combo box
- *
- * @param version SNMP version
- * @return index in combo box
- */
- private int snmpVersionToIndex(int version)
- {
- switch(version)
- {
- case AbstractNode.SNMP_VERSION_1:
- return 0;
- case AbstractNode.SNMP_VERSION_2C:
- return 1;
- case AbstractNode.SNMP_VERSION_3:
- return 2;
- }
- return 0;
- }
-
- /**
- * Convert selection index in SNMP version combo box to SNMP version
- */
- private int snmpIndexToVersion(int index)
- {
- final int[] versions = { AbstractNode.SNMP_VERSION_1, AbstractNode.SNMP_VERSION_2C, AbstractNode.SNMP_VERSION_3 };
- return versions[index];
- }
-
- /**
- * Handler for SNMP version change
- */
- private void onSnmpVersionChange()
- {
- boolean isV3 = (snmpVersion.getSelectionIndex() == 2);
- snmpAuthName.setLabel(isV3 ? Messages.get().Communication_UserName : Messages.get().Communication_Community);
- snmpAuth.setEnabled(isV3);
- snmpPriv.setEnabled(isV3);
- snmpAuthPassword.getTextControl().setEnabled(isV3);
- snmpPrivPassword.getTextControl().setEnabled(isV3);
- }
-
/**
* Apply changes
*
if (isApply)
setValid(false);
- try
- {
- md.setAgentPort(Integer.parseInt(agentPort.getText(), 10));
- }
- catch(NumberFormatException e)
- {
- MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidAgentPort);
- if (isApply)
- setValid(true);
- return false;
- }
- md.setAgentProxy(agentProxy.getObjectId());
- md.setAgentAuthMethod(agentAuthMethod.getSelectionIndex());
- md.setAgentSecret(agentSharedSecret.getText());
-
- md.setSnmpVersion(snmpIndexToVersion(snmpVersion.getSelectionIndex()));
- try
- {
- md.setSnmpPort(Integer.parseInt(snmpPort.getText(), 10));
- }
- catch(NumberFormatException e)
- {
- MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidSNMPPort);
- if (isApply)
- setValid(true);
- return false;
- }
- md.setSnmpProxy(snmpProxy.getObjectId());
- md.setSnmpAuthMethod(snmpAuth.getSelectionIndex());
- md.setSnmpPrivMethod(snmpPriv.getSelectionIndex());
- md.setSnmpAuthName(snmpAuthName.getText());
- md.setSnmpAuthPassword(snmpAuthPassword.getText());
- md.setSnmpPrivPassword(snmpPrivPassword.getText());
-
- md.setIcmpProxy(icmpProxy.getObjectId());
-
/* TODO: sync in some way with "Polling" page */
int flags = node.getFlags();
- if (agentForceEncryption.getSelection())
- flags |= AbstractNode.NF_FORCE_ENCRYPTION;
- else
- flags &= ~AbstractNode.NF_FORCE_ENCRYPTION;
if (agentIsRemote.getSelection())
flags |= AbstractNode.NF_REMOTE_AGENT;
else
protected void performDefaults()
{
super.performDefaults();
-
- agentPort.setText("4700"); //$NON-NLS-1$
- agentForceEncryption.setSelection(false);
- agentAuthMethod.select(0);
- agentProxy.setObjectId(0);
- agentSharedSecret.setText(""); //$NON-NLS-1$
- agentSharedSecret.getTextControl().setEnabled(false);
-
- snmpVersion.select(0);
- snmpAuth.select(0);
- snmpPriv.select(0);
- snmpAuthName.setText("public"); //$NON-NLS-1$
- snmpAuthPassword.setText(""); //$NON-NLS-1$
- snmpPrivPassword.setText(""); //$NON-NLS-1$
- snmpProxy.setObjectId(0);
- onSnmpVersionChange();
+ agentIsRemote.setSelection(false);
}
}
--- /dev/null
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2016 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.netxms.ui.eclipse.objectmanager.propertypages;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.netxms.client.NXCObjectModificationData;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.AbstractNode;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
+import org.netxms.ui.eclipse.objectmanager.Activator;
+import org.netxms.ui.eclipse.objectmanager.Messages;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+
+/**
+ * "ICMP" property page for node
+ */
+public class ICMP extends PropertyPage
+{
+ private AbstractNode node;
+ private ObjectSelector icmpProxy;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent)
+ {
+ node = (AbstractNode)getElement().getAdapter(AbstractNode.class);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout dialogLayout = new GridLayout();
+ dialogLayout.marginWidth = 0;
+ dialogLayout.marginHeight = 0;
+ dialogArea.setLayout(dialogLayout);
+
+ icmpProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ icmpProxy.setLabel(Messages.get().Communication_Proxy);
+ icmpProxy.setObjectId(node.getIcmpProxyId());
+ icmpProxy.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+
+ return dialogArea;
+ }
+
+ /**
+ * Apply changes
+ *
+ * @param isApply true if update operation caused by "Apply" button
+ */
+ protected boolean applyChanges(final boolean isApply)
+ {
+ final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
+
+ if (isApply)
+ setValid(false);
+
+ md.setIcmpProxy(icmpProxy.getObjectId());
+
+ final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+ new ConsoleJob(String.format("Updating ICMP settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
+ @Override
+ protected void runInternal(IProgressMonitor monitor) throws Exception
+ {
+ session.modifyObject(md);
+ }
+
+ @Override
+ protected String getErrorMessage()
+ {
+ return String.format("Cannot update ICMP settings for node %s", node.getObjectName());
+ }
+
+ @Override
+ protected void jobFinalize()
+ {
+ if (isApply)
+ {
+ runInUIThread(new Runnable() {
+ @Override
+ public void run()
+ {
+ ICMP.this.setValid(true);
+ }
+ });
+ }
+ }
+ }.start();
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk()
+ {
+ return applyChanges(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ @Override
+ protected void performApply()
+ {
+ applyChanges(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults()
+ {
+ super.performDefaults();
+ icmpProxy.setObjectId(0);
+ }
+}
--- /dev/null
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2016 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.netxms.ui.eclipse.objectmanager.propertypages;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.netxms.client.NXCObjectModificationData;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.AbstractNode;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
+import org.netxms.ui.eclipse.objectmanager.Activator;
+import org.netxms.ui.eclipse.objectmanager.Messages;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+import org.netxms.ui.eclipse.tools.WidgetHelper;
+import org.netxms.ui.eclipse.widgets.LabeledText;
+
+/**
+ * "SNMP" property page for node
+ */
+public class SNMP extends PropertyPage
+{
+ private AbstractNode node;
+ private Combo snmpVersion;
+ private LabeledText snmpPort;
+ private Combo snmpAuth;
+ private Combo snmpPriv;
+ private ObjectSelector snmpProxy;
+ private LabeledText snmpAuthName;
+ private LabeledText snmpAuthPassword;
+ private LabeledText snmpPrivPassword;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent)
+ {
+ node = (AbstractNode)getElement().getAdapter(AbstractNode.class);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ FormLayout dialogLayout = new FormLayout();
+ dialogLayout.marginWidth = 0;
+ dialogLayout.marginHeight = 0;
+ dialogLayout.spacing = WidgetHelper.DIALOG_SPACING;
+ dialogArea.setLayout(dialogLayout);
+
+ FormData fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(0, 0);
+ snmpVersion = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Version, fd);
+ snmpVersion.add("1"); //$NON-NLS-1$
+ snmpVersion.add("2c"); //$NON-NLS-1$
+ snmpVersion.add("3"); //$NON-NLS-1$
+ snmpVersion.select(snmpVersionToIndex(node.getSnmpVersion()));
+ snmpVersion.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e)
+ {
+ widgetSelected(e);
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ onSnmpVersionChange();
+ }
+ });
+
+ snmpPort = new LabeledText(dialogArea, SWT.NONE);
+ snmpPort.setLabel(Messages.get().Communication_UDPPort);
+ snmpPort.setText(Integer.toString(node.getSnmpPort()));
+
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(snmpVersion.getParent(), 0, SWT.BOTTOM);
+ snmpAuth = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Authentication, fd);
+ snmpAuth.add(Messages.get().Communication_AuthNone);
+ snmpAuth.add(Messages.get().Communication_AuthMD5);
+ snmpAuth.add(Messages.get().Communication_AuthSHA1);
+ snmpAuth.select(node.getSnmpAuthMethod());
+ snmpAuth.setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
+
+ fd = new FormData();
+ fd.left = new FormAttachment(snmpAuth.getParent(), 0, SWT.RIGHT);
+ fd.top = new FormAttachment(snmpVersion.getParent(), 0, SWT.BOTTOM);
+ snmpPriv = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_Encryption, fd);
+ snmpPriv.add(Messages.get().Communication_EncNone);
+ snmpPriv.add(Messages.get().Communication_EncDES);
+ snmpPriv.add(Messages.get().Communication_EncAES);
+ snmpPriv.select(node.getSnmpPrivMethod());
+ snmpPriv.setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
+
+ snmpProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ snmpProxy.setLabel(Messages.get().Communication_Proxy);
+ snmpProxy.setObjectId(node.getSnmpProxyId());
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(snmpAuth.getParent(), 0, SWT.BOTTOM);
+ fd.right = new FormAttachment(snmpPriv.getParent(), 0, SWT.RIGHT);
+ snmpProxy.setLayoutData(fd);
+
+ snmpAuthName = new LabeledText(dialogArea, SWT.NONE);
+ snmpAuthName.setLabel(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3 ? Messages.get().Communication_UserName : Messages.get().Communication_Community);
+ snmpAuthName.setText(node.getSnmpAuthName());
+ fd = new FormData();
+ fd.left = new FormAttachment(snmpProxy, 0, SWT.RIGHT);
+ fd.top = new FormAttachment(0, 0);
+ fd.right = new FormAttachment(100, 0);
+ snmpAuthName.setLayoutData(fd);
+
+ snmpAuthPassword = new LabeledText(dialogArea, SWT.NONE);
+ snmpAuthPassword.setLabel(Messages.get().Communication_AuthPassword);
+ snmpAuthPassword.setText(node.getSnmpAuthPassword());
+ fd = new FormData();
+ fd.left = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
+ fd.top = new FormAttachment(snmpAuth.getParent(), 0, SWT.TOP);
+ fd.right = new FormAttachment(100, 0);
+ snmpAuthPassword.setLayoutData(fd);
+ snmpAuthPassword.getTextControl().setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
+
+ snmpPrivPassword = new LabeledText(dialogArea, SWT.NONE);
+ snmpPrivPassword.setLabel(Messages.get().Communication_EncPassword);
+ snmpPrivPassword.setText(node.getSnmpPrivPassword());
+ fd = new FormData();
+ fd.left = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
+ fd.top = new FormAttachment(snmpProxy, 0, SWT.TOP);
+ fd.right = new FormAttachment(100, 0);
+ snmpPrivPassword.setLayoutData(fd);
+ snmpPrivPassword.getTextControl().setEnabled(node.getSnmpVersion() == AbstractNode.SNMP_VERSION_3);
+
+ fd = new FormData();
+ fd.left = new FormAttachment(snmpVersion.getParent(), 0, SWT.RIGHT);
+ fd.right = new FormAttachment(snmpAuthName, 0, SWT.LEFT);
+ fd.top = new FormAttachment(0, 0);
+ snmpPort.setLayoutData(fd);
+
+ return dialogArea;
+ }
+
+ /**
+ * Convert SNMP version to index in combo box
+ *
+ * @param version SNMP version
+ * @return index in combo box
+ */
+ private int snmpVersionToIndex(int version)
+ {
+ switch(version)
+ {
+ case AbstractNode.SNMP_VERSION_1:
+ return 0;
+ case AbstractNode.SNMP_VERSION_2C:
+ return 1;
+ case AbstractNode.SNMP_VERSION_3:
+ return 2;
+ }
+ return 0;
+ }
+
+ /**
+ * Convert selection index in SNMP version combo box to SNMP version
+ */
+ private int snmpIndexToVersion(int index)
+ {
+ final int[] versions = { AbstractNode.SNMP_VERSION_1, AbstractNode.SNMP_VERSION_2C, AbstractNode.SNMP_VERSION_3 };
+ return versions[index];
+ }
+
+ /**
+ * Handler for SNMP version change
+ */
+ private void onSnmpVersionChange()
+ {
+ boolean isV3 = (snmpVersion.getSelectionIndex() == 2);
+ snmpAuthName.setLabel(isV3 ? Messages.get().Communication_UserName : Messages.get().Communication_Community);
+ snmpAuth.setEnabled(isV3);
+ snmpPriv.setEnabled(isV3);
+ snmpAuthPassword.getTextControl().setEnabled(isV3);
+ snmpPrivPassword.getTextControl().setEnabled(isV3);
+ }
+
+ /**
+ * Apply changes
+ *
+ * @param isApply true if update operation caused by "Apply" button
+ */
+ protected boolean applyChanges(final boolean isApply)
+ {
+ final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
+
+ if (isApply)
+ setValid(false);
+
+ md.setSnmpVersion(snmpIndexToVersion(snmpVersion.getSelectionIndex()));
+ try
+ {
+ md.setSnmpPort(Integer.parseInt(snmpPort.getText(), 10));
+ }
+ catch(NumberFormatException e)
+ {
+ MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidSNMPPort);
+ if (isApply)
+ setValid(true);
+ return false;
+ }
+ md.setSnmpProxy(snmpProxy.getObjectId());
+ md.setSnmpAuthMethod(snmpAuth.getSelectionIndex());
+ md.setSnmpPrivMethod(snmpPriv.getSelectionIndex());
+ md.setSnmpAuthName(snmpAuthName.getText());
+ md.setSnmpAuthPassword(snmpAuthPassword.getText());
+ md.setSnmpPrivPassword(snmpPrivPassword.getText());
+
+ final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+ new ConsoleJob(String.format("Updating SNMP settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
+ @Override
+ protected void runInternal(IProgressMonitor monitor) throws Exception
+ {
+ session.modifyObject(md);
+ }
+
+ @Override
+ protected String getErrorMessage()
+ {
+ return String.format("Cannot update SNMP settings for node %s", node.getObjectName());
+ }
+
+ @Override
+ protected void jobFinalize()
+ {
+ if (isApply)
+ {
+ runInUIThread(new Runnable() {
+ @Override
+ public void run()
+ {
+ SNMP.this.setValid(true);
+ }
+ });
+ }
+ }
+ }.start();
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk()
+ {
+ return applyChanges(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ @Override
+ protected void performApply()
+ {
+ applyChanges(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults()
+ {
+ super.performDefaults();
+
+ snmpVersion.select(0);
+ snmpAuth.select(0);
+ snmpPriv.select(0);
+ snmpAuthName.setText("public"); //$NON-NLS-1$
+ snmpAuthPassword.setText(""); //$NON-NLS-1$
+ snmpPrivPassword.setText(""); //$NON-NLS-1$
+ snmpProxy.setObjectId(0);
+ onSnmpVersionChange();
+ }
+}
--- /dev/null
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2016 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.netxms.ui.eclipse.objectmanager.propertypages;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.netxms.client.NXCObjectModificationData;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.AbstractNode;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
+import org.netxms.ui.eclipse.objectmanager.Activator;
+import org.netxms.ui.eclipse.objectmanager.Messages;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+import org.netxms.ui.eclipse.widgets.LabeledText;
+
+/**
+ * "SSH" property page for node
+ */
+public class SSH extends PropertyPage
+{
+ private AbstractNode node;
+ private ObjectSelector sshProxy;
+ private LabeledText sshLogin;
+ private LabeledText sshPassword;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent)
+ {
+ node = (AbstractNode)getElement().getAdapter(AbstractNode.class);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ GridLayout dialogLayout = new GridLayout();
+ dialogLayout.marginWidth = 0;
+ dialogLayout.marginHeight = 0;
+ dialogLayout.numColumns = 2;
+ dialogLayout.makeColumnsEqualWidth = true;
+ dialogArea.setLayout(dialogLayout);
+
+ sshLogin = new LabeledText(dialogArea, SWT.NONE);
+ sshLogin.setLabel("Login");
+ sshLogin.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ sshLogin.setText(node.getSshLogin());
+
+ sshPassword = new LabeledText(dialogArea, SWT.NONE);
+ sshPassword.setLabel("Password");
+ sshPassword.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+ sshPassword.setText(node.getSshPassword());
+
+ sshProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ sshProxy.setLabel(Messages.get().Communication_Proxy);
+ sshProxy.setEmptySelectionName("<default>");
+ sshProxy.setObjectId(node.getSshProxyId());
+ sshProxy.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
+
+ return dialogArea;
+ }
+
+ /**
+ * Apply changes
+ *
+ * @param isApply true if update operation caused by "Apply" button
+ */
+ protected boolean applyChanges(final boolean isApply)
+ {
+ final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
+
+ if (isApply)
+ setValid(false);
+
+ md.setSshProxy(sshProxy.getObjectId());
+ md.setSshLogin(sshLogin.getText().trim());
+ md.setSshPassword(sshPassword.getText());
+
+ final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+ new ConsoleJob(String.format("Updating SSH settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
+ @Override
+ protected void runInternal(IProgressMonitor monitor) throws Exception
+ {
+ session.modifyObject(md);
+ }
+
+ @Override
+ protected String getErrorMessage()
+ {
+ return String.format("Cannot update SSH settings for node %s", node.getObjectName());
+ }
+
+ @Override
+ protected void jobFinalize()
+ {
+ if (isApply)
+ {
+ runInUIThread(new Runnable() {
+ @Override
+ public void run()
+ {
+ SSH.this.setValid(true);
+ }
+ });
+ }
+ }
+ }.start();
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk()
+ {
+ return applyChanges(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ @Override
+ protected void performApply()
+ {
+ applyChanges(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults()
+ {
+ super.performDefaults();
+ sshProxy.setObjectId(0);
+ sshLogin.setText("netxms");
+ sshPassword.setText("");
+ }
+}
private ObjectSelector agentProxy;
private ObjectSelector snmpProxy;
private ObjectSelector icmpProxy;
+ private ObjectSelector sshProxy;
/* (non-Javadoc)
* @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
gd.grabExcessHorizontalSpace = true;
icmpProxy.setLayoutData(gd);
+ sshProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ sshProxy.setLabel(Messages.get().ZoneCommunications_DefaultSSHProxy);
+ sshProxy.setObjectId(zone.getSshProxy());
+ gd = new GridData();
+ gd.horizontalAlignment = SWT.FILL;
+ gd.grabExcessHorizontalSpace = true;
+ sshProxy.setLayoutData(gd);
+
return dialogArea;
}
md.setAgentProxy(agentProxy.getObjectId());
md.setSnmpProxy(snmpProxy.getObjectId());
md.setIcmpProxy(icmpProxy.getObjectId());
+ md.setSshProxy(sshProxy.getObjectId());
final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
new ConsoleJob(String.format(Messages.get().ZoneCommunications_JobName, zone.getObjectName()), null, Activator.PLUGIN_ID, null) {
*error = DCE_NOT_SUPPORTED;
}
break;
+ case DS_SSH:
+ if (dcTarget->getObjectClass() == OBJECT_NODE)
+ {
+ UINT32 proxyId = ((Node *)dcTarget)->getSshProxy();
+ if (proxyId == 0)
+ {
+ if (IsZoningEnabled())
+ {
+ Zone *zone = (Zone *)FindZoneByGUID(((Node *)dcTarget)->getZoneId());
+ if ((zone != NULL) && (zone->getSshProxy() != 0))
+ proxyId = zone->getSshProxy();
+ else
+ proxyId = g_dwMgmtNode;
+ }
+ else
+ {
+ proxyId = g_dwMgmtNode;
+ }
+ }
+ Node *proxy = (Node *)FindObjectById(proxyId, OBJECT_NODE);
+ if (proxy != NULL)
+ {
+ TCHAR name[MAX_PARAM_NAME], ipAddr[64];
+ _sntprintf(name, MAX_PARAM_NAME, _T("SSH.Command(%s,\"%s\",\"%s\",\"%s\")"),
+ ((Node *)dcTarget)->getIpAddress().toString(ipAddr),
+ (const TCHAR *)EscapeStringForAgent(((Node *)dcTarget)->getSshLogin()),
+ (const TCHAR *)EscapeStringForAgent(((Node *)dcTarget)->getSshPassword()),
+ (const TCHAR *)EscapeStringForAgent(pItem->getName()));
+ *error = proxy->getItemFromAgent(name, MAX_LINE_SIZE, pBuffer);
+ }
+ else
+ {
+ *error = DCE_COMM_ERROR;
+ }
+ }
+ else
+ {
+ *error = DCE_NOT_SUPPORTED;
+ }
+ break;
case DS_SMCLP:
if (dcTarget->getObjectClass() == OBJECT_NODE)
{
m_chassisId = 0;
m_syslogMessageCount = 0;
m_snmpTrapCount = 0;
+ m_sshLogin[0] = 0;
+ m_sshPassword[0] = 0;
+ m_sshProxy = 0;
}
/**
m_chassisId = 0;
m_syslogMessageCount = 0;
m_snmpTrapCount = 0;
+ m_sshLogin[0] = 0;
+ m_sshPassword[0] = 0;
+ m_sshProxy = 0;
}
/**
_T("agent_cache_mode,snmp_sys_contact,snmp_sys_location,")
_T("rack_id,rack_image,rack_position,rack_height,")
_T("last_agent_comm_time,syslog_msg_count,snmp_trap_count,")
- _T("node_type,node_subtype FROM nodes WHERE id=?"));
+ _T("node_type,node_subtype,ssh_login,ssh_password,ssh_proxy FROM nodes WHERE id=?"));
if (hStmt == NULL)
return false;
m_snmpTrapCount = DBGetFieldInt64(hResult, 0, 39);
m_type = (NodeType)DBGetFieldLong(hResult, 0, 40);
DBGetField(hResult, 0, 41, m_subType, MAX_NODE_SUBTYPE_LENGTH);
+ DBGetField(hResult, 0, 42, m_sshLogin, MAX_OBJECT_NAME);
+ DBGetField(hResult, 0, 43, m_sshPassword, MAX_PASSWORD);
+ m_sshProxy = DBGetFieldULong(hResult, 0, 44);
DBFreeResult(hResult);
DBFreeStatement(hStmt);
_T("use_ifxtable=?,usm_auth_password=?,usm_priv_password=?,usm_methods=?,snmp_sys_name=?,bridge_base_addr=?,")
_T("runtime_flags=?,down_since=?,driver_name=?,rack_image=?,rack_position=?,rack_height=?,rack_id=?,boot_time=?,")
_T("agent_cache_mode=?,snmp_sys_contact=?,snmp_sys_location=?,last_agent_comm_time=?,")
- _T("syslog_msg_count=?,snmp_trap_count=?,node_type=?,node_subtype=? WHERE id=?"));
+ _T("syslog_msg_count=?,snmp_trap_count=?,node_type=?,node_subtype=?,ssh_login=?,ssh_password=?,ssh_proxy=? WHERE id=?"));
}
else
{
_T("proxy_node,snmp_proxy,icmp_proxy,required_polls,use_ifxtable,usm_auth_password,usm_priv_password,usm_methods,")
_T("snmp_sys_name,bridge_base_addr,runtime_flags,down_since,driver_name,rack_image,rack_position,rack_height,rack_id,boot_time,")
_T("agent_cache_mode,snmp_sys_contact,snmp_sys_location,last_agent_comm_time,syslog_msg_count,snmp_trap_count,")
- _T("node_type,node_subtype,id) ")
- _T("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"));
+ _T("node_type,node_subtype,,ssh_login,ssh_password,ssh_proxy,id) ")
+ _T("VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"));
}
if (hStmt == NULL)
{
DBBind(hStmt, 40, DB_SQLTYPE_BIGINT, m_snmpTrapCount);
DBBind(hStmt, 41, DB_SQLTYPE_INTEGER, (INT32)m_type);
DBBind(hStmt, 42, DB_SQLTYPE_VARCHAR, m_subType, DB_BIND_STATIC);
- DBBind(hStmt, 43, DB_SQLTYPE_INTEGER, m_id);
+ DBBind(hStmt, 43, DB_SQLTYPE_VARCHAR, m_sshLogin, DB_BIND_STATIC);
+ DBBind(hStmt, 44, DB_SQLTYPE_VARCHAR, m_sshPassword, DB_BIND_STATIC);
+ DBBind(hStmt, 45, DB_SQLTYPE_INTEGER, m_sshProxy);
+ DBBind(hStmt, 46, DB_SQLTYPE_INTEGER, m_id);
BOOL bResult = DBExecute(hStmt);
DBFreeStatement(hStmt);
pMsg->setField(VID_RACK_IMAGE, m_rackImage);
pMsg->setField(VID_RACK_POSITION, m_rackPosition);
pMsg->setField(VID_RACK_HEIGHT, m_rackHeight);
+ pMsg->setField(VID_SSH_PROXY, m_sshProxy);
+ pMsg->setField(VID_SSH_LOGIN, m_sshLogin);
+ pMsg->setField(VID_SSH_PASSWORD, m_sshPassword);
}
/**
updatePhysicalContainerBinding(OBJECT_CHASSIS, m_chassisId);
}
+ if (pRequest->isFieldExist(VID_SSH_PROXY))
+ m_sshProxy = pRequest->getFieldAsUInt32(VID_SSH_PROXY);
+
+ if (pRequest->isFieldExist(VID_SSH_LOGIN))
+ pRequest->getFieldAsString(VID_SSH_LOGIN, m_sshLogin, MAX_SSH_LOGIN_LEN);
+
+ if (pRequest->isFieldExist(VID_SSH_PASSWORD))
+ pRequest->getFieldAsString(VID_SSH_PASSWORD, m_sshPassword, MAX_SSH_PASSWORD_LEN);
+
return DataCollectionTarget::modifyFromMessageInternal(pRequest);
}
m_agentProxy = 0;
m_snmpProxy = 0;
m_icmpProxy = 0;
+ m_sshProxy = 0;
m_idxNodeByAddr = new InetAddressIndex;
m_idxInterfaceByAddr = new InetAddressIndex;
m_idxSubnetByAddr = new InetAddressIndex;
m_agentProxy = 0;
m_snmpProxy = 0;
m_icmpProxy = 0;
+ m_sshProxy = 0;
m_idxNodeByAddr = new InetAddressIndex;
m_idxInterfaceByAddr = new InetAddressIndex;
m_idxSubnetByAddr = new InetAddressIndex;
return false;
TCHAR szQuery[256];
- _sntprintf(szQuery, 256, _T("SELECT zone_guid,agent_proxy,snmp_proxy,icmp_proxy FROM zones WHERE id=%d"), dwId);
+ _sntprintf(szQuery, 256, _T("SELECT zone_guid,agent_proxy,snmp_proxy,icmp_proxy,ssh_proxy FROM zones WHERE id=%d"), dwId);
DB_RESULT hResult = DBSelect(hdb, szQuery);
if (hResult == NULL)
return false; // Query failed
m_agentProxy = DBGetFieldULong(hResult, 0, 1);
m_snmpProxy = DBGetFieldULong(hResult, 0, 2);
m_icmpProxy = DBGetFieldULong(hResult, 0, 3);
+ m_sshProxy = DBGetFieldULong(hResult, 0, 4);
DBFreeResult(hResult);
*/
BOOL Zone::saveToDatabase(DB_HANDLE hdb)
{
- BOOL bNewObject = TRUE;
- TCHAR szQuery[8192];
- DB_RESULT hResult;
-
lockProperties();
- saveCommonProperties(hdb);
-
- // Check for object's existence in database
- _sntprintf(szQuery, 8192, _T("SELECT id FROM zones WHERE id=%d"), m_id);
- hResult = DBSelect(hdb, szQuery);
- if (hResult != 0)
+ bool success = saveCommonProperties(hdb);
+ if (success)
{
- if (DBGetNumRows(hResult) > 0)
- bNewObject = FALSE;
- DBFreeResult(hResult);
- }
-
- // Form and execute INSERT or UPDATE query
- if (bNewObject)
- _sntprintf(szQuery, 8192, _T("INSERT INTO zones (id,zone_guid,agent_proxy,snmp_proxy,icmp_proxy)")
- _T(" VALUES (%d,%d,%d,%d,%d)"),
- m_id, m_zoneId, m_agentProxy, m_snmpProxy, m_icmpProxy);
- else
- _sntprintf(szQuery, 8192, _T("UPDATE zones SET zone_guid=%d,agent_proxy=%d,")
- _T("snmp_proxy=%d,icmp_proxy=%d WHERE id=%d"),
- m_zoneId, m_agentProxy, m_snmpProxy, m_icmpProxy, m_id);
- DBQuery(hdb, szQuery);
-
- saveACLToDB(hdb);
+ DB_STATEMENT hStmt;
+ if (IsDatabaseRecordExist(hdb, _T("zones"), _T("id"), m_id))
+ {
+ hStmt = DBPrepare(hdb, _T("UPDATE zones SET zone_guid=?,agent_proxy=?,snmp_proxy=?,icmp_proxy=?,ssh_proxy=? WHERE id=?"));
+ }
+ else
+ {
+ hStmt = DBPrepare(hdb, _T("INSERT INTO zones (zone_guid,agent_proxy,snmp_proxy,icmp_proxy,ssh_proxy,id) VALUES (?,?,?,?,?,?)"));
+ }
+ if (hStmt != NULL)
+ {
+ DBBind(hStmt, 1, DB_SQLTYPE_INTEGER, m_zoneId);
+ DBBind(hStmt, 2, DB_SQLTYPE_INTEGER, m_agentProxy);
+ DBBind(hStmt, 3, DB_SQLTYPE_INTEGER, m_snmpProxy);
+ DBBind(hStmt, 4, DB_SQLTYPE_INTEGER, m_icmpProxy);
+ DBBind(hStmt, 5, DB_SQLTYPE_INTEGER, m_sshProxy);
+ DBBind(hStmt, 6, DB_SQLTYPE_INTEGER, m_id);
+ success = DBExecute(hStmt);
+ DBFreeStatement(hStmt);
+ }
+ else
+ {
+ success = false;
+ }
+ if (success)
+ success = saveACLToDB(hdb);
+ }
// Unlock object and clear modification flag
m_isModified = false;
unlockProperties();
- return TRUE;
+ return success;
}
/**
/**
* Create NXCP message with object's data
*/
-void Zone::fillMessageInternal(NXCPMessage *pMsg)
+void Zone::fillMessageInternal(NXCPMessage *msg)
{
- NetObj::fillMessageInternal(pMsg);
- pMsg->setField(VID_ZONE_ID, m_zoneId);
- pMsg->setField(VID_AGENT_PROXY, m_agentProxy);
- pMsg->setField(VID_SNMP_PROXY, m_snmpProxy);
- pMsg->setField(VID_ICMP_PROXY, m_icmpProxy);
+ NetObj::fillMessageInternal(msg);
+ msg->setField(VID_ZONE_ID, m_zoneId);
+ msg->setField(VID_AGENT_PROXY, m_agentProxy);
+ msg->setField(VID_SNMP_PROXY, m_snmpProxy);
+ msg->setField(VID_ICMP_PROXY, m_icmpProxy);
+ msg->setField(VID_SSH_PROXY, m_sshProxy);
}
/**
* Modify object from message
*/
-UINT32 Zone::modifyFromMessageInternal(NXCPMessage *pRequest)
+UINT32 Zone::modifyFromMessageInternal(NXCPMessage *request)
{
- if (pRequest->isFieldExist(VID_AGENT_PROXY))
- m_agentProxy = pRequest->getFieldAsUInt32(VID_AGENT_PROXY);
+ if (request->isFieldExist(VID_AGENT_PROXY))
+ m_agentProxy = request->getFieldAsUInt32(VID_AGENT_PROXY);
+
+ if (request->isFieldExist(VID_SNMP_PROXY))
+ m_snmpProxy = request->getFieldAsUInt32(VID_SNMP_PROXY);
- if (pRequest->isFieldExist(VID_SNMP_PROXY))
- m_snmpProxy = pRequest->getFieldAsUInt32(VID_SNMP_PROXY);
+ if (request->isFieldExist(VID_ICMP_PROXY))
+ m_icmpProxy = request->getFieldAsUInt32(VID_ICMP_PROXY);
- if (pRequest->isFieldExist(VID_ICMP_PROXY))
- m_icmpProxy = pRequest->getFieldAsUInt32(VID_ICMP_PROXY);
+ if (request->isFieldExist(VID_SSH_PROXY))
+ m_sshProxy = request->getFieldAsUInt32(VID_SSH_PROXY);
- return NetObj::modifyFromMessageInternal(pRequest);
+ return NetObj::modifyFromMessageInternal(request);
}
/**
UINT32 m_chassisId;
INT64 m_syslogMessageCount;
INT64 m_snmpTrapCount;
+ TCHAR m_sshLogin[MAX_SSH_LOGIN_LEN];
+ TCHAR m_sshPassword[MAX_SSH_PASSWORD_LEN];
+ UINT32 m_sshProxy;
void pollerLock() { MutexLock(m_hPollerMutex); }
void pollerUnlock() { MutexUnlock(m_hPollerMutex); }
INT16 getRackPosition() const { return m_rackPosition; }
bool hasFileUpdateConnection() const { lockProperties(); bool result = (m_fileUpdateConn != NULL); unlockProperties(); return result; }
UINT32 getIcmpProxy() const { return m_icmpProxy; }
+ const TCHAR *getSshLogin() const { return m_sshLogin; }
+ const TCHAR *getSshPassword() const { return m_sshPassword; }
+ UINT32 getSshProxy() const { return m_sshProxy; }
bool isDown() { return (m_dwDynamicFlags & NDF_UNREACHABLE) ? true : false; }
time_t getDownTime() const { return m_downSince; }
UINT32 m_agentProxy;
UINT32 m_snmpProxy;
UINT32 m_icmpProxy;
+ UINT32 m_sshProxy;
InetAddressIndex *m_idxNodeByAddr;
InetAddressIndex *m_idxInterfaceByAddr;
InetAddressIndex *m_idxSubnetByAddr;
- virtual void fillMessageInternal(NXCPMessage *pMsg);
- virtual UINT32 modifyFromMessageInternal(NXCPMessage *pRequest);
+ virtual void fillMessageInternal(NXCPMessage *msg);
+ virtual UINT32 modifyFromMessageInternal(NXCPMessage *request);
public:
Zone();
virtual NXSL_Value *createNXSLObject();
- UINT32 getZoneId() { return m_zoneId; }
- UINT32 getAgentProxy() { return m_agentProxy; }
- UINT32 getSnmpProxy() { return m_snmpProxy; }
- UINT32 getIcmpProxy() { return m_icmpProxy; }
+ UINT32 getZoneId() const { return m_zoneId; }
+ UINT32 getAgentProxy() const { return m_agentProxy; }
+ UINT32 getSnmpProxy() const { return m_snmpProxy; }
+ UINT32 getIcmpProxy() const { return m_icmpProxy; }
+ UINT32 getSshProxy() const { return m_sshProxy; }
void addSubnet(Subnet *pSubnet) { addChild(pSubnet); pSubnet->addParent(this); }
}
/**
- * Set column nullable (currently only Oracle and PostgreSQL)
+ * Remove NOT NULL constraint from column
*/
-static BOOL SetColumnNullable(const TCHAR *table, const TCHAR *column)
+static bool RemoveNotNullConstraint(const TCHAR *table, const TCHAR *column)
{
TCHAR query[1024] = _T("");
break;
}
- return (query[0] != 0) ? SQLQuery(query) : TRUE;
+ return (query[0] != 0) ? SQLQuery(query) : true;
+}
+
+/**
+ * Set NOT NULL constraint on column
+ */
+static bool SetNotNullConstraint(const TCHAR *table, const TCHAR *column)
+{
+ TCHAR query[1024] = _T("");
+
+ switch(g_dbSyntax)
+ {
+ case DB_SYNTAX_ORACLE:
+ _sntprintf(query, 1024, _T("DECLARE already_not_null EXCEPTION; ")
+ _T("PRAGMA EXCEPTION_INIT(already_not_null, -1442); ")
+ _T("BEGIN EXECUTE IMMEDIATE 'ALTER TABLE %s MODIFY %s NOT NULL'; ")
+ _T("EXCEPTION WHEN already_not_null THEN null; END;"), table, column);
+ break;
+ case DB_SYNTAX_PGSQL:
+ _sntprintf(query, 1024, _T("ALTER TABLE %s ALTER COLUMN %s SET NOT NULL"), table, column);
+ break;
+ default:
+ break;
+ }
+
+ return (query[0] != 0) ? SQLQuery(query) : true;
}
/**
return SQLQuery(query);
}
+/**
+ * Upgrade from V409 to V410
+ */
+static BOOL H_UpgradeFromV409(int currVersion, int newVersion)
+{
+ static const TCHAR *batch =
+ _T("ALTER TABLE zones ADD ssh_proxy integer\n")
+ _T("UPDATE zones SET ssh_proxy=0\n")
+ _T("ALTER TABLE nodes ADD ssh_login varchar(63)\n")
+ _T("ALTER TABLE nodes ADD ssh_password varchar(63)\n")
+ _T("ALTER TABLE nodes ADD ssh_proxy integer\n")
+ _T("UPDATE nodes SET ssh_proxy=0\n")
+ _T("<END>");
+ CHK_EXEC(SQLBatch(batch));
+
+ CHK_EXEC(SetNotNullConstraint(_T("nodes"), _T("ssh_proxy")));
+ CHK_EXEC(SetNotNullConstraint(_T("zones"), _T("ssh_proxy")));
+
+ CHK_EXEC(SetSchemaVersion(410));
+ return TRUE;
+}
+
/**
* Upgrade from V408 to V409
*/
_T("<END>");
CHK_EXEC(SQLBatch(batch));
+ CHK_EXEC(SetNotNullConstraint(_T("nodes"), _T("node_type")));
+
CHK_EXEC(SetSchemaVersion(409));
return TRUE;
}
_T("<END>");
CHK_EXEC(SQLBatch(batch));
+ CHK_EXEC(SetNotNullConstraint(_T("nodes"), _T("chassis_id")));
+
CHK_EXEC(SetSchemaVersion(408));
return TRUE;
}
*/
static BOOL H_UpgradeFromV333(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("user_groups"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("user_groups"), _T("description")));
CHK_EXEC(SetSchemaVersion(334));
return TRUE;
}
*/
static BOOL H_UpgradeFromV312(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("object_tools"), _T("tool_name")));
- CHK_EXEC(SetColumnNullable(_T("object_tools"), _T("tool_data")));
- CHK_EXEC(SetColumnNullable(_T("object_tools"), _T("description")));
- CHK_EXEC(SetColumnNullable(_T("object_tools"), _T("confirmation_text")));
- CHK_EXEC(SetColumnNullable(_T("object_tools"), _T("matching_oid")));
- CHK_EXEC(SetColumnNullable(_T("object_tools_table_columns"), _T("col_name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools"), _T("tool_name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools"), _T("tool_data")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools"), _T("confirmation_text")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools"), _T("matching_oid")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_tools_table_columns"), _T("col_name")));
CHK_EXEC(ConvertStrings(_T("object_tools"), _T("tool_id"), _T("tool_name")));
CHK_EXEC(ConvertStrings(_T("object_tools"), _T("tool_id"), _T("tool_data")));
CHK_EXEC(ConvertStrings(_T("object_tools"), _T("tool_id"), _T("description")));
*/
static BOOL H_UpgradeFromV306(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("config_clob"), _T("var_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("config_clob"), _T("var_value")));
CHK_EXEC(ConvertStrings(_T("config_clob"), _T("var_name"), NULL, _T("var_value"), true));
CHK_EXEC(SetSchemaVersion(307));
return TRUE;
CHK_EXEC(CreateConfigParam(_T("XMPPServer"), _T("localhost"), 1, 1));
CHK_EXEC(CreateConfigParam(_T("XMPPPort"), _T("5222"), 1, 1));
- SetColumnNullable(_T("users"), _T("full_name"));
- SetColumnNullable(_T("users"), _T("description"));
- SetColumnNullable(_T("users"), _T("cert_mapping_data"));
- SetColumnNullable(_T("user_groups"), _T("description"));
- SetColumnNullable(_T("userdb_custom_attributes"), _T("attr_value"));
+ RemoveNotNullConstraint(_T("users"), _T("full_name"));
+ RemoveNotNullConstraint(_T("users"), _T("description"));
+ RemoveNotNullConstraint(_T("users"), _T("cert_mapping_data"));
+ RemoveNotNullConstraint(_T("user_groups"), _T("description"));
+ RemoveNotNullConstraint(_T("userdb_custom_attributes"), _T("attr_value"));
ConvertStrings(_T("users"), _T("id"), _T("full_name"));
ConvertStrings(_T("users"), _T("id"), _T("description"));
CHK_EXEC(ResizeColumn(_T("items"), _T("name"), 1024, true));
CHK_EXEC(ResizeColumn(_T("dc_tables"), _T("name"), 1024, true));
- CHK_EXEC(SetColumnNullable(_T("event_policy"), _T("alarm_key")));
- CHK_EXEC(SetColumnNullable(_T("event_policy"), _T("alarm_message")));
- CHK_EXEC(SetColumnNullable(_T("event_policy"), _T("comments")));
- CHK_EXEC(SetColumnNullable(_T("event_policy"), _T("situation_instance")));
- CHK_EXEC(SetColumnNullable(_T("event_policy"), _T("script")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_policy"), _T("alarm_key")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_policy"), _T("alarm_message")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_policy"), _T("comments")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_policy"), _T("situation_instance")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_policy"), _T("script")));
CHK_EXEC(ConvertStrings(_T("event_policy"), _T("rule_id"), _T("alarm_key")));
CHK_EXEC(ConvertStrings(_T("event_policy"), _T("rule_id"), _T("alarm_message")));
CHK_EXEC(ConvertStrings(_T("event_policy"), _T("rule_id"), _T("comments")));
CHK_EXEC(ConvertStrings(_T("event_policy"), _T("rule_id"), _T("situation_instance")));
CHK_EXEC(ConvertStrings(_T("event_policy"), _T("rule_id"), _T("script")));
- CHK_EXEC(SetColumnNullable(_T("policy_situation_attr_list"), _T("attr_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("policy_situation_attr_list"), _T("attr_value")));
// convert strings in policy_situation_attr_list
DB_RESULT hResult = SQLSelect(_T("SELECT rule_id,situation_id,attr_name,attr_value FROM policy_situation_attr_list"));
if (hResult != NULL)
return FALSE;
}
- CHK_EXEC(SetColumnNullable(_T("event_cfg"), _T("description")));
- CHK_EXEC(SetColumnNullable(_T("event_cfg"), _T("message")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_cfg"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("event_cfg"), _T("message")));
CHK_EXEC(ConvertStrings(_T("event_cfg"), _T("event_code"), _T("description")));
CHK_EXEC(ConvertStrings(_T("event_cfg"), _T("event_code"), _T("message")));
*/
static BOOL H_UpgradeFromV267(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("network_services"), _T("check_request")));
- CHK_EXEC(SetColumnNullable(_T("network_services"), _T("check_responce")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("network_services"), _T("check_request")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("network_services"), _T("check_responce")));
CHK_EXEC(ConvertStrings(_T("network_services"), _T("id"), _T("check_request")));
CHK_EXEC(ConvertStrings(_T("network_services"), _T("id"), _T("check_responce")));
- CHK_EXEC(SetColumnNullable(_T("config"), _T("var_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("config"), _T("var_value")));
CHK_EXEC(ConvertStrings(_T("config"), _T("var_name"), NULL, _T("var_value"), true));
- CHK_EXEC(SetColumnNullable(_T("dci_schedules"), _T("schedule")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("dci_schedules"), _T("schedule")));
CHK_EXEC(ConvertStrings(_T("dci_schedules"), _T("schedule_id"), _T("item_id"), _T("schedule"), false));
CHK_EXEC(SetSchemaVersion(268));
// have to made these columns nullable again because
// because they was forgotten as NOT NULL in schema.in
// and so some databases can still have them as NOT NULL
- CHK_EXEC(SetColumnNullable(_T("templates"), _T("apply_filter")));
- CHK_EXEC(SetColumnNullable(_T("containers"), _T("auto_bind_filter")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("templates"), _T("apply_filter")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("containers"), _T("auto_bind_filter")));
CHK_EXEC(SetSchemaVersion(259));
return TRUE;
*/
static BOOL H_UpgradeFromV252(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("templates"), _T("apply_filter")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("templates"), _T("apply_filter")));
CHK_EXEC(ConvertStrings(_T("templates"), _T("id"), _T("apply_filter")));
- CHK_EXEC(SetColumnNullable(_T("containers"), _T("auto_bind_filter")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("containers"), _T("auto_bind_filter")));
CHK_EXEC(ConvertStrings(_T("containers"), _T("id"), _T("auto_bind_filter")));
static TCHAR batch[] =
CHK_EXEC(SQLBatch(batch));
- CHK_EXEC(SetColumnNullable(_T("thresholds"), _T("fire_value")));
- CHK_EXEC(SetColumnNullable(_T("thresholds"), _T("rearm_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("thresholds"), _T("fire_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("thresholds"), _T("rearm_value")));
CHK_EXEC(ConvertStrings(_T("thresholds"), _T("threshold_id"), _T("fire_value")));
CHK_EXEC(ConvertStrings(_T("thresholds"), _T("threshold_id"), _T("rearm_value")));
{
static TCHAR insertQuery[] = _T("INSERT INTO object_custom_attributes (object_id,attr_name,attr_value) VALUES (?,?,?)");
- CHK_EXEC(SetColumnNullable(_T("object_custom_attributes"), _T("attr_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("object_custom_attributes"), _T("attr_value")));
// Convert strings in object_custom_attributes table
DB_RESULT hResult = SQLSelect(_T("SELECT object_id,attr_name,attr_value FROM object_custom_attributes"));
CHK_EXEC(SQLBatch(batch));
- CHK_EXEC(SetColumnNullable(_T("snmp_trap_pmap"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("snmp_trap_pmap"), _T("description")));
CHK_EXEC(ConvertStrings(_T("snmp_trap_pmap"), _T("trap_id"), _T("parameter"), _T("description"), false));
- CHK_EXEC(SetColumnNullable(_T("cluster_resources"), _T("resource_name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("cluster_resources"), _T("resource_name")));
CHK_EXEC(ConvertStrings(_T("cluster_resources"), _T("cluster_id"), _T("resource_id"), _T("resource_name"), false));
CHK_EXEC(SetSchemaVersion(246));
CHK_EXEC(SQLBatch(batch));
- CHK_EXEC(SetColumnNullable(_T("actions"), _T("rcpt_addr")));
- CHK_EXEC(SetColumnNullable(_T("actions"), _T("email_subject")));
- CHK_EXEC(SetColumnNullable(_T("actions"), _T("action_data")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("actions"), _T("rcpt_addr")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("actions"), _T("email_subject")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("actions"), _T("action_data")));
CHK_EXEC(ConvertStrings(_T("actions"), _T("action_id"), _T("rcpt_addr")));
CHK_EXEC(ConvertStrings(_T("actions"), _T("action_id"), _T("email_subject")));
*/
static BOOL H_UpgradeFromV217(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("snmp_communities"), _T("community")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("snmp_communities"), _T("community")));
CHK_EXEC(ConvertStrings(_T("snmp_communities"), _T("id"), _T("community")));
CHK_EXEC(SetSchemaVersion(218));
CHK_EXEC(SQLBatch(batch));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("community")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("community")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("community")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("usm_auth_password")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("usm_auth_password")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("usm_auth_password")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("usm_priv_password")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("usm_priv_password")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("usm_priv_password")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("snmp_oid")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("snmp_oid")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("snmp_oid")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("secret")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("secret")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("secret")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("agent_version")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("agent_version")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("agent_version")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("platform_name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("platform_name")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("platform_name")));
- CHK_EXEC(SetColumnNullable(_T("nodes"), _T("uname")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("nodes"), _T("uname")));
CHK_EXEC(ConvertStrings(_T("nodes"), _T("id"), _T("uname")));
- CHK_EXEC(SetColumnNullable(_T("items"), _T("name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("name")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("name")));
- CHK_EXEC(SetColumnNullable(_T("items"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("description")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("description")));
- CHK_EXEC(SetColumnNullable(_T("items"), _T("transformation")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("transformation")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("transformation")));
- CHK_EXEC(SetColumnNullable(_T("items"), _T("instance")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("instance")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("instance")));
CHK_EXEC(SetSchemaVersion(217));
*/
static BOOL H_UpgradeFromV215(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("ap_common"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("ap_common"), _T("description")));
CHK_EXEC(ConvertStrings(_T("ap_common"), _T("id"), _T("description")));
if (g_dbSyntax != DB_SYNTAX_SQLITE)
CHK_EXEC(SQLQuery(_T("ALTER TABLE ap_config_files DROP COLUMN file_name")));
- CHK_EXEC(SetColumnNullable(_T("ap_config_files"), _T("file_content")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("ap_config_files"), _T("file_content")));
CHK_EXEC(ConvertStrings(_T("ap_config_files"), _T("policy_id"), _T("file_content")));
CHK_EXEC(SQLQuery(_T("ALTER TABLE object_properties ADD guid varchar(36)")));
*/
static BOOL H_UpgradeFromV213(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("script_library"), _T("script_code")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("script_library"), _T("script_code")));
CHK_EXEC(ConvertStrings(_T("script_library"), _T("script_id"), _T("script_code")));
- CHK_EXEC(SetColumnNullable(_T("raw_dci_values"), _T("raw_value")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("raw_dci_values"), _T("raw_value")));
CHK_EXEC(ConvertStrings(_T("raw_dci_values"), _T("item_id"), _T("raw_value")));
CHK_EXEC(SQLQuery(_T("UPDATE metadata SET var_value='CREATE TABLE idata_%d (item_id integer not null,idata_timestamp integer not null,idata_value varchar(255) null)' WHERE var_name='IDataTableCreationCommand'")));
DWORD nodeId = DBGetFieldULong(hResult, i, 0);
_sntprintf(table, 32, _T("idata_%d"), nodeId);
- CHK_EXEC(SetColumnNullable(table, _T("idata_value")));
+ CHK_EXEC(RemoveNotNullConstraint(table, _T("idata_value")));
}
DBFreeResult(hResult);
}
*/
static BOOL H_UpgradeFromV212(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("items"), _T("custom_units_name")));
- CHK_EXEC(SetColumnNullable(_T("items"), _T("perftab_settings")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("custom_units_name")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("items"), _T("perftab_settings")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("custom_units_name")));
CHK_EXEC(ConvertStrings(_T("items"), _T("item_id"), _T("perftab_settings")));
*/
static BOOL H_UpgradeFromV211(int currVersion, int newVersion)
{
- CHK_EXEC(SetColumnNullable(_T("snmp_trap_cfg"), _T("snmp_oid")));
- CHK_EXEC(SetColumnNullable(_T("snmp_trap_cfg"), _T("user_tag")));
- CHK_EXEC(SetColumnNullable(_T("snmp_trap_cfg"), _T("description")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("snmp_trap_cfg"), _T("snmp_oid")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("snmp_trap_cfg"), _T("user_tag")));
+ CHK_EXEC(RemoveNotNullConstraint(_T("snmp_trap_cfg"), _T("description")));
CHK_EXEC(ConvertStrings(_T("snmp_trap_cfg"), _T("trap_id"), _T("user_tag")));
CHK_EXEC(ConvertStrings(_T("snmp_trap_cfg"), _T("trap_id"), _T("description")));
{ 406, 407, H_UpgradeFromV406 },
{ 407, 408, H_UpgradeFromV407 },
{ 408, 409, H_UpgradeFromV408 },
+ { 409, 410, H_UpgradeFromV409 },
{ 0, 0, NULL }
};
Bundle-ManifestVersion: 2
Bundle-Name: Data Collection Management Plug-in
Bundle-SymbolicName: org.netxms.ui.eclipse.datacollection;singleton:=true
-Bundle-Version: 2.0.5
+Bundle-Version: 2.1.0
Bundle-Activator: org.netxms.ui.eclipse.datacollection.Activator
Bundle-Vendor: netxms.org
Require-Bundle: org.eclipse.rap.ui;bundle-version="2.3.1",
org.eclipse.rap.ui.forms;bundle-version="2.3.1",
org.eclipse.core.expressions;bundle-version="3.4.600",
- org.netxms.ui.eclipse.clientlibrary;bundle-version="2.0.5",
- org.netxms.webui.core;bundle-version="2.0.5",
- org.netxms.ui.eclipse.objectbrowser;bundle-version="2.0.3",
- org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.0",
+ org.netxms.ui.eclipse.clientlibrary;bundle-version="2.1.0",
+ org.netxms.webui.core;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.objectbrowser;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.1",
org.netxms.ui.eclipse.snmp;bundle-version="2.0.0",
- org.netxms.ui.eclipse.nxsl;bundle-version="2.0.0",
- org.netxms.ui.eclipse.charts;bundle-version="2.0.0",
- org.netxms.ui.eclipse.objectview;bundle-version="2.0.5"
+ org.netxms.ui.eclipse.nxsl;bundle-version="2.0.7",
+ org.netxms.ui.eclipse.charts;bundle-version="2.0.5",
+ org.netxms.ui.eclipse.objectview;bundle-version="2.0.7"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.netxms.ui.eclipse.datacollection.actions,
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData=Clear collected data
action.label.CreateDCI=Create data collection item...
action.label.CreateDCIs=Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection=Data Collection Configuration
action.label.LastValues=Last values
action.label.Remove=&Remove...
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData= Clear collected data
action.label.CreateDCI= Create data collection item...
action.label.CreateDCIs= Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
-
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection= Data Collection Configuration
action.label.LastValues= Last values
action.label.Remove= &Remove...
action.label.ClearData=Clear collected data
action.label.CreateDCI=Create data collection item...
action.label.CreateDCIs=Create data collection items...
-action.label.CreateTemplateGroup = Template &group...
-action.label.CreateTemplate = &Template...
-
+action.label.CreateTemplate= &Template...
+action.label.CreateTemplateGroup= Template &group...
action.label.DataCollection=Data Collection Configuration
action.label.LastValues=Last values
action.label.Remove=&Remove...
public String DciLabelProvider_SourcePush;
public String DciLabelProvider_SourceScript;
public String DciLabelProvider_SourceSNMP;
+ public String DciLabelProvider_SourceSSH;
public String DciLabelProvider_SourceILO;
public String DciLabelProvider_SourceWinPerf;
public String DciLabelProvider_Table;
public String General_SourceInternal;
public String General_SourcePush;
public String General_SourceSNMP;
+ public String General_SourceSSH;
public String General_Status;
public String General_Storage;
public String General_UseCustomPort;
public String GeneralTable_SourceInternal;
public String GeneralTable_SourcePush;
public String GeneralTable_SourceSNMP;
+ public String GeneralTable_SourceSSH;
public String GeneralTable_Status;
public String GeneralTable_Storage;
public String GeneralTable_UseCustomRetention;
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
DciLabelProvider_Unknown=<unknown>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=Nepodporovan\u00fd
DciLabelProvider_SourceAgent=NetXMS agent
DciLabelProvider_SourceCPSNMP=SNMP kontroln\u00ed bod
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Intern\u00ed
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Skript
DciLabelProvider_SourceWinPerf=Windows Performance Counter
DciLabelProvider_Table=<<TABULKA>>
GeneralTable_SourceInternal=Intern\u00ed
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Stav
GeneralTable_Storage=\u00dalo\u017ei\u0161t\u011b
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Intern\u00ed
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Stav
General_Storage=\u00dalo\u017ei\u0161t\u011b
General_UseCustomPort=Pou\u017e\u00edt vlastn\u00ed SNMP port
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=No soportado
DciLabelProvider_SourceAgent=Agente NetXMS
DciLabelProvider_SourceCPSNMP=Comprobaci\u00f3n SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Interno
DciLabelProvider_SourcePush=Enviar
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLA >>
GeneralTable_SourceInternal=Interno
GeneralTable_SourcePush=Enviar
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Estado
GeneralTable_Storage=Almacenamiento
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Interno
General_SourcePush=Enviar
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Estado
General_Storage=Almacenamiento
General_UseCustomPort=Puerto SNMP personalizado:
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
DataCollectionEditor_ColRetentionTime=\u0412\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f
DataCollectionEditor_ColStatus=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
DataCollectionEditor_ColTemplate=\u0428\u0430\u0431\u043b\u043e\u043d
-DataCollectionEditor_ColThresholds=Thresholds
+DataCollectionEditor_ColThresholds=\u041f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
DataCollectionEditor_Convert=\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 &\u0448\u0430\u0431\u043b\u043e\u043d...
DataCollectionEditor_ConvertJob_ErrorPrefix=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0434\u043b\u044f
DataCollectionEditor_ConvertJob_ErrorSuffix=\ \u0432 \u0448\u0430\u0431\u043b\u043e\u043d
DataSourceEditDlg_DCI=\u041c\u0435\u0442\u0440\u0438\u043a\u0430
DataSourceEditDlg_DataColumn=\u0421\u0442\u043e\u043b\u0431\u0435\u0446 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438
DataSourceEditDlg_DispName=\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435
-DataSourceEditDlg_DisplayFormat=Display format
+DataSourceEditDlg_DisplayFormat=\u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f
DataSourceEditDlg_Instance=\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440
-DataSourceEditDlg_InvertValues=Invert values
+DataSourceEditDlg_InvertValues=\u0418\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
DataSourceEditDlg_Options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b
DataSourceEditDlg_ShellTitle=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445
DataSourceEditDlg_ShowThresholds=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c &\u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
DciLabelProvider_DT_uint64=\u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 64-\u0431\u0438\u0442
DciLabelProvider_Day=\ \u0434\u0435\u043d\u044c
DciLabelProvider_Days=\ \u0434\u043d\u0435\u0439
-DciLabelProvider_Default=default
+DciLabelProvider_Default=\u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
DciLabelProvider_Disabled=\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e
DciLabelProvider_None=none
DciLabelProvider_NotSupported=\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f
DciLabelProvider_SourceAgent=\u0410\u0433\u0435\u043d\u0442 NetXMS
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
DciLabelProvider_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439
DciLabelProvider_SourceWinPerf=\u0421\u0447\u0435\u0442\u0447\u0438\u043a\u0438 Windows
DciLabelProvider_Table=<< \u0422\u0410\u0411\u041b\u0418\u0426\u0410 >>
EditThresholdDialog_Title=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439
EditThresholdDialog_UseDefault=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e &\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
EditThresholdDialog_Value=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435
-ForceDciPoll_TaskName=Force DCI Poll
+ForceDciPoll_TaskName=\u0424\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u043e\u0441 \u043c\u0435\u0442\u0440\u0438\u043a
GeneralTable_Active=&\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e
-GeneralTable_AgentCacheMode=Agent cache mode
+GeneralTable_AgentCacheMode=\u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0433\u0435\u043d\u0442\u043e\u043c
GeneralTable_ClRes=\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
GeneralTable_CustomPort=\u041f\u043e\u0440\u0442 SNMP
GeneralTable_CustomSchedule=\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435
GeneralTable_Data=\u0414\u0430\u043d\u043d\u044b\u0435
-GeneralTable_Default=Default
+GeneralTable_Default=\u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
GeneralTable_Description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
GeneralTable_Disabled=&\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e
GeneralTable_FixedIntervalsCustom=\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b (\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435)
GeneralTable_NoStorage=\u041d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445
GeneralTable_None=<\u043d\u0435\u0442>
GeneralTable_NotSupported=&\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f
-GeneralTable_Off=Off
-GeneralTable_On=On
+GeneralTable_Off=\u0412\u044b\u043a\u043b.
+GeneralTable_On=\u0412\u043a\u043b.
GeneralTable_Origin=\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a
GeneralTable_Parameter=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440
GeneralTable_Polling=\u041e\u043f\u0440\u043e\u0441
GeneralTable_PollingInterval=\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u043f\u0440\u043e\u0441\u0430 (\u0441\u0435\u043a\u0443\u043d\u0434\u044b)
GeneralTable_PollingMode=\u0420\u0435\u0436\u0438\u043c \u043e\u043f\u0440\u043e\u0441\u0430
GeneralTable_ProxyNode=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0443\u0437\u0435\u043b
-GeneralTable_RetentionMode=Retention mode
+GeneralTable_RetentionMode=\u0420\u0435\u0436\u0438\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
GeneralTable_RetentionTime=\u0412\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f (\u0434\u043d\u0438)
GeneralTable_Select=&\u0412\u044b\u0431\u0440\u0430\u0442\u044c...
GeneralTable_SourceAgent=\u0410\u0433\u0435\u043d\u0442 NetXMS
GeneralTable_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
GeneralTable_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
GeneralTable_Storage=\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435
-GeneralTable_UseCustomRetention=Use custom retention time
+GeneralTable_UseCustomRetention=\u0421\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f
GeneralTable_UseCustomSNMPPort=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442 \u0434\u043b\u044f SNMP:
-GeneralTable_UseDefaultRetention=Use default retention time
+GeneralTable_UseDefaultRetention=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
General_Active=&\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e
-General_AgentCacheMode=Agent cache mode
+General_AgentCacheMode=\u041a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0433\u0435\u043d\u0442\u043e\u043c
General_ClRes=\u0421\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
General_CustomSchedule=\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435
General_DT_float=\u0414\u0440\u043e\u0431\u043d\u043e\u0435
General_DT_uint64=\u0411\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 64-\u0431\u0438\u0442
General_Data=\u0414\u0430\u043d\u043d\u044b\u0435
General_DataType=\u0422\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445
-General_Default=Default
+General_Default=\u041f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
General_Description=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
General_Disabled=&\u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e
General_FixedIntervalsCustom=\u0424\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b (\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435)
General_NoStorage=\u041d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
General_None=<\u043d\u0435\u0442>
General_NotSupported=&\u041d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f
-General_Off=Off
-General_On=On
+General_Off=\u0412\u044b\u043a\u043b.
+General_On=\u0412\u043a\u043b.
General_Origin=\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a
General_Parameter=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440
General_Polling=\u041e\u043f\u0440\u043e\u0441
General_PollingInterval=\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u043f\u0440\u043e\u0441\u0430 (\u0441\u0435\u043a\u0443\u043d\u0434\u044b)
General_PollingMode=\u0420\u0435\u0436\u0438\u043c \u043e\u043f\u0440\u043e\u0441\u0430
General_ProxyNode=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0443\u0437\u0435\u043b
-General_RetentionMode=Retention mode
+General_RetentionMode=\u0420\u0435\u0436\u0438\u043c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445
General_RetentionTime=\u0412\u0440\u0435\u043c\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f (\u0434\u043d\u0438)
General_SMCLP=SM-CLP
General_SNMP_DT_None=\u041d\u0435\u0442
General_SourceInternal=\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439
General_SourcePush=Push \u0430\u0433\u0435\u043d\u0442
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=C\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
General_Storage=\u0425\u0440\u0430\u043d\u0435\u043d\u0438\u0435
General_UseCustomPort=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442 \u0434\u043b\u044f SNMP:
-General_UseCustomRetention=Use custom retention time
-General_UseDefaultRetention=Use default retention time
+General_UseCustomRetention=\u0421\u0432\u043e\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f
+General_UseDefaultRetention=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
General_WinPerf=\u0421\u0447\u0435\u0442\u0447\u0438\u043a\u0438 Windows
InstanceDiscovery_AgentList=\u0421\u043f\u0438\u0441\u043e\u043a \u0430\u0433\u0435\u043d\u0442\u0430
InstanceDiscovery_AgentTable=\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0430\u0433\u0435\u043d\u0442\u0430
LastValuesWidget_ColThreshold=\u041f\u043e\u0440\u043e\u0433
LastValuesWidget_ColTime=\u0412\u0440\u0435\u043c\u044f
LastValuesWidget_ColValue=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435
-LastValuesWidget_CopyToClipboard=&Copy to clipboard
+LastValuesWidget_CopyToClipboard=&\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440
LastValuesWidget_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0443\u0437\u043b\u0430
-LastValuesWidget_JobTitle=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0443\u0437\u043b\u0430
+LastValuesWidget_JobTitle=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u043b\u044f \u0443\u0437\u043b\u0430\
LastValuesWidget_ShowDisabled=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438
LastValuesWidget_ShowErrors=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0441 &\u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438
LastValuesWidget_ShowUnsupported=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c &\u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438
OpenEditor_ErrorText=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f:
OpenSummaryTablesManager_CannotOpenView=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c: %s
OpenSummaryTablesManager_Error=\u041e\u0448\u0438\u0431\u043a\u0430
-OtherOptions_ShowlastValueInObjectOverview=Show last value in object overview
+OtherOptions_ShowlastValueInObjectOverview=\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u043e\u0431\u0437\u043e\u0440\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
OtherOptions_UseForStatusCalculation=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0443\u0437\u043b\u0430
RemoveTemplate_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d
RemoveTemplate_JobTitle=\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u0430
SelectInternalParamDlg_DCI_TotalEventsProcessed=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439
SelectInternalParamDlg_DCI_UserID=\u041a\u043e\u0434 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f
SelectInternalParamDlg_DCI_Vendor=\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c
-SelectInternalParamDlg_PingTime_Instance=Ping time of {instance}
-SelectInternalParamDlg_PingTime_PrimaryIP=Ping time of primary IP
-SelectInternalParamDlg_SyslogProcessingQueue=Syslog processing queue for last minute
-SelectInternalParamDlg_SyslogWriterQueue=Syslog writer queue for last minute
+SelectInternalParamDlg_PingTime_Instance=\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043e\u0442 {instance}
+SelectInternalParamDlg_PingTime_PrimaryIP=\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e IP
+SelectInternalParamDlg_SyslogProcessingQueue=\u0414\u043b\u0438\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043c\u0438\u043d\u0443\u0442\u0443
+SelectInternalParamDlg_SyslogWriterQueue=\u041e\u0447\u0435\u0440\u0435\u0434\u044c \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043c\u0438\u043d\u0443\u0442\u0443
SelectInternalParamDlg_TotalAPs=\u0412\u0441\u0435\u0433\u043e \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u0430
SelectInternalParamDlg_UnadoptedAPs=\u041d\u0435\u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0442\u043e\u0447\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430
SelectNodeDciDialog_Title=\u0412\u044b\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a\u0438
SelectNodeDciDialog_Warning=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435
SelectNodeDciDialog_WarningText=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 OK
-SelectSummaryTableDialog_EmptySelectionWarning=You must select summary table from list and then press OK.
-SelectSummaryTableDialog_Label=Available DCI summary tables
-SelectSummaryTableDialog_Title=Select DCI Summary Table
+SelectSummaryTableDialog_EmptySelectionWarning=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0432\u043e\u0434\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u041e\u041a.
+SelectSummaryTableDialog_Label=\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0441\u0432\u043e\u0434\u043d\u044b\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u0440\u0438\u043a
+SelectSummaryTableDialog_Title=\u0412\u044b\u0431\u043e\u0440 \u0441\u0432\u043e\u0434\u043d\u044b\u0445 \u0442\u0430\u0431\u043b\u0438\u0446 \u043c\u0435\u0442\u0440\u0438\u043a
SelectSummaryTableDialog_Warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435
ShowLastValues_Error=\u041e\u0448\u0438\u0431\u043a\u0430
ShowLastValues_ErrorText=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f:
SummaryTableManager_TitleCreate=\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u0440\u0438\u043a
SummaryTableManager_TitleEdit=\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0432\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u0440\u0438\u043a
SummaryTableSelector_None=<none>
-SummaryTableWidget_13=Forced DCI poll failed
-SummaryTableWidget_CannotOpenObjectDetails=Cannot open object details view: %s
-SummaryTableWidget_DciPoll=DCI poll
-SummaryTableWidget_Error=Error
-SummaryTableWidget_ForceDciPoll=Force DCI poll
-SummaryTableWidget_ForcePollForAllColumns=Force poll for all columns
-SummaryTableWidget_ForcePollForNode=Force poll for "%s"
-SummaryTableWidget_Node=&Node
-SummaryTableWidget_ShowObjectDetails=Show &object details
+SummaryTableWidget_13=\u041e\u0448\u0438\u0431\u043a\u0430 \u0444\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u043f\u0440\u043e\u0441\u0430 \u043c\u0435\u0442\u0440\u0438\u043a
+SummaryTableWidget_CannotOpenObjectDetails=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u0437\u043e\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430: %s
+SummaryTableWidget_DciPoll=\u041e\u043f\u0440\u043e\u0441 \u043c\u0435\u0442\u0440\u0438\u043a
+SummaryTableWidget_Error=\u041e\u0448\u0438\u0431\u043a\u0430
+SummaryTableWidget_ForceDciPoll=\u0424\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u043e\u0441 \u043c\u0435\u0442\u0440\u0438\u043a
+SummaryTableWidget_ForcePollForAllColumns=\u0424\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u043e\u0441 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432
+SummaryTableWidget_ForcePollForNode=\u0424\u043e\u0440\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u043e\u0441 \u0434\u043b\u044f "%s"
+SummaryTableWidget_Node=&\u0423\u0437\u0435\u043b
+SummaryTableWidget_ShowObjectDetails=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
SummaryTable_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0441\u0432\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u0440\u0438\u043a
SummaryTable_JobName=\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u0432\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u0435\u0442\u0440\u0438\u043a
SummaryTablesDynamicMenu_CannotOpenView=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0432\u0438\u0434: %s
DciLabelProvider_NotSupported=Not supported
DciLabelProvider_SourceAgent=NetXMS Agent
DciLabelProvider_SourceCPSNMP=Check Point SNMP
-DciLabelProvider_SourceILO=iLO
+DciLabelProvider_SourceILO=SM-CLP
DciLabelProvider_SourceInternal=Internal
DciLabelProvider_SourcePush=Push
DciLabelProvider_SourceSNMP=SNMP
+DciLabelProvider_SourceSSH=SSH
DciLabelProvider_SourceScript=Script
DciLabelProvider_SourceWinPerf=Windows Performance Counters
DciLabelProvider_Table=<< TABLE >>
GeneralTable_SourceInternal=Internal
GeneralTable_SourcePush=Push
GeneralTable_SourceSNMP=SNMP
+GeneralTable_SourceSSH=SSH
GeneralTable_Status=Status
GeneralTable_Storage=Storage
GeneralTable_UseCustomRetention=Use custom retention time
General_SourceInternal=Internal
General_SourcePush=Push
General_SourceSNMP=SNMP
+General_SourceSSH=SSH
General_Status=Status
General_Storage=Storage
General_UseCustomPort=Use custom SNMP port:
origin.add(Messages.get().General_WinPerf);
origin.add(Messages.get().General_SMCLP);
origin.add(Messages.get().General_Script);
+ origin.add(Messages.get().General_SourceSSH);
origin.select(dci.getOrigin());
origin.addSelectionListener(new SelectionListener() {
@Override
mode = 1;
retentionMode.select(mode);
retentionTime.setEnabled(mode == 1);
-
+
+ onOriginChange();
return dialogArea;
}
customSnmpPort.setEnabled((index == DataCollectionItem.SNMP) && checkUseCustomSnmpPort.getSelection());
sampleCount.setEnabled(index == DataCollectionItem.WINPERF);
agentCacheMode.setEnabled((index == DataCollectionItem.AGENT) || (index == DataCollectionItem.SNMP));
+ selectButton.setEnabled(
+ (index == DataCollectionItem.AGENT) ||
+ (index == DataCollectionItem.SNMP) ||
+ (index == DataCollectionItem.INTERNAL) ||
+ (index == DataCollectionItem.WINPERF) ||
+ (index == DataCollectionItem.CHECKPOINT_SNMP) ||
+ (index == DataCollectionItem.SCRIPT));
}
/**
originTexts.put(DataCollectionItem.INTERNAL, Messages.get().DciLabelProvider_SourceInternal);
originTexts.put(DataCollectionItem.PUSH, Messages.get().DciLabelProvider_SourcePush);
originTexts.put(DataCollectionItem.WINPERF, Messages.get().DciLabelProvider_SourceWinPerf);
- originTexts.put(DataCollectionItem.ILO, Messages.get().DciLabelProvider_SourceILO);
+ originTexts.put(DataCollectionItem.SMCLP, Messages.get().DciLabelProvider_SourceILO);
originTexts.put(DataCollectionItem.SCRIPT, Messages.get().DciLabelProvider_SourceScript);
+ originTexts.put(DataCollectionItem.SSH, Messages.get().DciLabelProvider_SourceSSH);
statusTexts.put(DataCollectionItem.ACTIVE, Messages.get().DciLabelProvider_Active);
statusTexts.put(DataCollectionItem.DISABLED, Messages.get().DciLabelProvider_Disabled);
Bundle-ManifestVersion: 2
Bundle-Name: NXMC Basic Object Management Plug-in
Bundle-SymbolicName: org.netxms.ui.eclipse.objectmanager;singleton:=true
-Bundle-Version: 2.0.7
+Bundle-Version: 2.1.0
Bundle-Activator: org.netxms.ui.eclipse.objectmanager.Activator
Bundle-Vendor: netxms.org
Require-Bundle: org.eclipse.rap.ui;bundle-version="2.3.0",
org.eclipse.rap.ui.forms;bundle-version="2.3.1",
- org.netxms.ui.eclipse.clientlibrary;bundle-version="2.0.5",
- org.netxms.webui.core;bundle-version="2.0.4",
- org.netxms.ui.eclipse.objectbrowser;bundle-version="2.0.3",
- org.netxms.ui.eclipse.usermanager;bundle-version="2.0.4",
- org.netxms.ui.eclipse.nxsl;bundle-version="2.0.4",
+ org.netxms.ui.eclipse.clientlibrary;bundle-version="2.1.0",
+ org.netxms.webui.core;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.objectbrowser;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.usermanager;bundle-version="2.0.8",
+ org.netxms.ui.eclipse.nxsl;bundle-version="2.0.7",
org.netxms.ui.eclipse.imagelibrary;bundle-version="2.0.0",
- org.netxms.ui.eclipse.datacollection;bundle-version="2.0.5",
- org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.0"
+ org.netxms.ui.eclipse.datacollection;bundle-version="2.1.0",
+ org.netxms.ui.eclipse.eventmanager;bundle-version="2.0.1"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Export-Package: org.netxms.ui.eclipse.objectmanager.actions,
menu.label.Create=&Create
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
-page.name.AccessControl = Access Control
-page.name.AutoApply = Automatic Apply Rules
-page.name.AutoBind = Automatic Bind Rules
-page.name.ClusterNet = Cluster Networks
-page.name.ClusterRes = Cluster Resources
-page.name.Comments = Comments
-page.name.Communications = Communications
-page.name.CustomAttrs = Custom Attributes
-page.name.Data = Data
-page.name.Dashboards = Dashboards
-page.name.EventsStatus = Events and Status
-page.name.General = General
-page.name.Location = Location
-page.name.MapAppearance = Map Appearance
-page.name.NetSrv = Network Service
+page.name.AccessControl=Access Control
+page.name.Agent=Agent
+page.name.AutoApply=Automatic Apply Rules
+page.name.AutoBind=Automatic Bind Rules
+page.name.ClusterNet=Cluster Networks
+page.name.ClusterRes=Cluster Resources
+page.name.Comments=Comments
+page.name.Communications=Communications
+page.name.CustomAttrs=Custom Attributes
+page.name.Data=Data
+page.name.Dashboards=Dashboards
+page.name.EventsStatus=Events and Status
+page.name.General=General
+page.name.ICMP=ICMP
+page.name.Location=Location
+page.name.MapAppearance=Map Appearance
+page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
page.name.Script=Script
-page.name.StatusCalc = Status Calculation
+page.name.SNMP=SNMP
+page.name.SSH=SSH
+page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
-page.name.TrustedNodes = Trusted Nodes
-view.name.NodePoll = Node Poll
+page.name.TrustedNodes=Trusted Nodes
+view.name.NodePoll=Node Poll
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Vy\u010d\u00edst
page.name.AccessControl=\u0158\u00edzen\u00ed p\u0159\u00edstupu
+page.name.Agent=Agent
page.name.AutoApply=Automaticky pou\u017e\u00edt pravidla
page.name.AutoBind=Automaticky sv\u00e1zat pravidla
page.name.ClusterNet=Cluster s\u00edt\u011b
page.name.Data=Data
page.name.EventsStatus=Ud\u00e1losti a stav
page.name.General=Obecn\u00fd
+page.name.ICMP=ICMP
page.name.Location=Lokace
page.name.MapAppearance=Vzhled mapy
page.name.NetSrv=S\u00ed\u0165ov\u00e1 slu\u017eba
page.name.Polling=Vy\u010d\u00edt\u00e1n\u00ed
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Skript
page.name.StatusCalc=V\u00fdpo\u010det stavu
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete= Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll= &Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling= Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script= Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance=Map Appearance
page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
action.label.CreateChassis=C&hassis...
action.label.CreateCluster=Cl&uster...
action.label.CreateCond=Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll= &Poll
page.name.AccessControl= Access Control
+page.name.Agent=Agent
page.name.AutoApply= Automatic Apply Rules
page.name.AutoBind= Automatic Bind Rules
page.name.ClusterNet= Cluster Networks
page.name.Data= Data
page.name.EventsStatus= Events and Status
page.name.General= General
+page.name.ICMP=ICMP
page.name.Location= Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling= Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script= Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.ChangeZone= Change zone...
action.label.ConfPoll= &Configuration
action.label.ConfPollFull= &Configuration (full)
-action.label.CreateChassis = C&hassis...
-action.label.CreateCluster = Cl&uster...
-action.label.CreateCond = Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
+action.label.CreateChassis= C&hassis...
+action.label.CreateCluster= Cl&uster...
+action.label.CreateCond= Con&dition...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
action.label.CreateNode=&Node...
action.label.CreateRack=&Rack...
action.label.CreateVPNConnector=&VPN connector...
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl= Access Control
+page.name.Agent=Agent
page.name.AutoApply= Automatic Apply Rules
page.name.AutoBind= Automatic Bind Rules
page.name.ClusterNet= Cluster Networks
page.name.Data= Data
page.name.EventsStatus= Events and Status
page.name.General= General
+page.name.ICMP=ICMP
page.name.Location= Location
page.name.MapAppearance= Map Appearance
page.name.NetSrv= Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc= Status Calculation
page.name.Subnets=Subnets
action.label.CreateRack=\u0421&\u0442\u043e\u0439\u043a\u0443...
action.label.CreateVPNConnector=&VPN \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435...
action.label.CreateZone=\u0421\u043e\u0437\u0434\u0430\u0442\u044c &\u0437\u043e\u043d\u0443
+action.label.Delete= Delete
+action.label.EnterMaintMode=&Enter maintenance mode
+action.label.IfNamesPoll= &Interface names
+action.label.InstanceDiscoveryPoll= I&nstance discovery
+action.label.LeaveMaintMode=&Leave maintenance mode
+action.label.Manage= Manage
action.label.RemoveNode=&\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0437\u0435\u043b...
action.label.ScheduleMaintenance=\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435
action.label.StatusPoll=&\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
menu.label.Maintenance=&\u041e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435
menu.label.Poll=&\u041e\u043f\u0440\u043e\u0441
page.name.AccessControl=\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430
+page.name.Agent=\u0410\u0433\u0435\u043d\u0442
page.name.AutoApply=\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430
page.name.AutoBind=\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438
page.name.ClusterNet=\u0421\u0435\u0442\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
page.name.Data=\u0414\u0430\u043d\u043d\u044b\u0435
page.name.EventsStatus=\u0421\u043e\u0431\u044b\u0442\u0438\u044f \u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435
page.name.General=\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435
+page.name.ICMP=ICMP
page.name.Location=\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435
page.name.MapAppearance=\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u043a\u0430\u0440\u0442\u044b
page.name.NetSrv=\u0421\u0435\u0442\u0435\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441
page.name.Polling=\u041e\u043f\u0440\u043e\u0441
page.name.Rack=\u0421\u0442\u043e\u0439\u043a\u0430
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439
page.name.StatusCalc=\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f
page.name.Subnets=\u041f\u043e\u0434\u0441\u0435\u0442\u0438
action.label.ChangeZone=Change zone...
action.label.ConfPoll=&Configuration
action.label.ConfPollFull=&Configuration (full)
-action.label.CreateChassis = C&hassis...
-action.label.CreateCluster = Cl&uster...
-action.label.CreateCond = Con&dition...
-action.label.CreateContainer = &Container...
-action.label.CreateIface = &Interface...
-action.label.CreateMobile = &Mobile device...
-action.label.CreateNetSrv = Network &service...
-action.label.CreateNode = &Node...
-action.label.CreateRack = &Rack...
-action.label.CreateVPNConnector = &VPN connector...
+action.label.CreateChassis= C&hassis...
+action.label.CreateCluster= Cl&uster...
+action.label.CreateCond= Con&dition...
+action.label.CreateContainer= &Container...
+action.label.CreateIface= &Interface...
+action.label.CreateMobile= &Mobile device...
+action.label.CreateNetSrv= Network &service...
+action.label.CreateNode= &Node...
+action.label.CreateRack= &Rack...
+action.label.CreateVPNConnector= &VPN connector...
action.label.CreateZone=Create &zone...
action.label.Delete=Delete
action.label.EnterMaintMode=&Enter maintenance mode
menu.label.Maintenance=&Maintenance
menu.label.Poll=&Poll
page.name.AccessControl=Access Control
+page.name.Agent=Agent
page.name.AutoApply=Automatic Apply Rules
page.name.AutoBind=Automatic Bind Rules
page.name.ClusterNet=Cluster Networks
page.name.Data=Data
page.name.EventsStatus=Events and Status
page.name.General=General
+page.name.ICMP=ICMP
page.name.Location=Location
page.name.MapAppearance=Map Appearance
page.name.NetSrv=Network Service
page.name.Polling=Polling
page.name.Rack=Rack
+page.name.SNMP=SNMP
+page.name.SSH=SSH
page.name.Script=Script
page.name.StatusCalc=Status Calculation
page.name.Subnets=Subnets
</instanceof>
</enabledWhen>
</page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.SNMP"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.SNMP"
+ name="%page.name.SNMP">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.Agent"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.Agent"
+ name="%page.name.Agent">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.ICMP"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.ICMP"
+ name="%page.name.ICMP">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
+ <page
+ category="org.netxms.ui.eclipse.objectmanager.propertypages.Communication#10"
+ class="org.netxms.ui.eclipse.objectmanager.propertypages.SSH"
+ id="org.netxms.ui.eclipse.objectmanager.propertypages.SSH"
+ name="%page.name.SSH">
+ <enabledWhen>
+ <instanceof
+ value="org.netxms.client.objects.Node">
+ </instanceof>
+ </enabledWhen>
+ </page>
</extension>
<extension
public String ZoneCommunications_DefaultAgentProxy;
public String ZoneCommunications_DefaultICMPProxy;
public String ZoneCommunications_DefaultSNMPProxy;
+ public String ZoneCommunications_DefaultSSHProxy;
public String ZoneCommunications_JobError;
public String ZoneCommunications_JobName;
public String ZoneSelectionDialog_EmptySelectionWarning;
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=V\u00fdchoz\u00ed proxy agenta
ZoneCommunications_DefaultICMPProxy=V\u00fdchoz\u00ed ICMP proxy
ZoneCommunications_DefaultSNMPProxy=V\u00fdchoz\u00ed SNMP proxy
+ZoneCommunications_DefaultSSHProxy=V\u00fdchoz\u00ed SSH proxy
ZoneCommunications_JobError=Nelze aktualizovat komunika\u010dni nastaven\u00ed
ZoneCommunications_JobName=Aktualizovat komunika\u010dn\u00ed nastaven\u00ed pro z\u00f3nu %s
ZoneSelectionDialog_EmptySelectionWarning=Pros\u00edm vyberte objekt z\u00f3na\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
AbstractNodePoll_Error=\u041e\u0448\u0438\u0431\u043a\u0430
AbstractNodePoll_ErrorText=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f: %s
-AbstractNodePoll_Warning=Warning
+AbstractNodePoll_Warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435
AccessControl_AccessAccessControl=&\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c
AccessControl_AccessControl=\u0423&\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435
AccessControl_AccessCreate=&\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432
AddAddressListElementDialog_Warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435
AddClusterNode_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u0437\u0435\u043b \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440
AddClusterNode_JobTitle=\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0437\u043b\u0430 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440
-AddSubnetDialog_Title=Add Subnet
+AddSubnetDialog_Title=\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0435\u0442\u0438
AttributeEditDialog_AddAttr=\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430
AttributeEditDialog_ModifyAttr=\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430
AttributeEditDialog_Name=\u0418\u043c\u044f
ConditionData_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0443\u0441\u043b\u043e\u0432\u0438\u044f
ConditionData_JobName=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0443\u0441\u043b\u043e\u0432\u0438\u044f
ConditionData_Modify=&\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c...
-ConditionData_Up=&\u0412\u0432\u0448\u0435
+ConditionData_Up=&\u0412\u044b\u0448\u0435
ConditionDciEditDialog_FuncAvg=\u0421\u0440\u0435\u0434\u043d\u0435\u0435
ConditionDciEditDialog_FuncDeviation=\u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435
ConditionDciEditDialog_FuncDiff=\u041e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f
CreateNodeDialog_ResolveJobName=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u0443\u0437\u043b\u0430
CreateNodeDialog_SNMPPort=\u041f\u043e\u0440\u0442 SNMP \u0430\u0433\u0435\u043d\u0442\u0430
CreateNodeDialog_SNMPProxy=\u041f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f SNMP
-CreateNodeDialog_ShowAgain=Show this dialog again to &create another node
+CreateNodeDialog_ShowAgain=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e \u043e\u043a\u043d\u043e \u0441\u043d\u043e\u0432\u0430, \u0434\u043b\u044f &\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0443\u0437\u043b\u0430
CreateNodeDialog_Title=\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0443\u0437\u043b\u0430
CreateNodeDialog_Warning=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435
CreateNodeDialog_WarningInvalidHostname=\u0421\u0442\u0440\u043e\u043a\u0430 "%s" \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438, \u043b\u0438\u0431\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0443\u0437\u043b\u0430. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.
CustomAttributes_Value=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435
CustomAttributes_Warning=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435
CustomAttributes_WarningAlreadyExist=\u0418\u043c\u044f \u0430\u0442\u0442\u0440\u0438\u0431\u0443\u0442\u0430 %s \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442
-Dashboards_Dashboard=Dashboard
+Dashboards_Dashboard=\u041f\u0430\u043d\u0435\u043b\u044c
DciListLabelProvider_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438
DciListLabelProvider_JobName=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u043d\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438
DciListLabelProvider_Unresolved=<\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e>
EditClusterResourceDialog_Warning=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435
EditClusterResourceDialog_WarningEmptyName=\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430
EditClusterResourceDialog_WarningInvalidIP=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 IP \u0430\u0434\u0440\u0435\u0441
-FullConfigurationPoll_FullConfigPollConfirmation=Full configuration poll will reset node capabilities and can possibly change container and template binding. Continue?
+FullConfigurationPoll_FullConfigPollConfirmation=\u041f\u043e\u043b\u043d\u044b\u0439 \u043e\u043f\u0440\u043e\u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0431\u0440\u043e\u0441\u0438\u0442 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0437\u043b\u0430 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0435 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c \u0432 \u0441\u0432\u044f\u0437\u043a\u0430\u0445 \u0441 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c\u0438 \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?
General_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430
General_JobName=\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
General_ObjectClass=\u041a\u043b\u0430\u0441\u0441 \u043e\u0431\u044a\u0435\u043a\u0442\u0430
Location_Postcode=\u041f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441
Location_StreetAddress=\u0410\u0434\u0440\u0435\u0441
Location_Undefined=&\u041d\u0435 \u0437\u0430\u0434\u0430\u043d
-MaintanenceScheduleDialog_EndDate=End date
-MaintanenceScheduleDialog_StartDate=Start date
-MaintanenceScheduleDialog_Title=Schedule Maintenance
-MaintanenceScheduleDialog_Warning=Warning
-MaintanenceScheduleDialog_WarningText=Start time must be gather end time\!
+MaintanenceScheduleDialog_EndDate=\u041e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435
+MaintanenceScheduleDialog_StartDate=\u041d\u0430\u0447\u0430\u043b\u043e
+MaintanenceScheduleDialog_Title=\u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f
+MaintanenceScheduleDialog_Warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435
+MaintanenceScheduleDialog_WarningText=\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u0430\u0442\u044b \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u044f\!
Manage_JobDescription=\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 %s [%d]
Manage_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 %s [%d]
MapAppearance_Image=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435
NodePollerView_ActionClear=&\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434
NodePollerView_ActionRestart=&\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u0440\u043e\u0441
NodePollerView_ConfigPoll=\u041e\u043f\u0440\u043e\u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438
-NodePollerView_FullConfigPoll=Configuration Poll (Full)
-NodePollerView_InstanceDiscovery=Instance Discovery
+NodePollerView_FullConfigPoll=\u041e\u043f\u0440\u043e\u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u041f\u043e\u043b\u043d\u044b\u0439)
+NodePollerView_InstanceDiscovery=\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432
NodePollerView_InterfacePoll=\u041e\u043f\u0440\u043e\u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432
-NodePollerView_InvalidObjectID=\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 ID \u043b\u043e\u0431\u044a\u0435\u043a\u0442\u0430
+NodePollerView_InvalidObjectID=\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430
NodePollerView_JobName=\u041e\u043f\u0440\u043e\u0441 \u0443\u0437\u043b\u0430: %s [%d]
NodePollerView_StatusPoll=\u041e\u0441\u043f\u0440\u043e\u0441 \u0441\u0442\u0441\u0430\u0442\u0443\u0441\u0430
NodePollerView_TopologyPoll=\u041e\u043f\u0440\u043e\u0441 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438
-NodePolling_AgentCacheMode=Agent cache mode
+NodePolling_AgentCacheMode=\u0420\u0435\u0436\u0438\u043c \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f
NodePolling_Default=\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e
NodePolling_Disable=&\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c
NodePolling_EmptySelectionServer=<server>
NodePolling_GroupOptions=\u041e\u043f\u0446\u0438\u0438
NodePolling_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043e\u043f\u0440\u043e\u0441\u0430 \u0443\u0437\u043b\u0430
NodePolling_JobName=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043e\u043f\u0440\u043e\u0441\u0430 \u0443\u0437\u043b\u0430
-NodePolling_Off=Off
-NodePolling_On=On
+NodePolling_Off=\u0412\u044b\u043a\u043b.
+NodePolling_On=\u0412\u043a\u043b.
NodePolling_OptDisableAgent=\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 &NetXMS \u0430\u0433\u0435\u043d\u0442\u0430 \u043f\u0440\u0438 \u043e\u043f\u0440\u043e\u0441\u0435
NodePolling_OptDisableConfigPoll=\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0440\u043e\u0441 &\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438
NodePolling_OptDisableDataCollection=\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445
NodePolling_OptDisableTopoPoll=\u041e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0440\u043e\u0441 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438
NodePolling_PollerNode=\u041e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0443\u0437\u0435\u043b
NodePolling_PollerNodeDescription=\u0412\u0441\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0443\u0437\u043b\u0430 \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0440\u043e\u0448\u0435\u043d\u044b \u043e\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0437\u043b\u0430, \u0435\u0441\u043b\u0438 \u043d\u0435 \u044d\u0442\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0441\u043b\u0443\u0436\u0431.
-RackPlacement_Height=Height
-RackPlacement_Position=Position
-RackPlacement_Rack=Rack
-RackPlacement_RackImage=Rack image
-RackPlacement_UpdatingRackPlacement=Updating rack placement for node %s
-RackProperties_BottomTop=Bottom to top
-RackProperties_Height=Height
-RackProperties_Numbering=Numbering
-RackProperties_TopBottom=Top to bottom
-RackProperties_UpdatingRackProperties=Updating rack %s properties
+RackPlacement_Height=\u0412\u044b\u0441\u043e\u0442\u0430
+RackPlacement_Position=\u041f\u043e\u0437\u0438\u0446\u0438\u044f
+RackPlacement_Rack=\u0421\u0442\u043e\u0439\u043a\u0430
+RackPlacement_RackImage=\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u0439\u043a\u0438
+RackPlacement_UpdatingRackPlacement=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0443\u0437\u043b\u0430 %s \u0432 \u0441\u0442\u043e\u0439\u043a\u0435
+RackProperties_BottomTop=\u0421\u043d\u0438\u0437\u0443 \u0432\u0432\u0435\u0440\u0445
+RackProperties_Height=\u0412\u044b\u0441\u043e\u0442\u0430
+RackProperties_Numbering=\u041d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f
+RackProperties_TopBottom=\u0421\u0432\u0435\u0440\u0445\u0443 \u0432\u043d\u0438\u0437
+RackProperties_UpdatingRackProperties=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u0438\u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u0442\u043e\u0439\u043a\u0438 %s
RemoveClusterNode_JobError=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0437\u0435\u043b \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
RemoveClusterNode_JobTitle=\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0437\u043b\u0430 \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430
SetInterfaceExpStateDlg_Label=\u041d\u043e\u0432\u043e\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 (\u043e\u0432):
ZoneCommunications_DefaultAgentProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f NetXMS \u0430\u0433\u0435\u043d\u0442\u0430
ZoneCommunications_DefaultICMPProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f ICMP
ZoneCommunications_DefaultSNMPProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f SNMP
+ZoneCommunications_DefaultSSHProxy=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f SSH
ZoneCommunications_JobError=\u041e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f
ZoneCommunications_JobName=\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0437\u043e\u043d\u044b %s
ZoneSelectionDialog_EmptySelectionWarning=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0437\u043e\u043d\u0443\!
ZoneCommunications_DefaultAgentProxy=Default agent proxy
ZoneCommunications_DefaultICMPProxy=Default ICMP proxy
ZoneCommunications_DefaultSNMPProxy=Default SNMP proxy
+ZoneCommunications_DefaultSSHProxy=Default SSH proxy
ZoneCommunications_JobError=Cannot update communication settings
ZoneCommunications_JobName=Update communication settings for zone %s
ZoneSelectionDialog_EmptySelectionWarning=Please select zone object\!
--- /dev/null
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2016 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.netxms.ui.eclipse.objectmanager.propertypages;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.dialogs.PropertyPage;
+import org.netxms.client.NXCObjectModificationData;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.AbstractNode;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
+import org.netxms.ui.eclipse.objectmanager.Activator;
+import org.netxms.ui.eclipse.objectmanager.Messages;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+import org.netxms.ui.eclipse.tools.WidgetHelper;
+import org.netxms.ui.eclipse.widgets.LabeledText;
+
+/**
+ * "Agent" property page for node
+ */
+public class Agent extends PropertyPage
+{
+ private AbstractNode node;
+ private LabeledText agentPort;
+ private LabeledText agentSharedSecret;
+ private Combo agentAuthMethod;
+ private Button agentForceEncryption;
+ private ObjectSelector agentProxy;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ @Override
+ protected Control createContents(Composite parent)
+ {
+ node = (AbstractNode)getElement().getAdapter(AbstractNode.class);
+
+ Composite dialogArea = new Composite(parent, SWT.NONE);
+ FormLayout dialogLayout = new FormLayout();
+ dialogLayout.marginWidth = 0;
+ dialogLayout.marginHeight = 0;
+ dialogLayout.spacing = WidgetHelper.DIALOG_SPACING;
+ dialogArea.setLayout(dialogLayout);
+
+ agentPort = new LabeledText(dialogArea, SWT.NONE);
+ agentPort.setLabel(Messages.get().Communication_TCPPort);
+ agentPort.setText(Integer.toString(node.getAgentPort()));
+ FormData fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(0, 0);
+ agentPort.setLayoutData(fd);
+
+ agentProxy = new ObjectSelector(dialogArea, SWT.NONE, true);
+ agentProxy.setLabel(Messages.get().Communication_Proxy);
+ agentProxy.setObjectId(node.getAgentProxyId());
+ fd = new FormData();
+ fd.left = new FormAttachment(agentPort, 0, SWT.RIGHT);
+ fd.right = new FormAttachment(100, 0);
+ fd.top = new FormAttachment(0, 0);
+ agentProxy.setLayoutData(fd);
+
+ agentForceEncryption = new Button(dialogArea, SWT.CHECK);
+ agentForceEncryption.setText(Messages.get().Communication_ForceEncryption);
+ agentForceEncryption.setSelection((node.getFlags() & AbstractNode.NF_FORCE_ENCRYPTION) != 0);
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(agentPort, 0, SWT.BOTTOM);
+ agentForceEncryption.setLayoutData(fd);
+
+ fd = new FormData();
+ fd.left = new FormAttachment(0, 0);
+ fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
+ agentAuthMethod = WidgetHelper.createLabeledCombo(dialogArea, SWT.BORDER | SWT.READ_ONLY, Messages.get().Communication_AuthMethod, fd);
+ agentAuthMethod.add(Messages.get().Communication_AuthNone);
+ agentAuthMethod.add(Messages.get().Communication_AuthPlain);
+ agentAuthMethod.add(Messages.get().Communication_AuthMD5);
+ agentAuthMethod.add(Messages.get().Communication_AuthSHA1);
+ agentAuthMethod.select(node.getAgentAuthMethod());
+ agentAuthMethod.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e)
+ {
+ widgetSelected(e);
+ }
+
+ @Override
+ public void widgetSelected(SelectionEvent e)
+ {
+ agentSharedSecret.getTextControl().setEnabled(agentAuthMethod.getSelectionIndex() != AbstractNode.AGENT_AUTH_NONE);
+ }
+ });
+
+ agentSharedSecret = new LabeledText(dialogArea, SWT.NONE);
+ agentSharedSecret.setLabel(Messages.get().Communication_SharedSecret);
+ agentSharedSecret.setText(node.getAgentSharedSecret());
+ fd = new FormData();
+ fd.left = new FormAttachment(agentAuthMethod.getParent(), 0, SWT.RIGHT);
+ fd.right = new FormAttachment(100, 0);
+ fd.top = new FormAttachment(agentForceEncryption, 0, SWT.BOTTOM);
+ agentSharedSecret.setLayoutData(fd);
+ agentSharedSecret.getTextControl().setEnabled(node.getAgentAuthMethod() != AbstractNode.AGENT_AUTH_NONE);
+
+ return dialogArea;
+ }
+
+ /**
+ * Apply changes
+ *
+ * @param isApply true if update operation caused by "Apply" button
+ */
+ protected boolean applyChanges(final boolean isApply)
+ {
+ final NXCObjectModificationData md = new NXCObjectModificationData(node.getObjectId());
+
+ if (isApply)
+ setValid(false);
+
+ try
+ {
+ md.setAgentPort(Integer.parseInt(agentPort.getText(), 10));
+ }
+ catch(NumberFormatException e)
+ {
+ MessageDialog.openWarning(getShell(), Messages.get().Communication_Warning, Messages.get().Communication_WarningInvalidAgentPort);
+ if (isApply)
+ setValid(true);
+ return false;
+ }
+ md.setAgentProxy(agentProxy.getObjectId());
+ md.setAgentAuthMethod(agentAuthMethod.getSelectionIndex());
+ md.setAgentSecret(agentSharedSecret.getText());
+
+ /* TODO: sync in some way with "Polling" page */
+ int flags = node.getFlags();
+ if (agentForceEncryption.getSelection())
+ flags |= AbstractNode.NF_FORCE_ENCRYPTION;
+ else
+ flags &= ~AbstractNode.NF_FORCE_ENCRYPTION;
+ md.setObjectFlags(flags);
+
+ final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+ new ConsoleJob(String.format("Updating agent communication settings for node %s", node.getObjectName()), null, Activator.PLUGIN_ID, null) {
+ @Override
+ protected void runInternal(IProgressMonitor monitor) throws Exception
+ {
+ session.modifyObject(md);
+ }
+
+ @Override
+ protected String getErrorMessage()
+ {
+ return String.format("Cannot update communication settings for node %s", node.getObjectName());
+ }
+
+ @Override
+ protected void jobFinalize()
+ {
+ if (isApply)
+ {
+ runInUIThread(new Runnable() {
+ @Override
+ public void run()
+ {
+ Agent.this.setValid(true);
+ }
+ });
+ }
+ }
+ }.start();
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performOk()
+ */
+ @Override
+ public boolean performOk()
+ {
+ return applyChanges(false);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ @Override
+ protected void performApply()
+ {
+ applyChanges(true);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ @Override
+ protected void performDefaults()
+ {
+ super.performDefaults();
+
+ agentPort.setText("4700"); //$NON-NLS-1$
+ agentForceEncryption.setSelection(false);
+ agentAuthMethod.select(0);
+ agentProxy.setObjectId(0);
+ agentSharedSecret.setText(""); //$NON-NLS-1$
+ agentSharedSecret.getTextControl().setEnabled(false);
+ }
+}
package org.netxms.ui.eclipse.objectmanager.propertypages;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.ui.dialogs.PropertyPage;
import org.netxms.client.NXCObjectModificationData;
import org.netxms.client.NXCSession;
import org.netxms.client.objects.AbstractNode;
import org.netxms.ui.eclipse.jobs.ConsoleJob;
-import org.netxms.ui.eclipse.objectbrowser.widgets.ObjectSelector;
import org.netxms.ui.eclipse.objectmanager.Activator;
import org.netxms.ui.eclipse.objectmanager.Messages;
import org.netxms.ui.eclipse.shared.ConsoleSharedData;
import org.netxms.ui.eclipse.tools.MessageDialogHelper;
-import org.netxms.ui.eclipse.tools.WidgetHelper;
import org.netxms.ui.eclipse.widgets.LabeledText;
/**
{
private AbstractNode node;
private LabeledText primaryName;
- private LabeledText agentPort;
- private LabeledText agentSharedSecret;
- private Combo agentAuthMethod;
- private Button agentForceEncryption;
private Button agentIsRemote;
- private ObjectSelector agentProxy;
- private Combo snmpVersion;
- private LabeledText snmpPort;
- private Combo snmpAuth;
- private Combo snmpPriv;
- private ObjectSelector snmpProxy;
- private LabeledText snmpAuthName;