Class NXCSession

java.lang.Object
org.netxms.client.NXCSession

public class NXCSession extends Object
Communication session with NetXMS server.
  • Field Details

  • Constructor Details

    • NXCSession

      public NXCSession(String connAddress)
      Create session object that will connect to given address on default port (4701) without encryption.
      Parameters:
      connAddress - server host name or IP address
    • NXCSession

      public NXCSession(String connAddress, int connPort)
      Create session object that will connect to given address on given port without encryption.
      Parameters:
      connAddress - server host name or IP address
      connPort - TCP port
    • NXCSession

      public NXCSession(String connAddress, int connPort, boolean connUseEncryption, boolean enableCompression)
      Create session object that will connect to given address on given port.
      Parameters:
      connAddress - server host name or IP address
      connPort - TCP port
      connUseEncryption - setup encrypted session if true
  • Method Details

    • createCustomObjectFromMessage

      protected AbstractObject createCustomObjectFromMessage(int objectClass, NXCPMessage msg)
      Create custom object from NXCP message. May be overridden by derived classes to create custom NetXMS objects. This method called before standard object creation, so it can be used for overriding standard object classes. If this method returns null, standard object creation mechanism will be used. Default implementation will always return null.
      Parameters:
      objectClass - NetXMS object class ID
      msg - Source NXCP message
      Returns:
      NetXMS object or null if object cannot be created
    • addListener

      public void addListener(SessionListener listener)
      Add notification listener
      Parameters:
      listener - Listener to add
    • removeListener

      public void removeListener(SessionListener listener)
      Remove notification listener
      Parameters:
      listener - Listener to remove
    • addConsoleListener

      public void addConsoleListener(ServerConsoleListener listener)
      Add server console listener
      Parameters:
      listener - The ServerConsoleListener to add
    • removeConsoleListener

      public void removeConsoleListener(ServerConsoleListener listener)
      Remove server console listener
      Parameters:
      listener - The ServerConsoleListener to remove
    • addMessageSubscription

      public void addMessageSubscription(int messageCode, long messageId, MessageHandler handler)
      Subscribe to specific messages
      Parameters:
      messageCode - The message code
      messageId - The message ID
      handler - The message handler
    • removeMessageSubscription

      public void removeMessageSubscription(int messageCode, long messageId)
      Remove message subscription
      Parameters:
      messageCode - The message code
      messageId - The message ID
    • sendNotification

      protected void sendNotification(SessionNotification n)
      Call notification handlers on all registered listeners
      Parameters:
      n - Notification object
    • sendMessage

      public void sendMessage(NXCPMessage msg) throws IOException, NXCException
      Send message to server
      Parameters:
      msg - Message to sent
      Throws:
      IOException - in case of socket communication failure
      NXCException - in case of encryption error
    • sendFile

      protected void sendFile(long requestId, File file, ProgressListener listener, boolean allowStreamCompression, long offset) throws IOException, NXCException
      Send file over NXCP
      Parameters:
      requestId - request ID
      file - source file to be sent
      listener - progress listener
      allowStreamCompression - true if data stream compression is allowed
      offset - offset to start data send or 0 if from the start
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • sendFile

      protected void sendFile(long requestId, byte[] data, ProgressListener listener, boolean allowStreamCompression) throws IOException, NXCException
      Send block of data as binary message
      Parameters:
      requestId - request ID
      data - file data
      listener - progress listener
      allowStreamCompression - true if data stream compression is allowed
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • waitForMessage

      public NXCPMessage waitForMessage(int code, long id, int timeout) throws NXCException
      Wait for message with specific code and id.
      Parameters:
      code - Message code
      id - Message id
      timeout - Wait timeout in milliseconds
      Returns:
      Message object
      Throws:
      NXCException - if message was not arrived within timeout interval
    • waitForMessage

      public NXCPMessage waitForMessage(int code, long id) throws NXCException
      Wait for message with specific code and id.
      Parameters:
      code - Message code
      id - Message id
      Returns:
      Message object
      Throws:
      NXCException - if message was not arrived within timeout interval
    • waitForRCC

      public NXCPMessage waitForRCC(long id) throws NXCException
      Wait for CMD_REQUEST_COMPLETED message with given id using default timeout
      Parameters:
      id - Message id
      Returns:
      received message
      Throws:
      NXCException - if message was not arrived within timeout interval or contains RCC other than RCC.SUCCESS
    • waitForRCC

      public NXCPMessage waitForRCC(long id, int timeout) throws NXCException
      Wait for CMD_REQUEST_COMPLETED message with given id
      Parameters:
      id - Message id
      timeout - Timeout in milliseconds
      Returns:
      received message
      Throws:
      NXCException - if message was not arrived within timeout interval or contains RCC other than RCC.SUCCESS
    • newMessage

      public final NXCPMessage newMessage(int code)
      Create new NXCP message with unique id
      Parameters:
      code - Message code
      Returns:
      New message object
    • waitForFile

      public ReceivedFile waitForFile(long id, int timeout)
      Wait for specific file to arrive
      Parameters:
      id - Message ID
      timeout - Timeout (since arrival of last received file part) in milliseconds to consider file transfer as timed out
      Returns:
      Received file or null in case of failure
    • waitForFileUpdate

      public String waitForFileUpdate(UUID monitorId, int timeout)
      Wait for update from specific file monitor.
      Parameters:
      monitorId - file monitor ID (previously returned by downloadFileFromAgent
      timeout - Wait timeout in milliseconds
      Returns:
      Received tail string or null in case of failure
    • executeSimpleCommand

      protected void executeSimpleCommand(int command) throws IOException, NXCException
      Execute simple commands (without arguments and only returning RCC)
      Parameters:
      command - Command code
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • receiveTable

      public Table receiveTable(long requestId, int msgCode) throws NXCException
      Receive table from server.
      Parameters:
      requestId - request ID
      msgCode - Message code
      Returns:
      Received table
      Throws:
      NXCException - if operation was timed out
    • connect

      Connect to NetMS server. Establish connection with the server and set up encryption if required. Only base protocol version check will be performed. Login must be performed before using session after successful connect.
      Throws:
      IOException - if socket I/O error occurs
      UnknownHostException - if the host is unknown
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • connect

      public void connect(int[] componentVersions) throws IOException, UnknownHostException, NXCException, IllegalStateException
      Connect to NetMS server. Establish connection with the server and set up encryption if required. Versions of protocol components given in *componentVersions* will be validated. Login must be performed before using session after successful connect.
      Parameters:
      componentVersions - The versions of the components
      Throws:
      IOException - if socket I/O error occurs
      UnknownHostException - if the host is unknown
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • login

      public void login(String login, String password) throws NXCException, IOException, IllegalStateException
      Login to server using login name and password.
      Parameters:
      login - login name
      password - password
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • login

      public void login(String token) throws NXCException, IOException, IllegalStateException
      Login to server using authentication token.
      Parameters:
      token - authentication token
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • login

      public void login(String login, Certificate certificate, Signature signature) throws NXCException, IOException, IllegalStateException
      Login to server using certificate.
      Parameters:
      login - login name
      certificate - user's certificate
      signature - user's digital signature
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • login

      public void login(AuthenticationType authType, String login, String password, Certificate certificate, Signature signature, TwoFactorAuthenticationCallback twoFactorAuthenticationCallback) throws NXCException, IOException, IllegalStateException
      Login to server.
      Parameters:
      authType - authentication type
      login - login name
      password - password
      certificate - user's certificate
      signature - user's digital signature
      twoFactorAuthenticationCallback - callback for handling two-factor authentication if requested by server
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
      IllegalStateException - if the state is illegal
    • requestAuthenticationToken

      public void requestAuthenticationToken() throws IOException, NXCException
      Request new ephemetral authentication token for this session from server.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • requestAuthenticationToken

      public AuthenticationToken requestAuthenticationToken(boolean persistent, int validFor, String description, int userId) throws IOException, NXCException
      Request new authentication token from server.
      Parameters:
      persistent - true to request persistent token
      validFor - token validity time in seconds
      description - optional token description (can be null)
      userId - user ID to issue token for (0 to indicate currently logged in user)
      Returns:
      token ID for persistent tokens or 0 for ephemeral
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • revokeAuthenticationToken

      public void revokeAuthenticationToken(int tokenId) throws IOException, NXCException
      Revoke persistent auithentication token.
      Parameters:
      tokenId - token ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAuthenticationTokens

      public List<AuthenticationToken> getAuthenticationTokens(int userId) throws IOException, NXCException
      Get list of active authentication tokens for given user.
      Parameters:
      userId - user ID to get token list for (0 to indicate currently logged in user)
      Returns:
      list of tokens
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • disconnect

      public void disconnect()
      Disconnect from server.
    • isReconnectEnabled

      public boolean isReconnectEnabled()
      Check if background reconnect is enabled.
      Returns:
      true if background reconnect is enabled
    • enableReconnect

      public void enableReconnect(boolean enable)
      Enable or disable background reconnect.
      Parameters:
      enable - true to enable background session reconnect
    • isConnected

      public boolean isConnected()
      Get connection state
      Returns:
      connection state
    • isEncrypted

      public boolean isEncrypted()
      Get encryption state for current session.
      Returns:
      true if session is encrypted
    • isIgnoreProtocolVersion

      public boolean isIgnoreProtocolVersion()
      Get the state of protocol version check
      Returns:
      true if protocol version should not be checked
    • setIgnoreProtocolVersion

      public void setIgnoreProtocolVersion(boolean ignoreProtocolVersion)
      If set to true, protocol version is not checked at connect.
      Parameters:
      ignoreProtocolVersion - true if protocol version should not be checked
    • validateProtocolVersions

      public boolean validateProtocolVersions(int[] versions)
      Validate protocol versions
      Parameters:
      versions - the protocol versions
      Returns:
      true if protocol versions are valid
    • getDefaultRecvBufferSize

      public int getDefaultRecvBufferSize()
      Get default receiver buffer size.
      Returns:
      Default receiver buffer size in bytes.
    • getMaxRecvBufferSize

      public int getMaxRecvBufferSize()
      Get max receiver buffer size.
      Returns:
      Max receiver buffer size in bytes.
    • setRecvBufferSize

      public void setRecvBufferSize(int defaultBufferSize, int maxBufferSize)
      Set receiver buffer size. This method should be called before connect(). It will not have any effect after connect().
      Parameters:
      defaultBufferSize - default size of receiver buffer in bytes.
      maxBufferSize - max size of receiver buffer in bytes.
    • getServerAddress

      public String getServerAddress()
      Get server address
      Returns:
      Server address
    • getServerVersion

      public String getServerVersion()
      Get NetXMS server version.
      Returns:
      Server version
    • getServerBuild

      public String getServerBuild()
      Get NetXMS server build information.
      Returns:
      Server version
    • getServerId

      public long getServerId()
      Get NetXMS server UID.
      Returns:
      Server UID
    • getServerTimeZone

      public String getServerTimeZone()
      Get server time zone.
      Returns:
      server's time zone string
    • getServerName

      public String getServerName()
      Get server name
      Returns:
      the serverName
    • getServerColor

      public String getServerColor()
      Get server identification colour
      Returns:
      the serverColor
    • getServerTime

      public long getServerTime()
      Get server time
      Returns:
      the serverTime
    • getObjectMaintenancePredefinedPeriods

      public String getObjectMaintenancePredefinedPeriods()
      Returns:
      the objectMaintenancePredefinedPeriods
    • getServerChallenge

      public byte[] getServerChallenge()
      Returns:
      the serverChallenge
    • isServerComponentRegistered

      public boolean isServerComponentRegistered(String componentId)
      Check if server component with given id is registered
      Parameters:
      componentId - The component ID
      Returns:
      true if server component is registered
    • getRegisteredServerComponents

      public String[] getRegisteredServerComponents()
      Get list of registered server components
      Returns:
      Array of registered server components
    • getTileServerURL

      public String getTileServerURL()
      Get server URL
      Returns:
      the tileServerURL
    • isZoningEnabled

      public boolean isZoningEnabled()
      Get the state of zoning
      Returns:
      true if zoning is enabled
    • isHelpdeskLinkActive

      public boolean isHelpdeskLinkActive()
      Get status of helpdesk integration module on server.
      Returns:
      true if helpdesk integration module loaded on server
    • getClientInfo

      public String getClientInfo()
      Get client information string
      Returns:
      The client information
    • setClientInfo

      public void setClientInfo(String connClientInfo)
      Set client information string
      Parameters:
      connClientInfo - The client info to set
    • setCommandTimeout

      public void setCommandTimeout(int commandTimeout)
      Set command execution timeout.
      Parameters:
      commandTimeout - New command timeout
    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      Set connect call timeout (must be set before connect call)
      Parameters:
      connectTimeout - connect timeout in milliseconds
    • getUserId

      public int getUserId()
      Get identifier of logged in user.
      Returns:
      Identifier of logged in user
    • getUserName

      public String getUserName()
      Get the current user name
      Returns:
      the userName
    • getAuthenticationMethod

      public AuthenticationType getAuthenticationMethod()
      Get the current authentication method
      Returns:
      the authenticationMethod
    • getUserSystemRights

      public long getUserSystemRights()
      Get system-wide rights of currently logged in user.
      Returns:
      System-wide rights of currently logged in user
    • getMessageOfTheDay

      public String getMessageOfTheDay()
      Get message of the day if server config is set
      Returns:
      Message of the day
    • getLicenseProblems

      public LicenseProblem[] getLicenseProblems()
      Get list of license problems reported by server. This method will always return null for community edition server.
      Returns:
      list of license problems reported by server or null if there are none
    • hasLicenseProblems

      public boolean hasLicenseProblems()
      Check if server has any license problems.
      Returns:
      true if server has any license problems
    • isPasswordExpired

      public boolean isPasswordExpired()
      Check if password is expired for currently logged in user.
      Returns:
      true if password is expired
    • getGraceLogins

      public int getGraceLogins()
      Get number of remaining grace logins
      Returns:
      number of remaining grace logins
    • getAlarmListDisplayLimit

      public int getAlarmListDisplayLimit()
      Get maximum number of records allowed to be displayed in alarm list
      Returns:
      The limit of alarms displayed
    • getClientConfigurationHint

      public String getClientConfigurationHint(String name, String defaultValue)
      Get client configuration hint as string
      Parameters:
      name - hint name
      defaultValue - default value (returned if given hint was not provided by server)
      Returns:
      hint value as provided by server or default value
    • getClientConfigurationHint

      public String getClientConfigurationHint(String name)
      Get client configuration hint as string
      Parameters:
      name - hint name
      Returns:
      hint value as provided by server or null
    • getClientConfigurationHintAsInt

      public int getClientConfigurationHintAsInt(String name, int defaultValue)
      Get client configuration hint as integer
      Parameters:
      name - hint name
      defaultValue - default value (returned if given hint was not provided by server or is not valid integer)
      Returns:
      hint value as provided by server or default value
    • getClientConfigurationHintAsBoolean

      public boolean getClientConfigurationHintAsBoolean(String name, boolean defaultValue)
      Get client configuration hint as boolean
      Parameters:
      name - hint name
      defaultValue - default value (returned if given hint was not provided by server or is not valid boolean)
      Returns:
      hint value as provided by server or default value
    • getResponsibleUserTags

      public Set<String> getResponsibleUserTags()
      Get allowed tags for responsible users.
      Returns:
      allowed tags for responsible users
    • syncObjectCategories

      public void syncObjectCategories() throws IOException, NXCException
      Synchronize object categories
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getObjectCategory

      public ObjectCategory getObjectCategory(int categoryId)
      Get object category by ID
      Parameters:
      categoryId - object category ID
      Returns:
      object category or null
    • getObjectCategories

      public List<ObjectCategory> getObjectCategories()
      Get all object categories.
      Returns:
      all object categories
    • modifyObjectCategory

      public int modifyObjectCategory(MutableObjectCategory category) throws IOException, NXCException
      Modify object category.
      Parameters:
      category - updated category object
      Returns:
      ID of category object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteObjectCategory

      public void deleteObjectCategory(int categoryId, boolean forceDelete) throws IOException, NXCException
      Delete object category. This method will fail if category is in use (set to at least one object) unless forceDelete parameter set to true.
      Parameters:
      categoryId - category ID
      forceDelete - force deletion flag - if set to true category will be deleted even if in use
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjects

      public void syncObjects() throws IOException, NXCException
      Synchronizes NetXMS objects between server and client. After successful sync, subscribe client to object change notifications.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjects

      public void syncObjects(boolean syncNodeComponents) throws IOException, NXCException
      Synchronizes NetXMS objects between server and client. After successful sync, subscribe client to object change notifications.
      Parameters:
      syncNodeComponents - defines if node components should be synced
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjectSet

      public void syncObjectSet(long[] objects) throws IOException, NXCException
      Synchronizes selected object set with the server.
      Parameters:
      objects - identifiers of objects need to be synchronized
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjectSet

      public void syncObjectSet(long[] objects, int options) throws IOException, NXCException
      Synchronizes selected object set with the server. The following options are accepted:
      OBJECT_SYNC_NOTIFY - send object update notification for each received object
      OBJECT_SYNC_WAIT - wait until all requested objects received
      Parameters:
      objects - identifiers of objects need to be synchronized
      options - sync options (see above)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjectSet

      public void syncObjectSet(long[] objects, long mapId, int options) throws IOException, NXCException
      Synchronizes selected object set with the server. The following options are accepted:
      OBJECT_SYNC_NOTIFY - send object update notification for each received object
      OBJECT_SYNC_WAIT - wait until all requested objects received
      OBJECT_SYNC_ALLOW_PARTIAL - allow reading partial object information (map ID should be set to get partial access to objects)
      Parameters:
      objects - identifiers of objects need to be synchronized
      mapId - ID of map object to be used as reference if OBJECT_SYNC_ALLOW_PARTIAL is set
      options - sync options (see above)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncObjectSet

      public void syncObjectSet(Collection<Long> objects, long mapId, int options) throws IOException, NXCException
      Synchronizes selected object set with the server. The following options are accepted:
      OBJECT_SYNC_NOTIFY - send object update notification for each received object
      OBJECT_SYNC_WAIT - wait until all requested objects received
      OBJECT_SYNC_ALLOW_PARTIAL - allow reading partial object information (map ID should be set to get partial access to objects)
      Parameters:
      objects - identifiers of objects need to be synchronized
      mapId - ID of map object to be used as reference if OBJECT_SYNC_ALLOW_PARTIAL is set
      options - sync options (see above)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingObjects

      public void syncMissingObjects(long[] objects) throws IOException, NXCException
      Synchronize only those objects from given set which are not synchronized yet.
      Parameters:
      objects - identifiers of objects need to be synchronized
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingObjects

      public void syncMissingObjects(long[] objects, int options) throws IOException, NXCException
      Synchronize only those objects from given set which are not synchronized yet. Accepts all options which are valid for syncObjectSet.
      Parameters:
      objects - identifiers of objects need to be synchronized
      options - sync options (see comments for syncObjectSet)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingObjects

      public void syncMissingObjects(long[] objects, long mapId, int options) throws IOException, NXCException
      Synchronize only those objects from given set which are not synchronized yet. Accepts all options which are valid for syncObjectSet.
      Parameters:
      objects - identifiers of objects need to be synchronized
      mapId - ID of map object to be used as reference if OBJECT_SYNC_ALLOW_PARTIAL is set
      options - sync options (see comments for syncObjectSet)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingObjects

      public void syncMissingObjects(Collection<Long> objects, int options) throws IOException, NXCException
      Synchronize only those objects from given set which are not synchronized yet. Accepts all options which are valid for syncObjectSet.
      Parameters:
      objects - identifiers of objects need to be synchronized
      options - sync options (see comments for syncObjectSet)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingObjects

      public void syncMissingObjects(Collection<Long> objects, long mapId, int options) throws IOException, NXCException
      Synchronize only those objects from given set which are not synchronized yet. Accepts all options which are valid for syncObjectSet.
      Parameters:
      objects - identifiers of objects need to be synchronized
      mapId - ID of map object to be used as reference if OBJECT_SYNC_ALLOW_PARTIAL is set
      options - sync options (see comments for syncObjectSet)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncChildren

      public void syncChildren(AbstractObject object) throws NXCException, IOException
      Sync children of given object.
      Parameters:
      object - parent object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • areChildrenSynchronized

      public boolean areChildrenSynchronized(long id)
      Returns true if children are already synchronized for given object.
      Parameters:
      id - object id
      Returns:
      true if children are synchronized
    • findObjectByRegex

      public List<AbstractObject> findObjectByRegex(String regex)
      Find object by regex
      Parameters:
      regex - for object name
      Returns:
      list of matching objects
    • findObjectById

      public AbstractObject findObjectById(long id)
      Find NetXMS object by it's identifier.
      Parameters:
      id - Object identifier
      Returns:
      Object with given ID or null if object cannot be found
    • findObjectById

      public AbstractObject findObjectById(long id, boolean allowPartial)
      Find NetXMS object by it's identifier as full object or as partial object
      Parameters:
      id - Object identifier
      allowPartial - true to allow returning objects with partial data
      Returns:
      Object with given ID or null if object cannot be found
    • findFutureObjectById

      public org.netxms.client.FutureObject findFutureObjectById(long id)
      Find NetXMS object by it's identifier or return wait an object to wait on
      Parameters:
      id - Object identifier
      Returns:
      Object to wait on if object not found. If object is found it will be already set inside
    • findObjectAsync

      public void findObjectAsync(long id, ObjectCreationListener callback)
      Find NetXMS object by it's identifier and execute provided callback once found
      Parameters:
      id - Object identifier
      callback - callback to be called when object is found
    • findObjectById

      public <T> T findObjectById(long id, Class<T> requiredClass)
      Find NetXMS object by it's identifier with additional class checking.
      Type Parameters:
      T - Object
      Parameters:
      id - object identifier
      requiredClass - required object class
      Returns:
      Object with given ID or null if object cannot be found or is not an instance of required class
    • findMultipleObjects

      public List<AbstractObject> findMultipleObjects(long[] idList, boolean returnUnknown)
      Find multiple NetXMS objects by identifiers
      Parameters:
      idList - array of object identifiers
      returnUnknown - if true, this method will return UnknownObject placeholders for unknown object identifiers
      Returns:
      list of found objects
    • findMultipleObjects

      public List<AbstractObject> findMultipleObjects(long[] idList, Class<? extends AbstractObject> classFilter, boolean returnUnknown)
      Find multiple NetXMS objects by identifiers
      Parameters:
      idList - array of object identifiers
      classFilter - class filter for objects, or null to disable filtering
      returnUnknown - if true, this method will return UnknownObject placeholders for unknown object identifiers
      Returns:
      list of found objects
    • findMultipleObjects

      public List<AbstractObject> findMultipleObjects(Collection<Long> idList, boolean returnUnknown)
      Find multiple NetXMS objects by identifiers
      Parameters:
      idList - collection of object identifiers
      returnUnknown - if true, this method will return UnknownObject placeholders for unknown object identifiers
      Returns:
      array of found objects
    • findMultipleObjects

      public List<AbstractObject> findMultipleObjects(Collection<Long> idList, Class<? extends AbstractObject> classFilter, boolean returnUnknown)
      Find multiple NetXMS objects by identifiers
      Parameters:
      idList - collection of object identifiers
      classFilter - class filter for objects, or null to disable filtering
      returnUnknown - if true, this method will return UnknownObject placeholders for unknown object identifiers
      Returns:
      array of found objects
    • findObjectByGUID

      public AbstractObject findObjectByGUID(UUID guid)
      Find NetXMS object by it's GUID.
      Parameters:
      guid - Object GUID
      Returns:
      Object with given ID or null if object cannot be found
    • findObjectByGUID

      public <T extends AbstractObject> T findObjectByGUID(UUID guid, Class<T> requiredClass)
      Find NetXMS object by it's GUID with additional class checking.
      Type Parameters:
      T - Object
      Parameters:
      guid - object GUID
      requiredClass - required object class
      Returns:
      Object with given ID or null if object cannot be found or is not an instance of required class
    • findZone

      public Zone findZone(int zoneUIN)
      Find zone object by zone UIN (unique identification number).
      Parameters:
      zoneUIN - zone UIN to find
      Returns:
      zone object or null
    • getAllZones

      public List<Zone> getAllZones()
      Get all accessible zone objects
      Returns:
      list of all accessible zone objects
    • findObjectByName

      public AbstractObject findObjectByName(String name)
      Find object by name. If multiple objects with same name exist, it is not determined what object will be returned. Name comparison is case-insensitive.
      Parameters:
      name - object name to find
      Returns:
      object with matching name or null
    • findObjectByName

      public AbstractObject findObjectByName(String name, ObjectFilter filter)
      Find object by name with object filter. Name comparison is case-insensitive.
      Parameters:
      name - object name to find
      filter - TODO
      Returns:
      object with matching name or null
    • findObjectByNamePattern

      public AbstractObject findObjectByNamePattern(String pattern)
      Find object by name using regular expression. If multiple objects with same name exist, it is not determined what object will be returned. Name comparison is case-insensitive.
      Parameters:
      pattern - regular expression for matching object name
      Returns:
      object with matching name or null
    • findObject

      public AbstractObject findObject(ObjectFilter filter)
      Generic object find using filter. WIll return first object matching given filter.
      Parameters:
      filter - ObjectFilter to filter the result
      Returns:
      first matching object or null
    • filterObjects

      public List<AbstractObject> filterObjects(ObjectFilter filter)
      Find all objects matching given filter.
      Parameters:
      filter - ObjectFilter to filter the result
      Returns:
      list of matching objects (empty list if nothing found)
    • getTopLevelObjects

      public AbstractObject[] getTopLevelObjects(ObjectFilter objectFilter)
      Get list of top-level objects matching given object filter. Filter may be null.
      Parameters:
      objectFilter - filter for objects
      Returns:
      List of all top matching level objects (either without parents or with inaccessible parents)
    • getTopLevelObjects

      public AbstractObject[] getTopLevelObjects(Set<Integer> classFilter)
      Get list of top-level objects matching given class filter. Class filter may be null to ignore object class.
      Parameters:
      classFilter - To filter the classes
      Returns:
      List of all top matching level objects (either without parents or with inaccessible parents)
    • getTopLevelObjects

      public AbstractObject[] getTopLevelObjects()
      Get list of top-level objects.
      Returns:
      List of all top level objects (either without parents or with inaccessible parents)
    • getAllObjects

      public List<AbstractObject> getAllObjects()
      Get list of all objects
      Returns:
      List of all objects
    • getObjectName

      public String getObjectName(long objectId)
      Get object name by ID.
      Parameters:
      objectId - object ID
      Returns:
      object name if object is known, or string in form [<object_id>] for unknown objects
    • getObjectNameWithAlias

      public String getObjectNameWithAlias(long objectId)
      Get object name with alias by ID.
      Parameters:
      objectId - object ID
      Returns:
      object name with alias if object is known, or string in form [<object_id>] for unknown objects
    • getZoneName

      public String getZoneName(int zoneUIN)
      Get zone name by UIN
      Parameters:
      zoneUIN - zone UIN
      Returns:
      zone name
    • queryObjects

      public List<AbstractObject> queryObjects(String query, long rootObjectId) throws IOException, NXCException
      Query objects on server side, optionally only those located below given root object.
      Parameters:
      query - query to execute
      rootObjectId - root object ID or 0 to query all objects
      Returns:
      list of matching objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryObjects

      public List<AbstractObject> queryObjects(String query) throws IOException, NXCException
      Query objects on server side
      Parameters:
      query - query to execute
      Returns:
      list of matching objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryObjectDetails

      public List<ObjectQueryResult> queryObjectDetails(String query, long rootObjectId, List<String> properties, List<String> orderBy, Map<String,String> inputFields, long contextObjectId, boolean readAllComputedProperties, int limit) throws IOException, NXCException
      Query objects on server side and read certain object properties. Available properties are the same as in corresponding NXSL objects or computed properties set using "with" statement in query. If readAllComputedProperties is set to true then all computed properties will be retrieved in addition to those explicitly listed. Set of queried objects can be limited to child objects of certain object.
      Parameters:
      query - query to execute
      rootObjectId - ID of root object or 0 to query all objects
      properties - object properties to read
      orderBy - list of properties for ordering result set (can be null)
      inputFields - set of input fields provided by user (can be null)
      contextObjectId - ID of context object (will be available in query via global variable $context), 0 if none
      readAllComputedProperties - if set to true, query will return all computed properties in addition to properties explicitly listed in properties parameter
      limit - limit number of records (0 for unlimited)
      Returns:
      list of matching objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getObjectQueries

      public List<ObjectQuery> getObjectQueries() throws IOException, NXCException
      Get list of configured object queries.
      Returns:
      list of configured object queries
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyObjectQuery

      public int modifyObjectQuery(ObjectQuery query) throws IOException, NXCException
      Modify object query. If query ID is 0 new query object will be created and assigned ID will be returned.
      Parameters:
      query - query to create or modify
      Returns:
      assigned query ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteObjectQuery

      public void deleteObjectQuery(int queryId) throws IOException, NXCException
      Delete predefined object query.
      Parameters:
      queryId - query ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAlarms

      public HashMap<Long,Alarm> getAlarms() throws IOException, NXCException
      Get list of active alarms. For accessing terminated alarms log view API should be used.
      Returns:
      Hash map containing alarms
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAlarm

      public Alarm getAlarm(long alarmId) throws IOException, NXCException
      Get information about single active alarm. Terminated alarms cannot be accessed with this call.
      Parameters:
      alarmId - alarm ID
      Returns:
      alarm object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAlarmEvents

      public List<EventInfo> getAlarmEvents(long alarmId) throws IOException, NXCException
      Get information about events related to single active alarm. Information for terminated alarms cannot be accessed with this call. User must have "view alarms" permission on alarm's source node and "view event log" system-wide access.
      Parameters:
      alarmId - alarm ID
      Returns:
      list of related events
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • acknowledgeAlarm

      public void acknowledgeAlarm(long alarmId, boolean sticky, int time) throws IOException, NXCException
      Acknowledge alarm.
      Parameters:
      alarmId - Identifier of alarm to be acknowledged.
      sticky - if set to true, acknowledged state will be made "sticky" (duplicate alarms with same key will not revert it back to outstanding)
      time - timeout for sticky acknowledge in seconds (0 for infinite)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • acknowledgeAlarm

      public void acknowledgeAlarm(long alarmId) throws IOException, NXCException
      Acknowledge alarm.
      Parameters:
      alarmId - Identifier of alarm to be acknowledged.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • acknowledgeAlarm

      public void acknowledgeAlarm(String helpdeskReference) throws IOException, NXCException
      Acknowledge alarm by helpdesk reference.
      Parameters:
      helpdeskReference - Helpdesk issue reference (e.g. JIRA issue key)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • resolveAlarm

      public void resolveAlarm(long alarmId) throws IOException, NXCException
      Resolve alarm.
      Parameters:
      alarmId - Identifier of alarm to be resolved.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • resolveAlarm

      public void resolveAlarm(String helpdeskReference) throws IOException, NXCException
      Resolve alarm by helpdesk reference.
      Parameters:
      helpdeskReference - Identifier of alarm to be resolved.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • terminateAlarm

      public void terminateAlarm(long alarmId) throws IOException, NXCException
      Terminate alarm.
      Parameters:
      alarmId - Identifier of alarm to be terminated.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • terminateAlarm

      public void terminateAlarm(String helpdeskReference) throws IOException, NXCException
      Terminate alarm by helpdesk reference.
      Parameters:
      helpdeskReference - Identifier of alarm to be resolved.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • bulkResolveAlarms

      public Map<Long,Integer> bulkResolveAlarms(List<Long> alarmIds) throws IOException, NXCException
      Bulk terminate alarms.
      Parameters:
      alarmIds - Identifiers of alarms to be terminated.
      Returns:
      true if all alarms were terminated, false if some, or all, were not terminated
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • bulkTerminateAlarms

      public Map<Long,Integer> bulkTerminateAlarms(List<Long> alarmIds) throws IOException, NXCException
      Bulk terminate alarms.
      Parameters:
      alarmIds - Identifiers of alarms to be terminated.
      Returns:
      true if all alarms were terminated, false if some, or all, were not terminated
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAlarm

      public void deleteAlarm(long alarmId) throws IOException, NXCException
      Delete alarm.
      Parameters:
      alarmId - Identifier of alarm to be deleted.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openHelpdeskIssue

      public String openHelpdeskIssue(long alarmId) throws IOException, NXCException
      Open issue in helpdesk system from given alarm
      Parameters:
      alarmId - alarm identifier
      Returns:
      helpdesk issue identifier
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getHelpdeskIssueUrl

      public String getHelpdeskIssueUrl(long alarmId) throws IOException, NXCException
      Get URL for helpdesk issue associated with given alarm
      Parameters:
      alarmId - The ID of alarm
      Returns:
      URL of helpdesk issue
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unlinkHelpdeskIssue

      public void unlinkHelpdeskIssue(String helpdeskReference) throws IOException, NXCException
      Unlink helpdesk issue from alarm. User must have OBJECT_ACCESS_UPDATE_ALARMS access right on alarm's source object and SYSTEM_ACCESS_UNLINK_ISSUES system wide access right.
      Parameters:
      helpdeskReference - The helpdesk reference
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unlinkHelpdeskIssue

      public void unlinkHelpdeskIssue(long alarmId) throws IOException, NXCException
      Unlink helpdesk issue from alarm. User must have OBJECT_ACCESS_UPDATE_ALARMS access right on alarm's source object and SYSTEM_ACCESS_UNLINK_ISSUES system wide access right.
      Parameters:
      alarmId - alarm id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAlarmComments

      public List<AlarmComment> getAlarmComments(long alarmId) throws IOException, NXCException
      Get list of comments for given alarm.
      Parameters:
      alarmId - alarm ID
      Returns:
      list of alarm comments
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAlarmComment

      public void deleteAlarmComment(long alarmId, long commentId) throws IOException, NXCException
      Delete alarm comment.
      Parameters:
      alarmId - alarm ID
      commentId - comment ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createAlarmComment

      public void createAlarmComment(long alarmId, String text) throws IOException, NXCException
      Create alarm comment.
      Parameters:
      alarmId - The alarm ID
      text - The comment text
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createAlarmComment

      public void createAlarmComment(String helpdeskReference, String text) throws IOException, NXCException
      Create alarm comment by helpdesk reference.
      Parameters:
      helpdeskReference - The helpdesk reference
      text - The reference text
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateAlarmComment

      public void updateAlarmComment(long alarmId, long commentId, String text) throws IOException, NXCException
      Update alarm comment. If alarmId == 0 — new comment will be created.
      Parameters:
      alarmId - alarm ID
      commentId - comment ID or 0 for creating new comment
      text - message text
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setAlarmFlowState

      public void setAlarmFlowState(int state) throws IOException, NXCException
      Changes state of alarm status flow. Strict or not - terminate state can be set only after resolve state or after any state.
      Parameters:
      state - state of alarm status flow - strict or not (1 or 0)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getServerVariables

      public Map<String,ServerVariable> getServerVariables() throws IOException, NXCException
      Get server configuration variables
      Returns:
      The server variables
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPublicServerVariable

      public String getPublicServerVariable(String name) throws IOException, NXCException
      Get server public configuration variable
      Parameters:
      name - configuration variable name
      Returns:
      value of requested configuration variable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPublicServerVariableAsInt

      public int getPublicServerVariableAsInt(String name) throws IOException, NXCException
      Get server public configuration variable as a int
      Parameters:
      name - configuration variable name
      Returns:
      value of requested configuration variable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPublicServerVariableAsBoolean

      public boolean getPublicServerVariableAsBoolean(String name) throws IOException, NXCException
      Get server public configuration variable as boolen value
      Parameters:
      name - configuration variable name
      Returns:
      value of requested configuration variable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setServerVariable

      public void setServerVariable(String name, String value) throws IOException, NXCException
      Set server configuration variable
      Parameters:
      name - The name of the variable
      value - The value of the variable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteServerVariable

      public void deleteServerVariable(String name) throws IOException, NXCException
      Delete server configuration variable
      Parameters:
      name - The name of the variable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setDefaultServerValues

      public void setDefaultServerValues(List<ServerVariable> varList) throws IOException, NXCException
      Set server configuration variables to default
      Parameters:
      varList - The list of variables
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getServerConfigClob

      public String getServerConfigClob(String name) throws IOException, NXCException
      Get server config CLOB
      Parameters:
      name - The name of the config
      Returns:
      The config CLOB
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setServerConfigClob

      public void setServerConfigClob(String name, String value) throws IOException, NXCException
      Set server config CLOB
      Parameters:
      name - The name to set
      value - The value to set
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • subscribe

      public void subscribe(String channel) throws IOException, NXCException
      Subscribe to notification channel. Each subscribe call should be matched by unsubscribe call. Calling subscribe on already subscribed channel will increase internal counter, and subscription will be cancelled when this counter returns back to 0.
      Parameters:
      channel - Notification channel to subscribe to.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unsubscribe

      public void unsubscribe(String channel) throws IOException, NXCException
      Unsubscribe from notification channel.
      Parameters:
      channel - Notification channel to unsubscribe from.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncUserDatabase

      public void syncUserDatabase() throws IOException, NXCException
      Synchronize user database and subscribe to user change notifications
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • subscribeToUserDBUpdates

      public void subscribeToUserDBUpdates() throws IOException, NXCException
      Subscribe to user change notifications
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncUserSet

      public void syncUserSet(Set<Integer> users) throws IOException, NXCException
      Synchronize users by id if does not exist
      Parameters:
      users - list of user id's to synchronize
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncMissingUsers

      public boolean syncMissingUsers(Set<Integer> users) throws IOException, NXCException
      Synchronize only objects that were not yet synchronized
      Parameters:
      users - set of user IDs to sync
      Returns:
      true if synchronization was completed and false if synchronization is not needed
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • isUserDatabaseSynchronized

      public boolean isUserDatabaseSynchronized()
      Check if user database is synchronized with client
      Returns:
      true if user database is synchronized with client
    • findUserDBObjectsByIds

      public List<AbstractUserObject> findUserDBObjectsByIds(Collection<Integer> ids)
      Find multiple users by list of IDs
      Parameters:
      ids - of user DBObjects to find
      Returns:
      list of found users
    • findUserDBObjectById

      public AbstractUserObject findUserDBObjectById(int id, Runnable callback)
      Find user or group by ID. If full user database synchronization was not done this method may return null for existing user that is not yet synchronized with the client. In such case client library will initiate background synchronization of that user object. If provided callback is not null it will be executed when synchronization is complete.
      Parameters:
      id - The user database object ID
      callback - synchronization completion callback (may be null)
      Returns:
      User object with given ID or null if such user does not exist or not synchronized with client.
    • findUserDBObjectByGUID

      public AbstractUserObject findUserDBObjectByGUID(UUID guid)
      Find user or group by GUID
      Parameters:
      guid - The user DBObject GUID
      Returns:
      User object with given GUID or null if such user does not exist
    • getUserDatabaseObjects

      public AbstractUserObject[] getUserDatabaseObjects()
      Get list of all user database objects
      Returns:
      List of all user database objects
    • createUser

      public long createUser(String name) throws IOException, NXCException
      Create user on server
      Parameters:
      name - Login name for new user
      Returns:
      ID assigned to newly created user
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createUserGroup

      public long createUserGroup(String name) throws IOException, NXCException
      Create user group on server
      Parameters:
      name - Name for new user group
      Returns:
      ID assigned to newly created user group
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteUserDBObject

      public void deleteUserDBObject(int id) throws IOException, NXCException
      Delete user or group on server
      Parameters:
      id - User or group ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setUserPassword

      public void setUserPassword(int id, String newPassword, String oldPassword) throws IOException, NXCException
      Set password for user
      Parameters:
      id - User ID
      newPassword - New password
      oldPassword - Old password
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • validateUserPassword

      public boolean validateUserPassword(String password) throws IOException, NXCException
      Validate password for currently logged in user
      Parameters:
      password - password to validate
      Returns:
      true if password is valid
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyUserDBObject

      public void modifyUserDBObject(AbstractUserObject object, int fields) throws IOException, NXCException
      Modify user database object
      Parameters:
      object - User data
      fields - bit mask indicating fields to modify
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyUserDBObject

      public void modifyUserDBObject(AbstractUserObject object) throws IOException, NXCException
      Modify user database object
      Parameters:
      object - User data
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • detachUserFromLdap

      public void detachUserFromLdap(int userId) throws IOException, NXCException
      Detach user from LDAP
      Parameters:
      userId - user ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setAttributeForCurrentUser

      public void setAttributeForCurrentUser(String name, String value) throws IOException, NXCException
      Set custom attribute for currently logged in user. Server will allow to change only attributes whose name starts with dot.
      Parameters:
      name - Attribute's name
      value - New attribute's value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAttributeForCurrentUser

      public String getAttributeForCurrentUser(String name) throws IOException, NXCException
      Get custom attribute for currently logged in user. If attribute is not set, empty string will be returned.
      Parameters:
      name - Attribute's name
      Returns:
      Attribute's value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findMatchingDCI

      public List<DciValue> findMatchingDCI(long objectId, String objectName, String dciName, int flags) throws IOException, NXCException
      Find all DCIs matching given creteria.
      Parameters:
      objectId - if specific object needed (set to 0 if match by object name is needed)
      objectName - regular expression to match object name (not used if object ID is not 0)
      dciName - regular expression to match DCI name
      flags - find flags
      Returns:
      list of all found DCIs and their last values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLastValues

      public DciValue[] getLastValues(long nodeId, boolean objectTooltipOnly, boolean overviewOnly, boolean includeNoValueObjects) throws IOException, NXCException
      Get last DCI values for given node
      Parameters:
      nodeId - ID of the node to get DCI values for
      objectTooltipOnly - if set to true, only DCIs with DCF_SHOW_ON_OBJECT_TOOLTIP flag set are returned
      overviewOnly - if set to true, only DCIs with DCF_SHOW_IN_OBJECT_OVERVIEW flag set are returned
      includeNoValueObjects - if set to true, objects with no value (like instance discovery DCIs) will be returned as well
      Returns:
      List of DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLastValues

      public DciValue[] getLastValues(long nodeId, long mapId, boolean objectTooltipOnly, boolean overviewOnly, boolean includeNoValueObjects) throws IOException, NXCException
      Get last DCI values for given node
      Parameters:
      nodeId - ID of the node to get DCI values for
      objectTooltipOnly - if set to true, only DCIs with DCF_SHOW_ON_OBJECT_TOOLTIP flag set are returned
      overviewOnly - if set to true, only DCIs with DCF_SHOW_IN_OBJECT_OVERVIEW flag set are returned
      includeNoValueObjects - if set to true, objects with no value (like instance discovery DCIs) will be returned as well
      Returns:
      List of DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLastValues

      public DciValue[] getLastValues(long nodeId) throws IOException, NXCException
      Get last DCI values for given node
      Parameters:
      nodeId - ID of the node to get DCI values for
      Returns:
      List of DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getTooltipLastValues

      public Map<Long,DciValue[]> getTooltipLastValues(Set<Long> nodeList) throws IOException, NXCException
      Get tooltip last values for all objects
      Parameters:
      nodeList - list of node IDs
      Returns:
      map with node id to DCI last values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLastValues

      public DciValue[] getLastValues(Set<MapDCIInstance> mapDcis) throws IOException, NXCException
      Get last DCI values for given Map DCI Instance list
      Parameters:
      mapDcis - List with Map DCI Instances
      Returns:
      List of DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLastValues

      public DciValue[] getLastValues(List<SingleDciConfig> dciConfig) throws IOException, NXCException
      Get last DCI values for given Single Dci Config list
      Parameters:
      dciConfig - List with Single Dci Configs
      Returns:
      List of DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getActiveThresholds

      public List<Threshold> getActiveThresholds(List<SingleDciConfig> dciConfig) throws IOException, NXCException
      Get active thresholds
      Parameters:
      dciConfig - Dci config
      Returns:
      list of active thresholds
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getTableLastValues

      public Table getTableLastValues(long nodeId, long dciId) throws IOException, NXCException
      Get last value for given table DCI on given node
      Parameters:
      nodeId - ID of the node to get DCI values for
      dciId - DCI ID
      Returns:
      Table object with last values for table DCI
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDciLastValue

      public DciLastValue getDciLastValue(long nodeId, long dciId) throws IOException, NXCException
      Get last value for given table or single valued DCI on given node
      Parameters:
      nodeId - ID of the node to get DCI values for
      dciId - DCI ID
      Returns:
      Last value object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPerfTabItems

      public List<PerfTabDci> getPerfTabItems(long nodeId) throws IOException, NXCException
      Get list of DCIs configured to be shown on performance tab in console for given node.
      Parameters:
      nodeId - Node object ID
      Returns:
      List of performance tab DCIs
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getThresholdSummary

      public List<ThresholdViolationSummary> getThresholdSummary(long objectId) throws IOException, NXCException
      Get threshold violation summary for all nodes under given parent object. Parent object could be container, subnet, zone, entire network, or infrastructure service root.
      Parameters:
      objectId - parent object ID
      Returns:
      list of threshold violation summary objects for all nodes below given root
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • parseDataRows

      public int parseDataRows(byte[] input, DciData data)
      Parse data from raw message CMD_DCI_DATA. This method is intended for calling by client internal methods only. It made public to allow access from client extensions.
      Parameters:
      input - Raw data
      data - Data object to add rows to
      Returns:
      number of received data rows
    • getCollectedData

      public DciData getCollectedData(long nodeId, long dciId, Date from, Date to, int maxRows, HistoricalDataType valueType) throws IOException, NXCException
      Get collected DCI data from server. Please note that you should specify either row count limit or time from/to limit.
      Parameters:
      nodeId - Node ID
      dciId - DCI ID
      from - Start of time range or null for no limit
      to - End of time range or null for no limit
      maxRows - Maximum number of rows to retrieve or 0 for no limit
      valueType - TODO
      Returns:
      DCI data set
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getCollectedTableData

      public DciData getCollectedTableData(long nodeId, long dciId, String instance, String dataColumn, Date from, Date to, int maxRows) throws IOException, NXCException
      Get collected table DCI data from server. Please note that you should specify either row count limit or time from/to limit.
      Parameters:
      nodeId - Node ID
      dciId - DCI ID
      instance - instance value
      dataColumn - name of column to retrieve data from
      from - Start of time range or null for no limit
      to - End of time range or null for no limit
      maxRows - Maximum number of rows to retrieve or 0 for no limit
      Returns:
      DCI data set
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • clearCollectedData

      public void clearCollectedData(long nodeId, long dciId) throws IOException, NXCException
      Clear collected data for given DCI
      Parameters:
      nodeId - Node object ID
      dciId - DCI ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteDciEntry

      public void deleteDciEntry(long nodeId, long dciId, long timestamp) throws IOException, NXCException
      Delete collected data entry for given DCI
      Parameters:
      nodeId - Node object ID
      dciId - DCI ID
      timestamp - timestamp of entry
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • recalculateDCIValues

      public long recalculateDCIValues(long objectId, long dciId) throws IOException, NXCException
      Start recalculation of DCI values using preserver raw values.
      Parameters:
      objectId - object ID
      dciId - DCI ID
      Returns:
      assigned job ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • forceDCIPoll

      public void forceDCIPoll(long nodeId, long dciId) throws IOException, NXCException
      Force DCI poll for given DCI
      Parameters:
      nodeId - Node object ID
      dciId - DCI ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getThresholds

      public Threshold[] getThresholds(long nodeId, long dciId) throws IOException, NXCException
      Get list of thresholds configured for given DCI
      Parameters:
      nodeId - Node object ID
      dciId - DCI ID
      Returns:
      List of configured thresholds
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • dciIdsToNames

      public Map<Long,DciInfo> dciIdsToNames(List<Long> nodeIds, List<Long> dciIds) throws IOException, NXCException
      Get names for given DCI list
      Parameters:
      nodeIds - node identifiers
      dciIds - DCI identifiers (length must match length of node identifiers list)
      Returns:
      array of resolved DCI names
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • dciIdsToNames

      public Map<Long,DciInfo> dciIdsToNames(Collection<? extends NodeItemPair> itemList) throws IOException, NXCException
      Get names for given DCI list
      Parameters:
      itemList - list of items to resolved
      Returns:
      map of DCI id to DCI description
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • dciNameToId

      public long dciNameToId(long nodeId, String dciName) throws IOException, NXCException
      Get DCI ID for given DCI name
      Parameters:
      nodeId - node object identifier
      dciName - DCI name
      Returns:
      id of DCI with given name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryParameter

      public String queryParameter(long nodeId, DataOrigin origin, String name) throws IOException, NXCException
      Query parameter immediately. This call will cause server to do actual call to managed node and will return current value for given parameter. Result is not cached.
      Parameters:
      nodeId - node object ID
      origin - parameter's origin (NetXMS agent, SNMP, etc.)
      name - parameter's name
      Returns:
      current parameter's value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryAgentTable

      public Table queryAgentTable(long nodeId, String name) throws IOException, NXCException
      Query agent's table immediately. This call will cause server to do actual call to managed node and will return current value for given table. Result is not cached.
      Parameters:
      nodeId - node object ID
      name - table's name
      Returns:
      current table's value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createCustomObject

      protected void createCustomObject(NXCObjectCreationData data, Object userData, NXCPMessage msg)
      Hook method to allow adding of custom object creation data to NXCP message. Default implementation does nothing.
      Parameters:
      data - object creation data passed to createObject
      userData - user-defined data for object creation passed to createObject
      msg - NXCP message that will be sent to server
    • createObject

      public long createObject(NXCObjectCreationData data, Object userData) throws IOException, NXCException
      Create new NetXMS object.
      Parameters:
      data - Object creation data
      userData - User-defined data for custom object creation
      Returns:
      ID of new object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createObject

      public long createObject(NXCObjectCreationData data) throws IOException, NXCException
      Create new NetXMS object. Equivalent of calling createObject(data, null).
      Parameters:
      data - Object creation data
      Returns:
      ID of new object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createObjectSync

      public AbstractObject createObjectSync(NXCObjectCreationData data) throws IOException, NXCException
      Create new NetXMS object in synchronous mode.
      Parameters:
      data - Object creation data
      Returns:
      newly created AbstractObject
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createObjectAsync

      public long createObjectAsync(NXCObjectCreationData data, ObjectCreationListener callback) throws IOException, NXCException
      Create new NetXMS object and run callback once it's created.
      Parameters:
      data - Object creation data
      callback - callback to run on object creation
      Returns:
      ID of new object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteObject

      public void deleteObject(long objectId) throws IOException, NXCException
      Delete object
      Parameters:
      objectId - ID of an object which should be deleted
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyCustomObject

      protected void modifyCustomObject(NXCObjectModificationData data, Object userData, NXCPMessage msg)
      Hook method to populate NXCP message with custom object's data on object modification. Default implementation does nothing.
      Parameters:
      data - object modification data passed to modifyObject
      userData - user-defined data passed to modifyObject
      msg - NXCP message to be sent to server
    • modifyObject

      public void modifyObject(NXCObjectModificationData data, Object userData) throws IOException, NXCException
      Modify object (generic interface, in most cases wrapper functions should be used instead).
      Parameters:
      data - Object modification data
      userData - user-defined data for custom object modification
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyObject

      public void modifyObject(NXCObjectModificationData data) throws IOException, NXCException
      Modify object (generic interface, in most cases wrapper functions should be used instead). Equivalent of calling modifyObject(data, null).
      Parameters:
      data - Object modification data
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectName

      public void setObjectName(long objectId, String name) throws IOException, NXCException
      Change object's name (wrapper for modifyObject())
      Parameters:
      objectId - ID of object to be changed
      name - New object's name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectCustomAttributes

      public void setObjectCustomAttributes(long objectId, Map<String,CustomAttribute> attrList) throws IOException, NXCException
      Change object's custom attributes (wrapper for modifyObject())
      Parameters:
      objectId - The object ID
      attrList - The attribute list
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectACL

      public void setObjectACL(long objectId, Collection<AccessListElement> acl, boolean inheritAccessRights) throws IOException, NXCException
      Change object's ACL (wrapper for modifyObject())
      Parameters:
      objectId - The object id
      acl - The AccessListElements
      inheritAccessRights - true if access rights should be inherited
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • enableAnonymousObjectAccess

      public String enableAnonymousObjectAccess(long objectId) throws IOException, NXCException
      Enable anonymous access to object. Server will add read access right for user "anonymous" and issue authentication token for that user. Authentication token will be returned by this call and can be used for anonymous login.
      Parameters:
      objectId - object ID
      Returns:
      authentication token for anonymous access
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • changeObjectZone

      public void changeObjectZone(long objectId, int zoneUIN) throws IOException, NXCException
      Move object to different zone. Only nodes and clusters can be moved between zones.
      Parameters:
      objectId - Node or cluster object ID
      zoneUIN - The zone UIN (unique identification number)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateObjectComments

      public void updateObjectComments(long objectId, String comments) throws IOException, NXCException
      Change object's comments.
      Parameters:
      objectId - Object's ID
      comments - New comments
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateResponsibleUsers

      public void updateResponsibleUsers(long objectId, List<ResponsibleUser> users) throws IOException, NXCException
      Update list of responsible users for given object.
      Parameters:
      objectId - Object's ID
      users - New list of responsible users
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectManaged

      public void setObjectManaged(long objectId, boolean isManaged) throws IOException, NXCException
      Set object's managed status.
      Parameters:
      objectId - object's identifier
      isManaged - object's managed status
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getEffectiveRights

      public int getEffectiveRights(long objectId) throws IOException, NXCException
      Get effective rights of currently logged in user to given object.
      Parameters:
      objectId - The object ID
      Returns:
      The effective rights
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • bindObject

      public void bindObject(long parentId, long childId) throws IOException, NXCException
      Bind object.
      Parameters:
      parentId - parent object's identifier
      childId - Child object's identifier
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unbindObject

      public void unbindObject(long parentId, long childId) throws IOException, NXCException
      Unbind object.
      Parameters:
      parentId - parent object's identifier
      childId - Child object's identifier
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • removeTemplate

      public void removeTemplate(long templateId, long nodeId, boolean removeDci) throws IOException, NXCException
      Remove data collection template from node.
      Parameters:
      templateId - template object identifier
      nodeId - node object identifier
      removeDci - true if DCIs created from this template should be removed
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • applyTemplate

      public void applyTemplate(long templateId, long nodeId) throws IOException, NXCException
      Apply data collection template to node.
      Parameters:
      templateId - template object ID
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • addClusterNode

      public void addClusterNode(long clusterId, long nodeId) throws IOException, NXCException
      Add node to cluster.
      Parameters:
      clusterId - cluster object ID
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • removeClusterNode

      public void removeClusterNode(long clusterId, long nodeId) throws IOException, NXCException
      Remove node from cluster.
      Parameters:
      clusterId - cluster object ID
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryLayer2Topology

      public NetworkMapPage queryLayer2Topology(long nodeId) throws IOException, NXCException
      Query layer 2 topology for node
      Parameters:
      nodeId - The node ID
      Returns:
      network map page representing layer 2 topology
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryOSPFTopology

      public NetworkMapPage queryOSPFTopology(long nodeId) throws IOException, NXCException
      Query OSPF topology for node
      Parameters:
      nodeId - The node ID
      Returns:
      network map page representing OSPF topology
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryInternalConnectionTopology

      public NetworkMapPage queryInternalConnectionTopology(long nodeId) throws IOException, NXCException
      Query internal connection topology for node
      Parameters:
      nodeId - The node ID
      Returns:
      network map page representing internal communication topology
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeActionWithExpansion

      public String executeActionWithExpansion(long nodeId, long alarmId, String action, Map<String,String> inputValues, List<String> maskedFields) throws IOException, NXCException
      Execute action on remote agent
      Parameters:
      nodeId - Node object ID
      alarmId - Alarm ID (used for macro expansion)
      action - Action with all arguments, that will be expanded and splitted on server side
      inputValues - Input values provided by user for expansion
      maskedFields - List if input fields whose content should be masked (can be null)
      Returns:
      Expanded action name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeActionWithExpansion

      public String executeActionWithExpansion(long nodeId, long alarmId, String action, boolean receiveOutput, Map<String,String> inputValues, List<String> maskedFields, TextOutputListener listener, Writer writer) throws IOException, NXCException
      Execute action on remote agent
      Parameters:
      nodeId - Node object ID
      alarmId - Alarm ID (used for macro expansion)
      action - Action with all arguments, that will be expanded and splitted on server side
      inputValues - Input values provided by user for expansion
      maskedFields - List if input fields whose content should be masked (can be null)
      receiveOutput - true if action's output has to be read
      listener - listener for action's output or null
      writer - writer for action's output or null
      Returns:
      Expanded action name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeAction

      public void executeAction(long nodeId, String action, String[] args) throws IOException, NXCException
      Execute action on remote agent
      Parameters:
      nodeId - Node object ID
      action - Action name
      args - Action arguments
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeAction

      public void executeAction(long nodeId, String action, String[] args, boolean receiveOutput, TextOutputListener listener, Writer writer) throws IOException, NXCException
      Execute action on remote agent
      Parameters:
      nodeId - Node object ID
      action - Action name
      args - Action arguments
      receiveOutput - true if action's output has to be read
      listener - listener for action's output or null
      writer - writer for action's output or null
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeSshCommand

      public void executeSshCommand(long nodeId, long alarmId, String command, Map<String,String> inputFields, List<String> maskedFields, boolean receiveOutput, TextOutputListener listener, Writer writer) throws IOException, NXCException
      Execute SSH command on remote agent
      Parameters:
      nodeId - Node object ID
      alarmId - Alarm ID (0 if not executed in alarm context)
      command - Command to execute
      inputFields - Input fields provided by user or null
      maskedFields - List of input field names for which values should be masked (can be null)
      receiveOutput - true if command's output has to be read
      listener - listener for command's output or null
      writer - writer for command's output or null
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • wakeupNode

      public void wakeupNode(long objectId) throws IOException, NXCException
      Wakeup node by sending wake-on-LAN magic packet. Either node ID or interface ID may be given. If node ID is given, system will send wakeup packets to all active interfaces with IP address.
      Parameters:
      objectId - node or interface ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNodePhysicalComponents

      public PhysicalComponent getNodePhysicalComponents(long nodeId) throws IOException, NXCException
      Get node's physical components (obtained from ENTITY-MIB).
      Parameters:
      nodeId - node object identifier
      Returns:
      root component
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDeviceView

      public DeviceView getDeviceView(long nodeId) throws IOException, NXCException
      Get device view for node.
      Parameters:
      nodeId - node object identifier
      Returns:
      device view object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNodeWinPerfObjects

      public List<WinPerfObject> getNodeWinPerfObjects(long nodeId) throws IOException, NXCException
      Get list of available Windows performance objects. Returns empty list if node does is not a Windows node or does not have WinPerf subagent installed.
      Parameters:
      nodeId - node object ID
      Returns:
      list of available Windows performance objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNodeSoftwarePackages

      public List<SoftwarePackage> getNodeSoftwarePackages(long nodeId) throws IOException, NXCException
      Get list of software packages installed on node.
      Parameters:
      nodeId - node object identifier
      Returns:
      root component
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNodeHardwareComponents

      public List<HardwareComponent> getNodeHardwareComponents(long nodeId) throws IOException, NXCException
      Get list of hardware components as reported by agent.
      Parameters:
      nodeId - node object identifier
      Returns:
      list of hardware components
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getUserSessions

      public List<UserSession> getUserSessions(long nodeId) throws IOException, NXCException
      Get list of user sessions on given node as reported by agent.
      Parameters:
      nodeId - node object identifier
      Returns:
      list of user sessions
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDependentNodes

      public List<DependentNode> getDependentNodes(long nodeId) throws IOException, NXCException
      Get list of dependent nodes for given node. Node is considered dependent if it use given node as any type of proxy or as data collection source for at least one DCI.
      Parameters:
      nodeId - node object ID
      Returns:
      list of dependent node descriptors
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getServerJobList

      public ServerJob[] getServerJobList() throws IOException, NXCException
      Get list of server jobs
      Returns:
      list of server jobs
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • cancelServerJob

      public void cancelServerJob(long jobId) throws IOException, NXCException
      Cancel server job
      Parameters:
      jobId - Job ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • holdServerJob

      public void holdServerJob(long jobId) throws IOException, NXCException
      Put server job on hold
      Parameters:
      jobId - Job ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unholdServerJob

      public void unholdServerJob(long jobId) throws IOException, NXCException
      Put server on hold job to pending state
      Parameters:
      jobId - Job ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getBackgroundTaskState

      public BackgroundTaskState getBackgroundTaskState(long taskId) throws IOException, NXCException
      Get state of background task.
      Parameters:
      taskId - Task ID
      Returns:
      state of background task
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deployAgentPolicy

      public void deployAgentPolicy(long policyId, long nodeId) throws IOException, NXCException
      Deploy policy on agent
      Parameters:
      policyId - Policy object ID
      nodeId - Node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • uninstallAgentPolicy

      public void uninstallAgentPolicy(long policyId, long nodeId) throws IOException, NXCException
      Uninstall policy from agent
      Parameters:
      policyId - Policy object ID
      nodeId - Node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getEventProcessingPolicy

      public EventProcessingPolicy getEventProcessingPolicy() throws IOException, NXCException
      Get read-only copy of event processing policy.
      Returns:
      Event processing policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openEventProcessingPolicy

      public EventProcessingPolicy openEventProcessingPolicy() throws IOException, NXCException
      Open event processing policy for editing. This call will lock event processing policy on server until closeEventProcessingPolicy called or session terminated.
      Returns:
      Event processing policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • saveEventProcessingPolicy

      public void saveEventProcessingPolicy(EventProcessingPolicy epp) throws IOException, NXCException
      Save event processing policy. If policy was not previously open by current session exception will be thrown.
      Parameters:
      epp - Modified event processing policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • closeEventProcessingPolicy

      public void closeEventProcessingPolicy() throws IOException, NXCException
      Close event processing policy. This call will unlock event processing policy on server. If policy was not previously open by current session exception will be thrown.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openDataCollectionConfiguration

      public DataCollectionConfiguration openDataCollectionConfiguration(long nodeId) throws IOException, NXCException
      Open data collection configuration for given node. You must call DataCollectionConfiguration.close() to close data collection configuration when it is no longer needed.
      Parameters:
      nodeId - Node object identifier
      Returns:
      Data collection configuration object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openDataCollectionConfiguration

      public DataCollectionConfiguration openDataCollectionConfiguration(long nodeId, RemoteChangeListener changeListener) throws IOException, NXCException
      Open data collection configuration for given node. You must call DataCollectionConfiguration.close() to close data collection configuration when it is no longer needed.
      Parameters:
      nodeId - Node object identifier
      changeListener - callback that will be called when DCO object is changed by server notification
      Returns:
      Data collection configuration object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyDataCollectionObject

      public long modifyDataCollectionObject(DataCollectionObject dcObject) throws IOException, NXCException
      Modify data collection object without opening data collection configuration.
      Parameters:
      dcObject - dcObject collection object
      Returns:
      Identifier assigned to newly created object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • clearAgentDataCollectionConfiguration

      public void clearAgentDataCollectionConfiguration(long nodeId) throws IOException, NXCException
      Clear data collection configuration on agent. Will wipe out all configuration and collected data.
      Parameters:
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • changeDCIStatus

      public long[] changeDCIStatus(long ownerId, long[] items, int status) throws IOException, NXCException
      Change data collection objects status without opening data collection configuration.
      Parameters:
      ownerId - DCI owner
      items - items to change
      status - new status
      Returns:
      return code for each DCI
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • resyncAgentDataCollectionConfiguration

      public void resyncAgentDataCollectionConfiguration(long nodeId) throws IOException, NXCException
      Force re-synchronization of data collection configuration with agent.
      Parameters:
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • testTransformationScript

      public TransformationTestResult testTransformationScript(long nodeId, String script, String inputValue, DataCollectionObject dcObject) throws IOException, NXCException
      Test DCI transformation script.
      Parameters:
      nodeId - ID of the node object to test script on
      script - script source code
      inputValue - input value for the script
      dcObject - optional data collection object data (for $dci variable in script)
      Returns:
      test execution results
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeLibraryScript

      public void executeLibraryScript(long nodeId, String script, Map<String,String> inputFields, List<String> maskedFields, TextOutputListener listener) throws IOException, NXCException
      Execute library script on object. Script name interpreted as command line with server-side macro substitution. Map inputValues can be used to pass data for %() macros.
      Parameters:
      nodeId - node ID to execute script on
      script - script name and parameters
      inputFields - input values map for %() macro substitution (can be null)
      maskedFields - List of input field names for which values should be masked (can be null)
      listener - script output listener
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeLibraryScript

      public void executeLibraryScript(long objectId, long alarmId, String script, Map<String,String> inputFields, List<String> maskedFields, TextOutputListener listener) throws IOException, NXCException
      Execute library script on object. Script name interpreted as command line with server-side macro substitution. Map inputValues can be used to pass data for %() macros.
      Parameters:
      objectId - ID of the object to execute script on
      alarmId - alarm ID to use for expansion
      script - script name and parameters
      inputFields - input values map for %() macro substitution (can be null)
      maskedFields - List of input field names for which values should be masked (can be null)
      listener - script output listener
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeScript

      public void executeScript(long objectId, String script, String parameters, TextOutputListener listener) throws IOException, NXCException
      Execute script.
      Parameters:
      objectId - ID of the object to execute script on
      script - script source code
      listener - script output listener
      parameters - script parameter list (can be null)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeScript

      public void executeScript(long objectId, String script, String parameters, TextOutputListener listener, boolean developmentMode) throws IOException, NXCException
      Execute script.
      Parameters:
      objectId - ID of the object to execute script on
      script - script source code
      listener - script output listener
      parameters - script parameter list (can be null)
      developmentMode - true if script should be run in development mode
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeScript

      public void executeScript(long objectId, String script, List<String> parameterList, TextOutputListener listener) throws IOException, NXCException
      Execute script.
      Parameters:
      objectId - ID of the object to execute script on
      script - script source code
      parameterList - script parameter list (can be null)
      listener - script output listener
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeScript

      public void executeScript(long objectId, String script, List<String> parameterList, TextOutputListener listener, boolean developmentMode) throws IOException, NXCException
      Execute script.
      Parameters:
      objectId - ID of the object to execute script on
      script - script source code
      parameterList - script parameter list (can be null)
      listener - script output listener
      developmentMode - true if script should be run in development mode
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • stopScript

      public void stopScript(long vmId) throws IOException, NXCException
      Stop running NXSL script. VM identifier is provided via output listener's method setStreamId.
      Parameters:
      vmId - NXSL VM identifier
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryScript

      public Map<String,String> queryScript(long nodeId, String script, List<String> parameterList, TextOutputListener listener) throws IOException, NXCException
      Execute script and get return value as map. Content of returned map depends on actual data type of script return value:
      • For hash map matching map will be returned;
      • For array all elements will be returned as values and keys will be element positions starting as 1;
      • For all other types map will consist of single element with key "1" and script return value as value.
      Parameters:
      nodeId - ID of the node object to test script on
      script - script source code
      parameterList - script parameter list can be null
      listener - script output listener
      Returns:
      script return value as a map
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • compileScript

      public ScriptCompilationResult compileScript(String source, boolean serialize) throws IOException, NXCException
      Compile NXSL script on server. Field *success* in compilation result object will indicate compilation status. If compilation fails, field *errorMessage* will contain compilation error message.
      Parameters:
      source - script source
      serialize - flag to indicate if compiled script should be serialized and sent back to client
      Returns:
      script compilation result object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openServerLog

      public Log openServerLog(String logName) throws IOException, NXCException
      Open server log by name.
      Parameters:
      logName - Log name
      Returns:
      Log object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAlarmCategories

      public List<AlarmCategory> getAlarmCategories() throws IOException, NXCException
      Get alarm categories from server
      Returns:
      List of configured alarm categories
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyAlarmCategory

      public long modifyAlarmCategory(AlarmCategory object) throws IOException, NXCException
      Add or update alarm category in DB
      Parameters:
      object - alarm category
      Returns:
      The ID of the category
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAlarmCategory

      public void deleteAlarmCategory(long id) throws IOException, NXCException
      Delete alarm category in DB
      Parameters:
      id - of alarm category
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncAlarmCategories

      public void syncAlarmCategories() throws IOException, NXCException
      Synchronize alarm category configuration. After call to this method session object will maintain internal list of configured alarm categories
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • isAlarmCategoriesSynchronized

      public boolean isAlarmCategoriesSynchronized()
      Check if alarm categories are synchronized.
      Returns:
      true if if alarm categories are synchronized
    • findAlarmCategoryById

      public AlarmCategory findAlarmCategoryById(long id)
      Find alarm category by id in alarm category database internally maintained by session object. You must call NXCSession.syncAlarmCategories() first to make local copy of event template database.
      Parameters:
      id - alarm category id
      Returns:
      Event template object or null if not found
    • findAlarmCategoryByName

      public AlarmCategory findAlarmCategoryByName(String name)
      Find alarm category by name in alarm category database internally maintained by session object. You must call NXCSession.syncAlarmCategories() first to make local copy of event template database.
      Parameters:
      name - alarm category name
      Returns:
      alarm category with given name or null if not found
    • findMultipleAlarmCategories

      public List<AlarmCategory> findMultipleAlarmCategories(List<Long> ids)
      Find multiple alarm categories by category id`s in alarm category database internally maintained by session object. You must call NXCSession.syncAlarmCategories() first to make local copy of alarm category database.
      Parameters:
      ids - List of alarm category id`s
      Returns:
      List of found alarm categories
    • isEventObjectsSynchronized

      public boolean isEventObjectsSynchronized()
      Check if event configuratrion objects are synchronized.
      Returns:
      true if event configuratrion objects are synchronized
    • syncEventTemplates

      public void syncEventTemplates() throws IOException, NXCException
      Synchronize event templates configuration. After call to this method session object will maintain internal list of configured event templates.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getCachedEventTemplates

      public EventTemplate[] getCachedEventTemplates()
      Get cached list event templates
      Returns:
      List of event templates cached by client library
    • findEventTemplateByName

      public EventTemplate findEventTemplateByName(String name)
      Find event template by name in event template database internally maintained by session object. You must call NXCSession.syncEventObjects() first to make local copy of event template database.
      Parameters:
      name - Event name
      Returns:
      Event template object or null if not found
    • getEventName

      public String getEventName(long code)
      Get event name from event code
      Parameters:
      code - event code
      Returns:
      event name or event code as string if event not found
    • findEventTemplateByCode

      public EventTemplate findEventTemplateByCode(long code)
      Find event template by code in event template database internally maintained by session object. You must call NXCSession.syncEventObjects() first to make local copy of event template database.
      Parameters:
      code - Event code
      Returns:
      Event template object or null if not found
    • findMultipleEventTemplates

      public List<EventTemplate> findMultipleEventTemplates(Collection<Long> codes)
      Find multiple event templates by event codes in event template database internally maintained by session object. You must call NXCSession.syncEventObjects() first to make local copy of event template database.
      Parameters:
      codes - set of event codes
      Returns:
      List of found event templates
    • findMultipleEventTemplates

      public List<EventTemplate> findMultipleEventTemplates(long[] codes)
      Find multiple event templates by event codes in event template database internally maintained by session object. You must call NXCSession.syncEventObjects() first to make local copy of event template database.
      Parameters:
      codes - List of event codes
      Returns:
      List of found event templates
    • getEventTemplates

      public List<EventTemplate> getEventTemplates() throws IOException, NXCException
      Get event objects from server
      Returns:
      List of configured event objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • generateEventCode

      public long generateEventCode() throws IOException, NXCException
      Generate code for new event template.
      Returns:
      Code for new event template
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteEventTemplate

      public void deleteEventTemplate(long eventCode) throws IOException, NXCException
      Delete event template.
      Parameters:
      eventCode - Event code
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyEventObject

      public void modifyEventObject(EventTemplate tmpl) throws IOException, NXCException
      Modify event template.
      Parameters:
      tmpl - Event template
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • sendEvent

      public void sendEvent(long eventCode, String eventName, long objectId, String[] parameters, String userTag, Date originTimestamp) throws IOException, NXCException
      Send event to server. Event can be identified either by event code or event name. If event name is given, event code will be ignored.

      Node: sending events by name supported by server version 1.1.8 and higher.

      Parameters:
      eventCode - event code. Ignored if event name is not null.
      eventName - event name. Must be set to null if event identified by code.
      objectId - Object ID to send event on behalf of. If set to 0, server will determine object ID by client IP address.
      parameters - event's parameters
      userTag - event's user tag
      originTimestamp - origin timestamp or null
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • sendEvent

      public void sendEvent(long eventCode, String[] parameters) throws IOException, NXCException
      Convenience wrapper for sendEvent interface.
      Parameters:
      eventCode - event code
      parameters - event's parameters
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • sendEvent

      public void sendEvent(String eventName, String[] parameters) throws IOException, NXCException
      Convenience wrapper for sendEvent interface.
      Parameters:
      eventName - event name
      parameters - event's parameters
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpCommunities

      public Map<Integer,List<String>> getSnmpCommunities() throws IOException, NXCException
      Get list of well-known SNMP communities configured on server.
      Returns:
      map of SNMP community strings
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpCommunities

      public List<String> getSnmpCommunities(int zoneUIN) throws IOException, NXCException
      Get list of well-known SNMP communities configured on server.
      Parameters:
      zoneUIN - Zone UIN (unique identification number)
      Returns:
      list of SNMP community strings
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateSnmpCommunities

      public void updateSnmpCommunities(int zoneUIN, List<String> communityStrings) throws IOException, NXCException
      Update list of well-known SNMP community strings on server. Existing list will be replaced by provided one.
      Parameters:
      zoneUIN - Zone UIN (unique identification number)
      communityStrings - New list of SNMP community strings
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpUsmCredentials

      public Map<Integer,List<SnmpUsmCredential>> getSnmpUsmCredentials() throws IOException, NXCException
      Get list of well-known SNMP USM (user security model) credentials configured on server.
      Returns:
      Map of SNMP USM credentials
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpUsmCredentials

      public List<SnmpUsmCredential> getSnmpUsmCredentials(int zoneUIN) throws IOException, NXCException
      Get list of well-known SNMP USM (user security model) credentials configured on server.
      Parameters:
      zoneUIN - Zone UIN (unique identification number)
      Returns:
      List of configured SNMP USM credentials
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateSnmpUsmCredentials

      public void updateSnmpUsmCredentials(int zoneUIN, List<SnmpUsmCredential> usmCredentials) throws IOException, NXCException
      Update list of well-known SNMP USM credentials on server. Existing list will be replaced by provided one.
      Parameters:
      zoneUIN - Zone UIN (unique identification number)
      usmCredentials - List of SNMP credentials
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSshCredentials

      public Map<Integer,List<SSHCredentials>> getSshCredentials() throws IOException, NXCException
      Get SSH credentials for all zones.
      Returns:
      list of SSH credentials for all zones
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSshCredentials

      public List<SSHCredentials> getSshCredentials(int zoneUIN) throws IOException, NXCException
      Get SSH credentials for specific zone.
      Parameters:
      zoneUIN - zone UIN
      Returns:
      list of SSH credentials for specific zone
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateSshCredentials

      public void updateSshCredentials(int zoneUIN, List<SSHCredentials> sshCredentials) throws IOException, NXCException
      Update list of well-known SSH credentials on the server. Existing list will be replaced by the provided one.
      Parameters:
      zoneUIN - Zone UIN (unique identification number)
      sshCredentials - List of SSH credentials
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • readAgentConfigurationFile

      public String readAgentConfigurationFile(long nodeId) throws IOException, NXCException
      Get agent's master configuration file.
      Parameters:
      nodeId - Node ID
      Returns:
      Master configuration file of agent running on given node
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • writeAgentConfigurationFile

      public void writeAgentConfigurationFile(long nodeId, String config, boolean apply) throws IOException, NXCException
      Update agent's master configuration file.
      Parameters:
      nodeId - Node ID
      config - New configuration file content
      apply - Apply flag - if set to true, agent will restart automatically to apply changes
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSupportedParameters

      public List<AgentParameter> getSupportedParameters(long nodeId, DataOrigin origin) throws IOException, NXCException
      Get list of parameters supported by entity defined by origin on given node.
      Parameters:
      nodeId - Node ID
      origin - data origin (agent, driver, etc.)
      Returns:
      List of parameters supported by agent
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSupportedParameters

      public List<AgentParameter> getSupportedParameters(long nodeId) throws IOException, NXCException
      Get list of parameters supported by agent running on given node.
      Parameters:
      nodeId - Node ID
      Returns:
      List of parameters supported by agent
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSupportedTables

      public List<AgentTable> getSupportedTables(long nodeId) throws IOException, NXCException
      Get list of tables supported by agent running on given node.
      Parameters:
      nodeId - Node ID
      Returns:
      List of tables supported by agent
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getRelatedEvents

      public long[] getRelatedEvents(long objectId) throws IOException, NXCException
      Get all events used in data collection by given node, cluster, or template object.
      Parameters:
      objectId - node, cluster, or template object ID
      Returns:
      list of used event codes
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDataCollectionScripts

      public List<Script> getDataCollectionScripts(long objectId) throws IOException, NXCException
      Get names of all scripts used in data collection by given node, cluster, or template object.
      Parameters:
      objectId - node, cluster, or template object ID
      Returns:
      list of used library scripts
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • exportConfiguration

      public String exportConfiguration(String description, long[] events, long[] traps, long[] templates, UUID[] rules, long[] scripts, long[] objectTools, long[] dciSummaryTables, long[] actions, long[] webServices, String[] assetAttributes) throws IOException, NXCException
      Export server configuration. Returns requested configuration elements exported into XML.
      Parameters:
      description - Description of exported configuration
      events - List of event codes
      traps - List of trap identifiers
      templates - List of template object identifiers
      rules - List of event processing rule GUIDs
      scripts - List of library script identifiers
      objectTools - List of object tool identifiers
      dciSummaryTables - List of DCI summary table identifiers
      actions - List of action codes
      webServices - List of web service definition id's
      assetAttributes - List of asset management atributes to be exported
      Returns:
      resulting XML document
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • importConfiguration

      public void importConfiguration(String config, int flags) throws IOException, NXCException
      Import server configuration (events, traps, thresholds) from XML document.
      Parameters:
      config - Configuration in XML format
      flags - Import flags
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • importConfiguration

      public String importConfiguration(File configFile, int flags) throws IOException, NXCException
      Import server configuration (events, traps, thresholds) from XML file.
      Parameters:
      configFile - Configuration file in XML format
      flags - Import flags
      Returns:
      Import output messages
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getServerStats

      public Map<String,Object> getServerStats() throws IOException, NXCException
      Get server stats. Returns set of named properties. The following properties could be found in result set: String: VERSION Integer: UPTIME, SESSION_COUNT, DCI_COUNT, OBJECT_COUNT, NODE_COUNT, PHYSICAL_MEMORY_USED, VIRTUAL_MEMORY_USED, QSIZE_CONDITION_POLLER, QSIZE_CONF_POLLER, QSIZE_DCI_POLLER, QSIZE_DBWRITER, QSIZE_EVENT, QSIZE_DISCOVERY, QSIZE_NODE_POLLER, QSIZE_ROUTE_POLLER, QSIZE_STATUS_POLLER, QSIZE_DCI_CACHE_LOADER, ALARM_COUNT long[]: ALARMS_BY_SEVERITY
      Returns:
      Server stats as set of named properties.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getActions

      public List<ServerAction> getActions() throws IOException, NXCException
      Get list of configured actions from server
      Returns:
      List of configured actions
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createAction

      public long createAction(String name) throws IOException, NXCException
      Create new server action.
      Parameters:
      name - action name
      Returns:
      ID assigned to new action
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyAction

      public void modifyAction(ServerAction action) throws IOException, NXCException
      Modify server action
      Parameters:
      action - Action object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAction

      public void deleteAction(long actionId) throws IOException, NXCException
      Delete server action
      Parameters:
      actionId - Action ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getObjectTools

      public List<ObjectTool> getObjectTools() throws IOException, NXCException
      Get list of configured object tools
      Returns:
      List of object tools
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createToolTree

      public ObjectToolFolder createToolTree(List<ObjectTool> tools)
      Create object tool tree
      Parameters:
      tools - list of object tools
      Returns:
      the root folder of the tree
    • getObjectToolsAsTree

      public ObjectToolFolder getObjectToolsAsTree() throws IOException, NXCException
      Returns:
      root object tool folder
      Throws:
      IOException - if socker or file I/O error occours
      NXCException - if NetXMS server returns an error or operation was timed out
    • getObjectToolDetails

      public ObjectToolDetails getObjectToolDetails(long toolId) throws IOException, NXCException
      Get object tool details
      Parameters:
      toolId - Tool ID
      Returns:
      Object tool details
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • generateObjectToolId

      public long generateObjectToolId() throws IOException, NXCException
      Generate unique ID for new object tool.
      Returns:
      Unique ID for object tool
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyObjectTool

      public void modifyObjectTool(ObjectToolDetails tool) throws IOException, NXCException
      Modify object tool.
      Parameters:
      tool - Object tool
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteObjectTool

      public void deleteObjectTool(long toolId) throws IOException, NXCException
      Delete object tool.
      Parameters:
      toolId - Object tool ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • enableObjectTool

      public void enableObjectTool(long toolId, boolean enable) throws IOException, NXCException
      Enable or disable object tool/
      Parameters:
      toolId - Object tool ID
      enable - true if object tool should be enabled, false if it should be disabled
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeTableTool

      public Table executeTableTool(long toolId, long nodeId) throws IOException, NXCException
      Execute object tool of "table" type against given node.
      Parameters:
      toolId - Tool ID
      nodeId - Node object ID
      Returns:
      Table with tool execution results
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeServerCommand

      public void executeServerCommand(long objectId, long alarmId, String command, Map<String,String> inputFields, List<String> maskedFields) throws IOException, NXCException
      Execute server command related to given object (usually defined as object tool)
      Parameters:
      objectId - object ID
      alarmId - Alarm ID (0 if executed outside alarm context)
      command - command
      inputFields - values for input fields (can be null)
      maskedFields - List if input fields whose content should be masked (can be null)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeServerCommand

      public void executeServerCommand(long objectId, long alarmId, String command, Map<String,String> inputFields, List<String> maskedFields, boolean receiveOutput, TextOutputListener listener, Writer writer) throws IOException, NXCException
      Execute server command related to given object (usually defined as object tool)
      Parameters:
      objectId - object ID
      alarmId - Alarm ID (0 if executed outside alarm context)
      command - command
      inputFields - values for input fields (can be null)
      maskedFields - List if input fields whose content should be masked (can be null)
      receiveOutput - true if command's output has to be read
      listener - listener for command's output or null
      writer - writer for command's output or null
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • stopServerCommand

      public void stopServerCommand(long commandId) throws IOException, NXCException
      Stop server command
      Parameters:
      commandId - The command ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpTrapsConfigurationSummary

      public List<SnmpTrap> getSnmpTrapsConfigurationSummary() throws IOException, NXCException
      Get summary of SNMP trap mapping. Trap configurations returned without parameter mapping.
      Returns:
      List of SnmpTrap objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSnmpTrapsConfiguration

      public List<SnmpTrap> getSnmpTrapsConfiguration() throws IOException, NXCException
      Get list of configured SNMP traps
      Returns:
      List of configured SNMP traps.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createSnmpTrapConfiguration

      public long createSnmpTrapConfiguration() throws IOException, NXCException
      Create new trap configuration record.
      Returns:
      ID of new record
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteSnmpTrapConfiguration

      public void deleteSnmpTrapConfiguration(long trapId) throws IOException, NXCException
      Delete SNMP trap configuration record from server.
      Parameters:
      trapId - Trap configuration record ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifySnmpTrapConfiguration

      public void modifySnmpTrapConfiguration(SnmpTrap trap) throws IOException, NXCException
      Modify SNMP trap configuration record.
      Parameters:
      trap - Modified trap configuration record
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getMibFileTimestamp

      public Date getMibFileTimestamp() throws IOException, NXCException
      Get timestamp of server's MIB file.
      Returns:
      Timestamp of server's MIB file
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • downloadMibFile

      public File downloadMibFile() throws IOException, NXCException
      Download MIB file from server.
      Returns:
      file handle for temporary file on local file system
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPredefinedGraph

      public GraphDefinition getPredefinedGraph(long graphId) throws IOException, NXCException
      Get predefined graph information by graph id
      Parameters:
      graphId - graph id
      Returns:
      predefined chart object
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPredefinedGraphs

      public List<GraphDefinition> getPredefinedGraphs(boolean graphTemplates) throws IOException, NXCException
      Get list of predefined graphs or graph templates
      Parameters:
      graphTemplates - defines if non template or template graph list should re requested
      Returns:
      message with predefined graphs or with template graphs
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createGraphTree

      public static GraphFolder createGraphTree(List<GraphDefinition> graphs)
      Create graph tree from list
      Parameters:
      graphs - list of predefined graphs
      Returns:
      graph tree
    • getPredefinedGraphsAsTree

      public GraphFolder getPredefinedGraphsAsTree() throws IOException, NXCException
      Returns:
      root graph folder
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • saveGraph

      public long saveGraph(GraphDefinition graph, boolean overwrite) throws IOException, NXCException
      Checks if graph with specified name can be created/overwritten and creates/overwrites it in DB. If graph id is set to 0 it checks if graph with the same name exists, and if yes checks overwrite parameter. If it is set to false, then function returns error that graph with this name already exists. If there is no graph with the same name it just creates a new one. If id is set it checks that provided name is assigned only to this graph and overwrites it or throws error is the same name was already used. Also check if user have permissions to overwrite graph.

      If it can, then it returns 1. If graph with this name already exists, but can be overwritten by current user function returns 2. If graph with this name already exists, but can not be overwritten by current user function returns 0.

      Parameters:
      graph - predefined graph configuration
      overwrite - defines if existing graph should be overwritten
      Returns:
      ID of predefined graph object
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deletePredefinedGraph

      public void deletePredefinedGraph(long graphId) throws IOException, NXCException
      Delete predefined graph.
      Parameters:
      graphId - predefined graph object ID
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getScriptLibrary

      public List<Script> getScriptLibrary() throws IOException, NXCException
      Get list of all scripts in script library.
      Returns:
      ID/name pairs for scripts in script library
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getScript

      public Script getScript(long scriptId) throws IOException, NXCException
      Get script from library
      Parameters:
      scriptId - script ID
      Returns:
      script source code
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyScript

      public long modifyScript(long scriptId, String name, String source) throws IOException, NXCException
      Modify script. If scriptId is 0, new script will be created in library.
      Parameters:
      scriptId - script ID
      name - script name
      source - script source code
      Returns:
      script ID (newly assigned if new script was created)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • renameScript

      public void renameScript(long scriptId, String name) throws IOException, NXCException
      Rename script in script library.
      Parameters:
      scriptId - script ID
      name - new script name
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteScript

      public void deleteScript(long scriptId) throws IOException, NXCException
      Delete script from library
      Parameters:
      scriptId - script ID
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findConnectionPoint

      public ConnectionPoint findConnectionPoint(long objectId) throws IOException, NXCException
      Find connection point (either directly connected or most close known interface on a switch) for given node or interface object. Will return null if connection point information cannot be found.
      Parameters:
      objectId - Node or interface object ID
      Returns:
      connection point information or null
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findConnectionPoint

      public ConnectionPoint findConnectionPoint(MacAddress macAddr) throws IOException, NXCException
      Find node and/or connection point (either directly connected or most close known interface on a switch) for given MAC address. Will return null if no information can be found.
      Parameters:
      macAddr - MAC address
      Returns:
      connection point information or null
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findConnectionPoints

      public List<ConnectionPoint> findConnectionPoints(byte[] pattern, int searchLimit) throws IOException, NXCException
      Find nodes and/or connection points (either directly connected or most close known interface on a switch) for all MAC addresses that match given MAC address pattern. Will return empty list if no information can be found.
      Parameters:
      pattern - MAC address pattern (1-6 bytes)
      searchLimit - limits count of elements in output list
      Returns:
      list of connection point information
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findConnectionPoint

      public ConnectionPoint findConnectionPoint(int zoneId, InetAddress ipAddr) throws IOException, NXCException
      Find connection point (either directly connected or most close known interface on a switch) for given IP address. Will return null if connection point information cannot be found.
      Parameters:
      zoneId - zone ID
      ipAddr - IP address to find
      Returns:
      connection point information or null
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findNodesByHostname

      public List<AbstractNode> findNodesByHostname(int zoneId, String hostname) throws IOException, NXCException
      Find all nodes that contain the primary hostname
      Parameters:
      zoneId - zone ID
      hostname - Hostname to find
      Returns:
      List of nodes found
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • checkConnection

      public boolean checkConnection()
      Send KEEPALIVE message. Return true is connection is fine and false otherwise. If connection is broken, session notification with code CONNECTION_BROKEN will be sent to all subscribers. Note that this function will not throw exception in case of error.
      Returns:
      true if connection is fine
    • getImageLibrary

      public List<LibraryImage> getImageLibrary() throws IOException, NXCException
      Get the whole image library
      Returns:
      List of library images
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getImageLibrary

      public List<LibraryImage> getImageLibrary(String category) throws IOException, NXCException
      Get the image library of specific category
      Parameters:
      category - The name of the category
      Returns:
      List of library images
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getImage

      public LibraryImage getImage(UUID guid) throws IOException, NXCException
      Get an image from the library
      Parameters:
      guid - UUID of the image
      Returns:
      The image
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createImage

      public LibraryImage createImage(LibraryImage image, ProgressListener listener) throws IOException, NXCException
      Create an image
      Parameters:
      image - The Image
      listener - The ProgressListener
      Returns:
      The image created
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteImage

      public void deleteImage(LibraryImage image) throws IOException, NXCException
      Delete an image
      Parameters:
      image - The image to delete
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteImage

      public void deleteImage(UUID guid) throws IOException, NXCException
      Delete an image
      Parameters:
      guid - ID of image to delete
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyImage

      public void modifyImage(LibraryImage image, ProgressListener listener) throws IOException, NXCException
      Modify an image
      Parameters:
      image - The image to modify
      listener - The ProgressListener
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • pollObject

      public void pollObject(long objectId, ObjectPollType pollType, TextOutputListener listener) throws IOException, NXCException
      Perform a forced object poll. This method will not return until poll is complete, so it's advised to run it from separate thread. For each message received from poller listener's method onPollerMessage will be called.
      Parameters:
      objectId - object ID
      pollType - poll type
      listener - text output listener (can be null)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPersistentStorageList

      public HashMap<String,String> getPersistentStorageList() throws IOException, NXCException
      Get list of all values in persistent storage
      Returns:
      Hash map wit persistent storage key, value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setPersistentStorageValue

      public void setPersistentStorageValue(String key, String value) throws IOException, NXCException
      Set persistent storage value. Will create new or update existing
      Parameters:
      key - unique key of persistent storage value
      value - value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deletePersistentStorageValue

      public void deletePersistentStorageValue(String key) throws IOException, NXCException
      Delete persistent storage value
      Parameters:
      key - unique key of persistent storage value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • listServerFiles

      public ServerFile[] listServerFiles() throws IOException, NXCException
      List files in server's file store.
      Returns:
      list of files in server's file store
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • listServerFiles

      public ServerFile[] listServerFiles(String[] filter) throws IOException, NXCException
      List files in server's file store.
      Parameters:
      filter - array with required extension. Will be used as file filter. Give empty array or null if no filter should be applyed.
      Returns:
      list of files in server's file store
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • listAgentFiles

      public List<AgentFile> listAgentFiles(AgentFile file, String fullPath, long objectId) throws IOException, NXCException
      List files on agent file store.
      Parameters:
      file - parent of new coomming list
      fullPath - path that will be used on an agent to get list of subfiles
      objectId - the ID of the node
      Returns:
      will return the list of sub files or the list of allowed folders if full path is set to "/"
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentFileInfo

      public AgentFileInfo getAgentFileInfo(AgentFile file) throws IOException, NXCException
      Return information about agent file
      Parameters:
      file - The AgentFile in question
      Returns:
      AgentFileInfo object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • uploadFileToAgent

      public long uploadFileToAgent(long nodeId, String serverFileName, String remoteFileName, boolean jobOnHold) throws IOException, NXCException
      Start file upload from server's file store to agent. Returns ID of upload job.
      Parameters:
      nodeId - node object ID
      serverFileName - file name in server's file store
      remoteFileName - fully qualified file name on target system or null to upload file to agent's file store
      jobOnHold - if true, upload job will be created in "hold" status
      Returns:
      ID of upload job
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • uploadFileToServer

      public void uploadFileToServer(File localFile, String serverFileName, ProgressListener listener) throws IOException, NXCException
      Upload local file to server's file store
      Parameters:
      localFile - local file
      serverFileName - name under which file will be stored on server
      listener - The ProgressListener to set
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • uploadLocalFileToAgent

      public void uploadLocalFileToAgent(long nodeId, File localFile, String remoteFileName, boolean overwrite, ProgressListener listener) throws IOException, NXCException
      Upload local file to remote node via agent. If remote file name is not provided local file name will be used.
      Parameters:
      nodeId - node object ID
      localFile - local file
      remoteFileName - remote file name (can be null or empty)
      overwrite - "allow overwrite" flag (if set to true, agent will overwrite existing file)
      listener - progress listener (can be null)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createFolderOnAgent

      public void createFolderOnAgent(long nodeId, String folder) throws IOException, NXCException
      Create folder on remote system via agent
      Parameters:
      nodeId - node object ID
      folder - folder name
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • downloadFileFromAgent

      public AgentFileData downloadFileFromAgent(long nodeId, String remoteFileName, long maxFileSize, boolean follow, ProgressListener listener, ServerJobIdUpdater updateServerJobId) throws IOException, NXCException
      Download file from remote host via agent. If maxFileSize is set to non-zero value then last maxFileSize bytes will be retrieved.
      Parameters:
      nodeId - node object ID
      remoteFileName - fully qualified file name on remote system
      maxFileSize - maximum download size, 0 == UNLIMITED
      follow - if set to true, server will send file updates as they appear (like for tail -f command)
      listener - The ProgressListener to set
      updateServerJobId - callback for updating server job ID
      Returns:
      agent file handle which contains server assigned ID and handle for local file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • downloadFileFromAgent

      public AgentFileData downloadFileFromAgent(long nodeId, String remoteFileName, boolean expandMacros, long alarmId, Map<String,String> inputValues, long maxFileSize, boolean follow, ProgressListener listener, ServerJobIdUpdater updateServerJobId) throws IOException, NXCException
      Download file from remote host via agent. If maxFileSize is set to non-zero value then last maxFileSize bytes will be retrieved.
      Parameters:
      nodeId - node object ID
      remoteFileName - fully qualified file name on remote system
      expandMacros - if true, macros in remote file name will be expanded on server side
      alarmId - alarm ID used for macro expansion
      inputValues - input field values for macro expansion (can be null if none provided)
      maxFileSize - maximum download size, 0 == UNLIMITED
      follow - if set to true, server will send file updates as they appear (like for tail -f command)
      listener - The ProgressListener to set
      updateServerJobId - callback for updating server job ID
      Returns:
      agent file handle which contains server assigned ID and handle for local file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • downloadFileFromServer

      public File downloadFileFromServer(String remoteFileName) throws IOException, NXCException
      Download file from server file storage.
      Parameters:
      remoteFileName - fully qualified file name on remote system
      Returns:
      The downloaded file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • cancelFileMonitoring

      public void cancelFileMonitoring(UUID monitorId) throws IOException, NXCException
      Cancel file monitoring
      Parameters:
      monitorId - file monitor ID (previously returned by downloadFileFromAgent
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentFileFingerprint

      public AgentFileFingerprint getAgentFileFingerprint(long nodeId, String remoteFileName) throws IOException, NXCException
      Get file fingerprint from remote host via agent.
      Parameters:
      nodeId - node object ID
      remoteFileName - fully qualified file name on remote system
      Returns:
      agent file fingerprint which contains size, hashes and partial data for the file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • renameServerFile

      public void renameServerFile(String oldFileName, String newFileName) throws IOException, NXCException
      Rename file in server's file store
      Parameters:
      oldFileName - name of existing server file
      newFileName - new name for selected file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteServerFile

      public void deleteServerFile(String serverFileName) throws IOException, NXCException
      Delete file from server's file store
      Parameters:
      serverFileName - name of server file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAgentFile

      public void deleteAgentFile(long nodeId, String fileName) throws IOException, NXCException
      Delete file from agent
      Parameters:
      nodeId - node id
      fileName - full path to file
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • renameAgentFile

      public void renameAgentFile(long nodeId, String oldName, String newFileName, boolean overwrite) throws IOException, NXCException
      Rename agent's file
      Parameters:
      nodeId - node id
      oldName - old file path
      newFileName - new file path
      overwrite - should the file in destination be overwritten
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • moveAgentFile

      public void moveAgentFile(long nodeId, String oldName, String newFileName, boolean overwrite) throws IOException, NXCException
      Move file from agent
      Parameters:
      nodeId - node id
      oldName - old file path
      newFileName - new file path
      overwrite - should the file in destination be overwritten
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • copyAgentFile

      public void copyAgentFile(long nodeId, String oldName, String newFileName, boolean overwrite) throws IOException, NXCException
      Copy file from agent
      Parameters:
      nodeId - node id
      oldName - old file path
      newFileName - new file path
      overwrite - should the file in destination be overwritten
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • openConsole

      public void openConsole() throws IOException, NXCException
      Open server console.
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • closeConsole

      public void closeConsole() throws IOException, NXCException
      Close server console.
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • processConsoleCommand

      public boolean processConsoleCommand(String command) throws IOException, NXCException
      Process console command on server. Output of the command delivered via console listener.
      Parameters:
      command - command to process
      Returns:
      true if console should be closed (usually after "exit" command)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • isServerConsoleConnected

      public boolean isServerConsoleConnected()
      Returns:
      the serverConsoleConnected
    • snmpWalk

      public void snmpWalk(long nodeId, String rootOid, SnmpWalkListener listener) throws IOException, NXCException
      Do SNMP walk. Operation will start at given root object, and callback will be called one or more times as data will come from server. This method will exit only when walk operation is complete.
      Parameters:
      nodeId - node object ID
      rootOid - root SNMP object ID (as text)
      listener - listener
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getVlans

      public List<VlanInfo> getVlans(long nodeId) throws IOException, NXCException
      Get list of VLANs configured on given node
      Parameters:
      nodeId - node object ID
      Returns:
      list of VLANs
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • areObjectsSynchronized

      public boolean areObjectsSynchronized()
      Returns:
      the objectsSynchronized
    • getAddressList

      public List<InetAddressListElement> getAddressList(int listId) throws IOException, NXCException
      Get address list.
      Parameters:
      listId - list identifier (defined in NXCSession as ADDRESS_LIST_xxx)
      Returns:
      address list
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setAddressList

      public void setAddressList(int listId, List<InetAddressListElement> list) throws IOException, NXCException
      Set content of address list.
      Parameters:
      listId - list ID
      list - new list content
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • resetServerComponent

      public void resetServerComponent(int component) throws IOException, NXCException
      Reset server's internal component (defined by SERVER_COMPONENT_xxx)
      Parameters:
      component - component id
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNetworkPath

      public NetworkPath getNetworkPath(long node1, long node2) throws IOException, NXCException
      Get IPv4 network path between two nodes. Server will return path based on cached routing table information. Network path object may be incomplete if server does not have enough information to build full path. In this case, no exception thrown, and completness of path can be checked by calling NetworkPath.isComplete().
      Parameters:
      node1 - source node
      node2 - destination node
      Returns:
      network path object
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getRoutingTable

      public List<Route> getRoutingTable(long nodeId) throws IOException, NXCException
      Get routing table from node
      Parameters:
      nodeId - node object ID
      Returns:
      list of routing table entries
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getArpCache

      public List<ArpCacheEntry> getArpCache(long nodeId, boolean forceRead) throws IOException, NXCException
      Get ARP cache from node
      Parameters:
      nodeId - node object ID
      forceRead - if true, ARP cache will be read from node, otherwise cached version may be returned
      Returns:
      list of ARP cache entries
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getOSPFInfo

      public OSPFInfo getOSPFInfo(long nodeId) throws IOException, NXCException
      Get OSPF information for given node.
      Parameters:
      nodeId - node object ID
      Returns:
      OSPF information
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSwitchForwardingDatabase

      public List<FdbEntry> getSwitchForwardingDatabase(long nodeId) throws IOException, NXCException
      Get switch forwarding database (MAC address table) from node
      Parameters:
      nodeId - node object ID
      Returns:
      list of switch forwarding database entries
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getWirelessStations

      public List<WirelessStation> getWirelessStations(long objectId) throws IOException, NXCException
      Get list of wireless stations registered at given wireless controller or access point.
      Parameters:
      objectId - controller node ID or access point ID
      Returns:
      list of wireless stations
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • addWirelessDomainController

      public void addWirelessDomainController(long wirelessDomainId, long nodeId) throws IOException, NXCException
      Add controller node to wireless domain.
      Parameters:
      wirelessDomainId - wireless domain object ID
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • removeWirelessDomainController

      public void removeWirelessDomainController(long wirelessDomainId, long nodeId) throws IOException, NXCException
      Remove controller node from wireless domain.
      Parameters:
      wirelessDomainId - wireless domain object ID
      nodeId - node object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • removePackage

      public void removePackage(long packageId) throws IOException, NXCException
      Remove agent package from server
      Parameters:
      packageId - The package ID
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • installPackage

      public long installPackage(PackageInfo info, File pkgFile, ProgressListener listener) throws IOException, NXCException
      Install (upload) package on server
      Parameters:
      info - package information
      pkgFile - package file
      listener - progress listener (may be null)
      Returns:
      unique ID assigned to package
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updatePackageMetadata

      public void updatePackageMetadata(PackageInfo info) throws IOException, NXCException
      Update metadata for existing package.
      Parameters:
      info - package information (file name field will be ignored)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getInstalledPackages

      public List<PackageInfo> getInstalledPackages() throws IOException, NXCException
      Get list of installed packages
      Returns:
      List of PackageInfo objects
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deployPackage

      public void deployPackage(long packageId, Long[] nodeList, PackageDeploymentListener listener) throws IOException, NXCException
      Deploy agent packages onto given nodes
      Parameters:
      packageId - package ID
      nodeList - list of nodes
      listener - deployment progress listener (may be null)
      Throws:
      IOException - if socket or file I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • sendNotification

      public void sendNotification(String channelName, String phoneNumber, String subject, String message) throws IOException, NXCException
      Send Notification via server. User should have appropriate rights to execute this command.
      Parameters:
      channelName - channel name
      phoneNumber - target phone number
      subject - message subject
      message - message text
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • pushDciData

      public void pushDciData(DciPushData[] data) throws IOException, NXCException
      Push data to server.
      Parameters:
      data - push data
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • pushDciData

      public void pushDciData(long nodeId, long dciId, String value) throws IOException, NXCException
      Push value for single DCI.
      Parameters:
      nodeId - node ID
      dciId - DCI ID
      value - value to push
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • pushDciData

      public void pushDciData(String nodeName, String dciName, String value) throws IOException, NXCException
      Push value for single DCI.
      Parameters:
      nodeName - node name
      dciName - DCI name
      value - value to push
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getClientType

      public int getClientType()
      Returns:
      the clientType
    • setClientType

      public void setClientType(int clientType)
      Set client type. Can be one of the following: DESKTOP_CLIENT WEB_CLIENT MOBILE_CLIENT TABLET_CLIENT APPLICATION_CLIENT Must be called before connect(), otherwise will not have any effect. Ignored by servers prior to 1.2.2.
      Parameters:
      clientType - the clientType to set
    • getDateFormat

      public String getDateFormat()
      Get default date format provided by server
      Returns:
      The current date format
    • getTimeFormat

      public String getTimeFormat()
      Get default time format provided by server
      Returns:
      The current time format
    • getShortTimeFormat

      public String getShortTimeFormat()
      Get time format for short form (usually without seconds).
      Returns:
      The current short time format
    • handover

      public void handover(NXCSession target)
      Handover object cache to new session. After call to this method, object cache of this session invalidated and should not be used.
      Parameters:
      target - target session object
    • getSessionId

      public int getSessionId()
      Get this session's ID on server.
      Returns:
      the sessionId
    • listMappingTables

      public List<MappingTableDescriptor> listMappingTables() throws IOException, NXCException
      Get list of all configured mapping tables.
      Returns:
      List of MappingTableDescriptor objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getMappingTable

      public MappingTable getMappingTable(int id) throws IOException, NXCException
      Get list of specific mapping table
      Parameters:
      id - The ID of mapping table
      Returns:
      The MappingTable
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createMappingTable

      public int createMappingTable(String name, String description, int flags) throws IOException, NXCException
      Create new mapping table.
      Parameters:
      name - name of new table
      description - description for new table
      flags - flags for new table
      Returns:
      ID of new table object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateMappingTable

      public int updateMappingTable(MappingTable table) throws IOException, NXCException
      Create or update mapping table. If table ID is 0, new table will be created on server.
      Parameters:
      table - mapping table
      Returns:
      ID of new table object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteMappingTable

      public void deleteMappingTable(int id) throws IOException, NXCException
      Delete mapping table
      Parameters:
      id - mapping table ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDefaultDciRetentionTime

      public final int getDefaultDciRetentionTime()
      Get the default DCI retention time
      Returns:
      the default DCI retention time in days
    • getDefaultDciPollingInterval

      public final int getDefaultDciPollingInterval()
      Get the default DCI polling interval
      Returns:
      the default DCI polling interval in seconds
    • getMinViewRefreshInterval

      public int getMinViewRefreshInterval()
      Get the minimal view refresh interval
      Returns:
      the minViewRefreshInterval
    • isStrictAlarmStatusFlow

      public final boolean isStrictAlarmStatusFlow()
      Get the state of alarm status flow
      Returns:
      true if alarm status flow set to "strict" mode
    • isTimedAlarmAckEnabled

      public boolean isTimedAlarmAckEnabled()
      Returns:
      true if timed alarm acknowledgement is enabled
    • listDciSummaryTables

      public List<DciSummaryTableDescriptor> listDciSummaryTables() throws IOException, NXCException
      Get list of all configured DCI summary tables
      Returns:
      List of DciSummaryTableDescriptor objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDciSummaryTable

      public DciSummaryTable getDciSummaryTable(int id) throws IOException, NXCException
      Get DCI summary table configuration.
      Parameters:
      id - DCI summary table ID.
      Returns:
      The DciSummaryTable object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyDciSummaryTable

      public int modifyDciSummaryTable(DciSummaryTable table) throws IOException, NXCException
      Modify DCI summary table configuration. Will create new table object if id is 0.
      Parameters:
      table - DCI summary table configuration
      Returns:
      assigned summary table ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteDciSummaryTable

      public void deleteDciSummaryTable(int id) throws IOException, NXCException
      Delete DCI summary table.
      Parameters:
      id - The ID of the summary table
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryDciSummaryTable

      public Table queryDciSummaryTable(int tableId, long baseObjectId) throws IOException, NXCException
      Query DCI summary table.
      Parameters:
      tableId - DCI summary table ID
      baseObjectId - base container object ID
      Returns:
      table with last values data for all nodes under given base container
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • queryAdHocDciSummaryTable

      public Table queryAdHocDciSummaryTable(long baseObjectId, List<DciSummaryTableColumn> columns, AggregationFunction function, Date periodStart, Date periodEnd, boolean multiInstance) throws IOException, NXCException
      Query ad-hoc DCI summary table.
      Parameters:
      baseObjectId - base container object ID
      columns - columns for resulting table
      function - data aggregation function
      periodStart - start of query period
      periodEnd - end of query period
      multiInstance - The multiInstance flag
      Returns:
      table with last values data for all nodes under given base container
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • listReports

      public List<UUID> listReports() throws NXCException, IOException
      List reports
      Returns:
      List of report UUIDs
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getReportDefinition

      public ReportDefinition getReportDefinition(UUID reportId) throws NXCException, IOException
      Get the report definition
      Parameters:
      reportId - The UUID of the report
      Returns:
      The ReportDefinition object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • executeReport

      public UUID executeReport(ReportingJobConfiguration jobConfiguration) throws NXCException, IOException
      Execute a report
      Parameters:
      jobConfiguration - The parameters to set
      Returns:
      the UUID of the report
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getReportResults

      public List<ReportResult> getReportResults(UUID reportId) throws NXCException, IOException
      List report results
      Parameters:
      reportId - The report UUID
      Returns:
      List of ReportResult objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteReportResult

      public void deleteReportResult(UUID reportId, UUID jobId) throws NXCException, IOException
      Delete report result
      Parameters:
      reportId - The report UUID
      jobId - The job UUID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • renderReport

      public File renderReport(UUID reportId, UUID jobId, ReportRenderFormat format) throws NXCException, IOException
      Render report
      Parameters:
      reportId - The report UUID
      jobId - The job UUID
      format - The format of the render
      Returns:
      The render of the report
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getScheduledReportingJobs

      public List<ReportingJob> getScheduledReportingJobs(UUID reportId) throws NXCException, IOException
      List scheduled jobs
      Parameters:
      reportId - The report UUID
      Returns:
      List of ReportingJob objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setClientAddress

      public void setClientAddress(String clientAddress)
      Set the client address
      Parameters:
      clientAddress - the clientAddress to set
    • getClientLanguage

      public String getClientLanguage()
      Get the client`s language
      Returns:
      the clientLanguage
    • setClientLanguage

      public void setClientLanguage(String clientLanguage)
      Set client`s language
      Parameters:
      clientLanguage - the clientLanguage to set
    • getSubnetAddressMap

      public long[] getSubnetAddressMap(long subnetId) throws NXCException, IOException
      Get address map for subnet. Returned array contains one entry for each IP address in a subnet. Element value could be eithet ID of the node with that IP address, 0 for unused addresses, and 0xFFFFFFFF for subnet and broadcast addresses.
      Parameters:
      subnetId - The subnet ID
      Returns:
      Address map
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentConfigurations

      public List<AgentConfigurationHandle> getAgentConfigurations() throws NXCException, IOException
      Gets the list of configuration files.(Config id, name and sequence number)
      Returns:
      the list of configuration files in correct sequence
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentConfiguration

      public AgentConfiguration getAgentConfiguration(long id) throws NXCException, IOException
      Get server side agent configuration
      Parameters:
      id - configuration object ID
      Returns:
      agent configuration object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • saveAgentConfig

      public long saveAgentConfig(AgentConfiguration configuration) throws NXCException, IOException
      Update server side agent configuration
      Parameters:
      configuration - agent configuration object
      Returns:
      configuration ID (possibly newly assigned)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAgentConfig

      public void deleteAgentConfig(long id) throws NXCException, IOException
      Delete server side agent configuration. This call will not change sequence numbers of other configurations.
      Parameters:
      id - agent configuration ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • swapAgentConfigs

      public void swapAgentConfigs(long id1, long id2) throws NXCException, IOException
      Swap sequence numbers of two server side agent configurations.
      Parameters:
      id1 - first agent configuration ID
      id2 - second agent configuration ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getLocationHistory

      public List<GeoLocation> getLocationHistory(long objectId, Date from, Date to) throws NXCException, IOException
      Get location history for given object.
      Parameters:
      objectId - The object ID
      from - The date from
      to - The date to
      Returns:
      List of location history
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • takeScreenshot

      public byte[] takeScreenshot(long nodeId, String sessionName) throws NXCException, IOException
      Take screenshot from given node. Session to take screenshot from can be identified either by ID or name. If ID is used name must be set to null.
      Parameters:
      nodeId - node object ID
      sessionName - session name for session to take screenshot from
      Returns:
      Screenshot as PNG image
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getScheduledTaskHandlers

      public List<String> getScheduledTaskHandlers() throws NXCException, IOException
      Get list of available scheduled task handlers.
      Returns:
      list of available scheduled task handlers.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getScheduledTasks

      public List<ScheduledTask> getScheduledTasks() throws IOException, NXCException
      Get list of scheduled tasks.
      Returns:
      list of scheduled tasks
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • addScheduledTask

      public void addScheduledTask(ScheduledTask task) throws NXCException, IOException
      Add new scheduled task
      Parameters:
      task - new scheduled task
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateScheduledTask

      public void updateScheduledTask(ScheduledTask task) throws IOException, NXCException
      Update existing scheduled task.
      Parameters:
      task - updated scheduled task
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteScheduledTask

      public void deleteScheduledTask(long taskId) throws NXCException, IOException
      Delete scheduled task.
      Parameters:
      taskId - scheduled task ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectMaintenanceMode

      public void setObjectMaintenanceMode(long objectId, boolean inMaintenance, String comments) throws NXCException, IOException
      Set maintenance mode for object
      Parameters:
      objectId - object ID
      inMaintenance - new maintenance mode setting (true = on, false = off)
      comments - comments for entering maintenance
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setObjectMaintenanceMode

      public void setObjectMaintenanceMode(long objectId, boolean inMaintenance) throws NXCException, IOException
      Set maintenance mode for object
      Parameters:
      objectId - object ID
      inMaintenance - new maintenance mode setting (true = on, false = off)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getRepositories

      public List<Repository> getRepositories() throws IOException, NXCException
      Get list of configured repositories
      Returns:
      list of configured repositories
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • addRepository

      public void addRepository(Repository r) throws IOException, NXCException
      Add repository. Will update given repository object with assigned ID.
      Parameters:
      r - The repository
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyRepository

      public void modifyRepository(Repository r) throws IOException, NXCException
      Modify repository.
      Parameters:
      r - The repository
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteRepository

      public void deleteRepository(int id) throws IOException, NXCException
      Delete repository.
      Parameters:
      id - The id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPredictionEngines

      public List<PredictionEngine> getPredictionEngines() throws IOException, NXCException
      Get list of registered prediction engines
      Returns:
      List of PredictionEngine objects
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPredictedData

      public DciData getPredictedData(long nodeId, long dciId, Date from, Date to) throws IOException, NXCException
      Get predicted DCI data from server.
      Parameters:
      nodeId - Node ID
      dciId - DCI ID
      from - Start of time range
      to - End of time range
      Returns:
      DCI data set
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentTunnels

      public List<AgentTunnel> getAgentTunnels() throws IOException, NXCException
      Get list of agent tunnels
      Returns:
      list of agent tunnels
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • waitForAgentTunnel

      public boolean waitForAgentTunnel(long nodeId, long timeout)
      Wait for bound tunnel for given node to appear. This method will not throw usual exceptions on communication or server errors but will return false instead.
      Parameters:
      nodeId - node ID
      timeout - waiting timeout in milliseconds
      Returns:
      true if bound tunnel for given node exist
    • bindAgentTunnel

      public void bindAgentTunnel(int tunnelId, long nodeId) throws IOException, NXCException
      Bind agent tunnel to node
      Parameters:
      tunnelId - tunnel ID
      nodeId - node ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unbindAgentTunnel

      public void unbindAgentTunnel(long nodeId) throws IOException, NXCException
      Unbind agent tunnel to node
      Parameters:
      nodeId - node ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • substituteMacros

      public List<String> substituteMacros(ObjectContextBase context, List<String> textsToExpand, Map<String,String> inputValues) throws IOException, NXCException
      Substitute macros in multiple strings within one context.
      Parameters:
      context - expansion context
      textsToExpand - texts to be expanded
      inputValues - input values provided by used used for %() expansion
      Returns:
      same count and order of strings already expanded
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • substituteMacros

      public List<String> substituteMacros(ObjectContextBase[] context, String textToExpand, Map<String,String> inputValues) throws IOException, NXCException
      Substitute macros in one string within multiple contexts.
      Parameters:
      context - expansion contexts
      textToExpand - text to be expanded
      inputValues - input values provided by used used for %() expansion
      Returns:
      same count and order of strings already expanded
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setupTcpProxy

      public TcpProxy setupTcpProxy(long proxyId, InetAddress address, int port) throws IOException, NXCException
      Setup new TCP proxy channel. Proxy object should be disposed with TcpProxy.close() call when no longer needed. If zone object ID passed as proxyId then server will select most suitable proxy node from zone's proxy node list.
      Parameters:
      proxyId - proxy node ID (node that will initiate TCP connection to target) or zone object ID
      address - target IP address
      port - target TCP port
      Returns:
      TCP proxy object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • setupTcpProxy

      public TcpProxy setupTcpProxy(long nodeId, int port) throws IOException, NXCException
      Setup new TCP proxy channel to given node. Server will select appropriate proxy node. Proxy object should be disposed with TcpProxy.close() call when no longer needed.
      Parameters:
      nodeId - target node ID
      port - target TCP port
      Returns:
      TCP proxy object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • closeTcpProxy

      protected void closeTcpProxy(int channelId)
      Close TCP proxy channel.
      Parameters:
      channelId - proxy channel ID
    • getAgentPolicy

      public AgentPolicy getAgentPolicy(long templateId, UUID policyGUID) throws IOException, NXCException
      Get agent policy by template id and GUID
      Parameters:
      templateId - template id policy is in
      policyGUID - policy GUID
      Returns:
      agent policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentPolicyList

      public HashMap<UUID,AgentPolicy> getAgentPolicyList(long templateId) throws IOException, NXCException
      Returns agent policy list
      Parameters:
      templateId - id of the template where policy are defined
      Returns:
      hash map of policy UUID to policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • savePolicy

      public UUID savePolicy(long templateId, AgentPolicy policy, boolean duplicate) throws NXCException, IOException
      Saves new or updated policy
      Parameters:
      templateId - id of template where policy is defined
      policy - policy data to be updated or created. For new policy GUID should be null
      duplicate - if set to true server will make copy of existing policy instead of updating existing one
      Returns:
      UUID of saved policy
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deletePolicy

      public void deletePolicy(long templateId, UUID guid) throws NXCException, IOException
      Delete policy
      Parameters:
      templateId - id of template where policy is defined
      guid - guid of the policy that should be deleted
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • onPolicyEditorClose

      public void onPolicyEditorClose(long templateId) throws NXCException, IOException
      Command sent on policyEditor close to send updates to all applied nodes
      Parameters:
      templateId - id of the closed template
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • forcePolicyInstallation

      public void forcePolicyInstallation(long templateId) throws NXCException, IOException
      Force policy installation on all nodes where template is applied
      Parameters:
      templateId - template id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getUserAgentNotifications

      public List<UserAgentNotification> getUserAgentNotifications() throws NXCException, IOException
      Get user support application notifications list
      Returns:
      list of user support application notifications
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • recallUserAgentNotification

      public void recallUserAgentNotification(long id) throws NXCException, IOException
      Recall user support application notification
      Parameters:
      id - recall id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createUserAgentNotification

      public void createUserAgentNotification(String message, long[] objects, Date startTime, Date endTime, boolean onStartup) throws NXCException, IOException
      Create new user support application notifications
      Parameters:
      message - notification message
      objects - objects to show notifications on
      startTime - notification's activation time
      endTime - notificaiton's display end time
      onStartup - true if notification should be shown only after user agent startup (usually immediately after user login)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createUserAgentNotification

      public void createUserAgentNotification(String message, Collection<Long> objects, Date startTime, Date endTime, boolean onStartup) throws NXCException, IOException
      Create new user support application notifications
      Parameters:
      message - notification message
      objects - objects to show notifications on
      startTime - notification's activation time
      endTime - notificaiton's display end time
      onStartup - true if notification should be shown only after user agent startup (usually immediately after user login)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNotificationChannels

      public List<NotificationChannel> getNotificationChannels() throws NXCException, IOException
      Get server notification channels
      Returns:
      list of server notifications channels
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createNotificationChannel

      public void createNotificationChannel(NotificationChannel nc) throws NXCException, IOException
      Create notification channel
      Parameters:
      nc - new notification channel
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateNotificationChannel

      public void updateNotificationChannel(NotificationChannel nc) throws NXCException, IOException
      Update notification channel
      Parameters:
      nc - update notification channel
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteNotificationChannel

      public void deleteNotificationChannel(String name) throws NXCException, IOException
      Delete notification channel
      Parameters:
      name - name of notification channel to be deleted
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • renameNotificationChannel

      public void renameNotificationChannel(String oldName, String newName) throws NXCException, IOException
      Rename notification channel
      Parameters:
      oldName - old notification channel name
      newName - new notification channel name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNotificationDrivers

      public List<String> getNotificationDrivers() throws NXCException, IOException
      Get list of available notification channel drivers.
      Returns:
      list of available notification channel drivers
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • startManualActiveDiscovery

      public void startManualActiveDiscovery(List<InetAddressListElement> ranges) throws NXCException, IOException
      Start active discovery for provided list manually
      Parameters:
      ranges - IP address ranges to scan
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getPhysicalLinks

      public List<PhysicalLink> getPhysicalLinks(long objectId, long patchPanelId) throws NXCException, IOException
      Get list of physical links filtered by provided options
      Parameters:
      objectId - node id or rack id to filter out physical links
      patchPanelId - patch panel id to filter out it's physical links (first parameter should be rack id)
      Returns:
      list of physical links
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updatePhysicalLink

      public void updatePhysicalLink(PhysicalLink link) throws NXCException, IOException
      Create new or update existing physical link
      Parameters:
      link - link to be created with ID 0 or link to be updated with correct ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deletePhysicalLink

      public void deletePhysicalLink(long linkId) throws NXCException, IOException
      Delete physical link.
      Parameters:
      linkId - physical link ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getWebServiceDefinitions

      public List<WebServiceDefinition> getWebServiceDefinitions() throws NXCException, IOException
      Get configured web service definitions.
      Returns:
      list of configured web service definitions
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyWebServiceDefinition

      public int modifyWebServiceDefinition(WebServiceDefinition definition) throws NXCException, IOException
      Modify (or create new) web service definition. New definition will be created if ID of provided definition object set to 0.
      Parameters:
      definition - web service definition to create or modify
      Returns:
      assigned ID of web service definition (same as provided if modifying existing definition)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteWebServiceDefinition

      public void deleteWebServiceDefinition(int id) throws NXCException, IOException
      Delete web service definition.
      Parameters:
      id - web service definition ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentSharedSecrets

      public Map<Integer,List<String>> getAgentSharedSecrets() throws IOException, NXCException
      Get agent shared secret list (global and all zones).
      Returns:
      map with zone UIN and shared secret list (-1 for global secrets).
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAgentSharedSecrets

      public List<String> getAgentSharedSecrets(int zoneUIN) throws IOException, NXCException
      Get agent shared secret list for specific zone.
      Parameters:
      zoneUIN - zone UIN (-1 for global shared secret list)
      Returns:
      map with zone id and shared secret list
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateAgentSharedSecrets

      public void updateAgentSharedSecrets(int zoneUIN, List<String> sharedSecrets) throws IOException, NXCException
      Update agent shared secret list on server.
      Parameters:
      zoneUIN - zone UIN (-1 for global shared secret list)
      sharedSecrets - list of shared secrets
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getWellKnownPorts

      public Map<Integer,List<Integer>> getWellKnownPorts(String tag) throws IOException, NXCException
      Get list of well-known ports (global and all zones).
      Parameters:
      tag - port list tag
      Returns:
      list of well-known ports
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getWellKnownPorts

      public List<Integer> getWellKnownPorts(int zoneUIN, String tag) throws IOException, NXCException
      Get list of well-known ports for given zone.
      Parameters:
      zoneUIN - zone UIN (-1 for global port list)
      tag - port list tag
      Returns:
      list of well-known ports
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateWellKnownPorts

      public void updateWellKnownPorts(int zoneUIN, String tag, List<Integer> ports) throws IOException, NXCException
      Update list of well-known ports.
      Parameters:
      zoneUIN - zone UIN for which port list should be updated (-1 for global port list)
      tag - port list tag
      ports - new port list
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getGeoAreas

      public List<GeoArea> getGeoAreas() throws IOException, NXCException
      Get configured geographical areas
      Returns:
      list of configured geographical areas
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyGeoArea

      public int modifyGeoArea(GeoArea area) throws IOException, NXCException
      Modify geographical area.
      Parameters:
      area - updated geographical area object
      Returns:
      ID of geographical area object
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteGeoArea

      public void deleteGeoArea(int areaId, boolean forceDelete) throws IOException, NXCException
      Delete geographical area. This method will fail if area is in use (set to at least one object) unless forceDelete parameter set to true.
      Parameters:
      areaId - area ID
      forceDelete - force deletion flag - if set to true area will be deleted even if in use
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findProxyForNode

      public long findProxyForNode(long nodeId) throws IOException, NXCException
      Find suitable proxy for given node.
      Parameters:
      nodeId - node object ID
      Returns:
      proxy node object ID or 0 if proxy cannot be found
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getSshKeys

      public List<SshKeyPair> getSshKeys(boolean withPublicKey) throws IOException, NXCException
      Get list of SSH key
      Parameters:
      withPublicKey - true if ssh data should be returned with public key
      Returns:
      list of SSH keys
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteSshKey

      public void deleteSshKey(int id, boolean force) throws IOException, NXCException
      Delete SSH key.
      Parameters:
      id - key ID
      force - if set to true key will be deleted even if it is in use
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateSshKey

      public void updateSshKey(SshKeyPair sshCertificateData) throws IOException, NXCException
      Update or import new SSH keys
      Parameters:
      sshCertificateData - ssh key information
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • generateSshKeys

      public void generateSshKeys(String name) throws IOException, NXCException
      Generate new SSH keys .
      Parameters:
      name - for new keys
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • get2FADrivers

      public List<String> get2FADrivers() throws NXCException, IOException
      Get list of available two-factor authentication drivers.
      Returns:
      list of available two-factor authentication drivers
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • get2FAMethods

      Get list of configured two-factor authentication methods. Depending on user access method configuration may not be returned.
      Returns:
      list of configured two-factor authentication methods
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modify2FAMethod

      public void modify2FAMethod(TwoFactorAuthenticationMethod method) throws IOException, NXCException
      Modify existing two-factor authentication method or create new one.
      Parameters:
      method - method definition
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • rename2FAMethod

      public void rename2FAMethod(String oldName, String newName) throws NXCException, IOException
      Rename two-factor authentication method
      Parameters:
      oldName - old method name
      newName - new method name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • delete2FAMethod

      public void delete2FAMethod(String name) throws IOException, NXCException
      Delete two-factor authentication method.
      Parameters:
      name - method name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getBusinessServiceChecks

      public Map<Long,BusinessServiceCheck> getBusinessServiceChecks(long serviceId) throws NXCException, IOException
      Get list business service checks
      Parameters:
      serviceId - business service id
      Returns:
      list of business service checks
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteBusinessServiceCheck

      public void deleteBusinessServiceCheck(long businessServiceid, long checkId) throws NXCException, IOException
      Delete check form businsess service
      Parameters:
      businessServiceid - business service id
      checkId - cehck id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • modifyBusinessServiceCheck

      public void modifyBusinessServiceCheck(long businessServiceid, BusinessServiceCheck check) throws NXCException, IOException
      Modify check form businsess service
      Parameters:
      businessServiceid - business service id
      check - cehck id
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getBusinessServiceAvailablity

      public double getBusinessServiceAvailablity(long businessServiceid, TimePeriod timePeriod) throws NXCException, IOException
      Get business service availability
      Parameters:
      businessServiceid - business service id
      timePeriod - time period
      Returns:
      uptime for selected period
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getBusinessServiceTickets

      public List<BusinessServiceTicket> getBusinessServiceTickets(long businessServiceid, TimePeriod timePeriod) throws NXCException, IOException
      Get business service tickets
      Parameters:
      businessServiceid - business service id
      timePeriod - time period
      Returns:
      list of tickets for business service
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • findDCI

      public DciValue[] findDCI(long rootObjectId, String query) throws IOException, NXCException
      Send request for last values using prepared message
      Parameters:
      rootObjectId - root object id
      query - qury string
      Returns:
      The DCI values
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getEventReferences

      public List<EventReference> getEventReferences(long eventCode) throws IOException, NXCException
      Get list of objects that are using specified event
      Parameters:
      eventCode - code of the event
      Returns:
      list of event references
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAllMaintenanceEntries

      public List<MaintenanceJournalEntry> getAllMaintenanceEntries(long objectId, int maxEntries) throws IOException, NXCException
      Get list of maintenance journal entries for specified object and it's child objects
      Parameters:
      objectId - journal owner object ID
      maxEntries - upper entries count limit. No limit used if set to 0
      Returns:
      list of maintenance journal entries
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • createMaintenanceEntry

      public void createMaintenanceEntry(long objectId, String description) throws IOException, NXCException
      Create new maintenance journal entry for specified object
      Parameters:
      objectId - journal owner object ID
      description - journal entry description
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • editMaintenanceEntry

      public void editMaintenanceEntry(long objectId, long entryId, String description) throws IOException, NXCException
      Edit specified maintenance journal entry for specified object
      Parameters:
      objectId - journal owner object ID
      entryId - journal entry ID
      description - journal entry description
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDciMeasurementUnits

      public Map<Long,MeasurementUnit> getDciMeasurementUnits(List<Long> nodeIds, List<Long> dciIds) throws IOException, NXCException
      Get info for given DCI list
      Parameters:
      nodeIds - node identifiers
      dciIds - DCI identifiers (length must match length of node identifiers list)
      Returns:
      map with DCI information
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDciMeasurementUnits

      public Map<Long,MeasurementUnit> getDciMeasurementUnits(List<ChartDciConfig> dciList) throws IOException, NXCException
      Get measurement units for given DCI list
      Parameters:
      dciList - list of DCI chart configurations
      Returns:
      map with DCI information
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getDciMeasurementUnits

      public Map<Long,MeasurementUnit> getDciMeasurementUnits(ChartDciConfig[] dciList) throws IOException, NXCException
      Get info for given DCI list
      Parameters:
      dciList - list of DCI chart configurations
      Returns:
      map with DCI information
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • cloneNetworkMap

      public void cloneNetworkMap(long mapId, String newObjectName, String alias) throws IOException, NXCException
      Create network map clone
      Parameters:
      mapId - map id to clone
      newObjectName - name of the new object
      alias - new object alias
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getVendorByMac

      public String getVendorByMac(MacAddress mac, Runnable callback)
      Get vendor name by OUI part of MAC address. Local cache is checked first, and only if OUI is not found in local cache request to server is made. If server request is made method will return null and queue background request to the server, and if completion callback is provided it will be called after local cache is populated, so next request to getVendorByMac will complete without request to the server.
      Parameters:
      mac - MAC address
      callback - request completion callback
      Returns:
      vendor name, could be null or empty string if OUI is not known (yet)
    • getVendorByMac

      public Map<MacAddress,String> getVendorByMac(Set<MacAddress> macList) throws IOException, NXCException
      Get vendor names by OUI part of provided MAC addresses. Resulting map will contain all unique OUIs extracted from provided MAC addresses.
      Parameters:
      macList - list of MAC addresses
      Returns:
      OUI to vendor map
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • syncAssetManagementSchema

      public void syncAssetManagementSchema() throws IOException, NXCException
      Synchronize asset management schema.
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getAssetManagementSchema

      public Map<String,AssetAttribute> getAssetManagementSchema()
      Get asset management schema from client-side cache.
      Returns:
      asset management attributes
    • getAssetManagementSchemaSize

      public int getAssetManagementSchemaSize()
      Get size of asset management schema (number of defined attributes).
      Returns:
      size of asset management schema
    • createAssetAttribute

      public void createAssetAttribute(AssetAttribute attribute) throws IOException, NXCException
      Create asset attribute (definition in asset management schema)..
      Parameters:
      attribute - attribute to create
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateAssetAttribute

      public void updateAssetAttribute(AssetAttribute attribute) throws IOException, NXCException
      Update asset attribute (definition in asset management schema).
      Parameters:
      attribute - attribute to update
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAssetAttribute

      public void deleteAssetAttribute(String name) throws IOException, NXCException
      Delete asset attribute (definition in asset management schema).
      Parameters:
      name - name of attribute to be deleted
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • isAssetAttributeUnique

      public boolean isAssetAttributeUnique(String newName)
      Check if asset management attribute name is unique
      Parameters:
      newName - new attribute name
      Returns:
      true if it is unique
    • setAssetProperty

      public void setAssetProperty(long objectId, String name, String value) throws IOException, NXCException
      Set asset property value.
      Parameters:
      objectId - object id
      name - property name
      value - new value
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • deleteAssetProperty

      public void deleteAssetProperty(long objectId, String name) throws IOException, NXCException
      Delete asset property.
      Parameters:
      objectId - object id
      name - property name
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • linkAsset

      public void linkAsset(long assetId, long objectId, boolean updateIdentification) throws IOException, NXCException
      Link asset object to given object. If asset is already linked to another object, that link will be removed.
      Parameters:
      assetId - asset object ID
      objectId - other object ID
      updateIdentification - if identification filed (serial or MAC address should be updated on link)
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • unlinkAsset

      public void unlinkAsset(long assetId) throws IOException, NXCException
      Unlink asset from object it is currently linked to. Will do nothing if asset is not linked.
      Parameters:
      assetId - asset object ID
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • updateNetworkMapElementPosition

      public void updateNetworkMapElementPosition(long mapId, Set<NetworkMapElement> elements, Set<NetworkMapLink> links) throws IOException, NXCException
      Update network map object location
      Parameters:
      mapId - network map id
      elements - element list to be updated
      links - link list to be updated
      Throws:
      IOException - if socket I/O error occurs
      NXCException - if NetXMS server returns an error or operation was timed out
    • getNetworkMapDefaultWidth

      public int getNetworkMapDefaultWidth()
      Returns:
      the networkMapDefaultWidth
    • getNetworkMapDefaultHeight

      public int getNetworkMapDefaultHeight()
      Returns:
      the networkMapDefaultHeight