org.opennms.netmgt.config
Class NSClientPeerFactory

java.lang.Object
  extended by org.opennms.netmgt.config.PeerFactory
      extended by org.opennms.netmgt.config.NSClientPeerFactory

public final class NSClientPeerFactory
extends PeerFactory

This class is the main repository for NSCLient configuration information used by the capabilities daemon. When this class is loaded it reads the nsclient configuration into memory, and uses the configuration to find the NSClientAgentConfig objects for specific addresses. If an address cannot be located in the configuration then a default peer instance is returned to the caller. Note: Users of this class should make sure the init() is called before calling any other method to ensure the config is loaded before accessing other convenience methods.

Author:
David Hustace , Weave , Gerald Turner , OpenNMS

Constructor Summary
NSClientPeerFactory(Reader rdr)
           
 
Method Summary
 void define(InetAddress ip, String password)
          Puts a specific IP address with associated password into the currently loaded nsclient-config.xml.
 NSClientAgentConfig getAgentConfig(InetAddress agentInetAddress)
           
static NSClientPeerFactory getInstance()
          Return the singleton instance of this factory.
static NsclientConfig getNSClientConfig()
           
static void init()
          Load the config from the default config file and create the singleton instance of this factory.
static void reload()
          Reload the config from the default config file
static void saveCurrent()
          Saves the current settings to disk
static void setInstance(NSClientPeerFactory singleton)
           
static void setNSClientConfig(NsclientConfig m_config)
           
 
Methods inherited from class org.opennms.netmgt.config.PeerFactory
countChar, matchNumericListOrRange, matchRange, toLong, verifyIpMatch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NSClientPeerFactory

public NSClientPeerFactory(Reader rdr)
                    throws IOException,
                           org.exolab.castor.xml.MarshalException,
                           org.exolab.castor.xml.ValidationException
Throws:
IOException
org.exolab.castor.xml.MarshalException
org.exolab.castor.xml.ValidationException
Method Detail

init

public static void init()
                 throws IOException,
                        org.exolab.castor.xml.MarshalException,
                        org.exolab.castor.xml.ValidationException
Load the config from the default config file and create the singleton instance of this factory.

Throws:
IOException - Thrown if the specified config file cannot be read
org.exolab.castor.xml.MarshalException - Thrown if the file does not conform to the schema.
org.exolab.castor.xml.ValidationException - Thrown if the contents do not match the required schema.

reload

public static void reload()
                   throws IOException,
                          org.exolab.castor.xml.MarshalException,
                          org.exolab.castor.xml.ValidationException
Reload the config from the default config file

Throws:
IOException - Thrown if the specified config file cannot be read/loaded
org.exolab.castor.xml.MarshalException - Thrown if the file does not conform to the schema.
org.exolab.castor.xml.ValidationException - Thrown if the contents do not match the required schema.

saveCurrent

public static void saveCurrent()
                        throws Exception
Saves the current settings to disk

Throws:
Exception

getInstance

public static NSClientPeerFactory getInstance()
Return the singleton instance of this factory.

Returns:
The current factory instance.
Throws:
IllegalStateException - Thrown if the factory has not yet been initialized.

setInstance

public static void setInstance(NSClientPeerFactory singleton)

define

public void define(InetAddress ip,
                   String password)
            throws UnknownHostException
Puts a specific IP address with associated password into the currently loaded nsclient-config.xml. Perhaps with a bit of jiggery pokery this could be pulled up into PeerFactory

Throws:
UnknownHostException

getAgentConfig

public NSClientAgentConfig getAgentConfig(InetAddress agentInetAddress)

getNSClientConfig

public static NsclientConfig getNSClientConfig()

setNSClientConfig

public static void setNSClientConfig(NsclientConfig m_config)


Copyright © 2009. All Rights Reserved.