NAL
Introduction
The Node Access Library (NAL) is a Java Library that provides different functionalities to access/change the local node information. It allows to obtain the DHN unique ID, the Running Instance unique ID, the list of service running in the node, the running instance profile of the caller, the node free disk space and other information. Moreover, the NAL, gives access to the VO Maps and allows services to set/get both the Specific Data section and the State section in their Running Instance profile.
Implentation Overview
Each WSRF service should instantiate a NAL object in order to have access to node information (see Usage Example for details).
- Library functionalities description:
- List VO Maps
- Returns a list with the name of the DHN VOs
- signature
- public Vector getVOMapsList ( ) throws Exception
- parameters
- n.a.
- return
- The list of the DHN VOs
- Returns a list with the name of the DHN VOs
- get VO Map
- Returns a VO Map
- signature
- public String getVOMap (String voname) throws Exception
- parameters
- The VO name
- return
- The VO Map if exists, exception otherwise.
- Returns a VO Map
- Get the Running Instance ID
- Returns the RI unique ID of a given service name and service class
- signature
- public String getRIID ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- The RI ID if valid {class, name} parameters were used, exception otherwise.
- Returns the RI unique ID of a given service name and service class
- Get the Running Instance ID
- Returns the RI unique ID of a given RI profile
- signature
- public String getRIID ( String riProfile ) throws Exception
- parameters
- A RI profile
- return
- The RI ID if valid RI profile parameter was used, exception otherwise.
- Returns the RI unique ID of a given RI profile
- Get the service ID
- Returns the service ID of a given service name and service class
- signature
- public String getServiceID ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local service name
- A valid local service class
- return
- The service ID if valid {class, name} parameters were used, exception otherwise.
- Returns the service ID of a given service name and service class
- Get DHN ID
- Returns the local DHN unique ID
- signature
- public String getDHNID ( ) throws Exception
- parameters
- n.a.
- return
- The DHN unique ID were the service is running, exception otherwise.
- Returns the local DHN unique ID
- Get the list of RI configured DLs from Class and Name
- Returns the list of DLs configured into the service RI
- signature
- public String [] getDLs ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- The RI DL tag list
- Returns the list of DLs configured into the service RI
- Get the list of RI configured DLs from EPR
- Returns the list of DLs configured into the service RI
- signature
- public String [] getDLsFromEPR (EndpointReferenceType epr) throws Exception
- parameters
- An end point reference
- return
- The RI DL tag list
- Returns the list of DLs configured into the service RI
- Get a RI profile from Class and Name
- Returns a RI profile document
- signature
- public Document getRIProfile ( String serviceName, String serviceClass )throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- A Document object with the RI profile, exception otherwise.
- Returns a RI profile document
- Get the DL secure mode
- Returns the DL secure status
- signature
- public boolean isDLSecure ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- True if the RI is running in secure mode, false otherwise.
- Returns the DL secure status
- Set the RI specific data
- Set the specific data tag of a RI service profile based on a given service name and service class
- signature
- public boolean setSpecificData ( String serviceName, String serviceClass, String data)
- parameters
- A valid local RI service name
- A valid local RI service class
- The specific data
- return
- True if set completed, false otherwise
- Set the specific data tag of a RI service profile based on a given service name and service class
- Get the RI specific data
- Returns the specific data tag of a RI service profile based on a given service name and service class.
- signature
- public String getSpecificData ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- If the required RI service profile exists returns specific data section, exception otherwise
- Returns the specific data tag of a RI service profile based on a given service name and service class.
- Set the RI state
- Set the state of a RI based on a given service name and service class. It also causes the invocation of the related callback method:
- signature
- public boolean setState ( String serviceName, String serviceClass, RI.State state, String messageState)
- parameters
- A valid local RI service name
- A valid local RI service class
- The state
- The message state
- return
- True if set completed, false otherwise
- Set the state of a RI based on a given service name and service class. It also causes the invocation of the related callback method:
- Get the RI state
- Returns the state data tag of a RI service profile based on a given service name and service class.
- signature
- public String getState ( String serviceName, String serviceClass ) throws Exception
- parameters
- A valid local RI service name
- A valid local RI service class
- return
- If the required RI service profile exists returns the state section, exception otherwise
- Returns the state data tag of a RI service profile based on a given service name and service class.
- Get all services on DHN
- Returns a list with all the services on the local DHN
- signature
- public Vector getAllServices() throws Exception
- parameters
- n.a.
- return
- A list with the services {class, name} running on the DHN, exception otherwise
- Returns a list with all the services on the local DHN
- Get service information
- Returns the service information from a given EPR
- signature
- public ServiceData getServiceInfoFromEPR(EndpointReferenceType epr) throws Exception
- parameters
- An End Point Reference
- return
- The service information, exception otherwise
- Returns the service information from a given EPR
- Get the DHN free disk space
- Returns the local free disk space
- signature
- public String getDHNFreeSpace ( String fileSys ) throws Exception
- parameters
- A valid file system
- return
- The node disk free space (KBytes)
- Returns the local free disk space
- Get the DHN secure mode
- Returns the DHN secure mode
- signature
- public boolean isDHNSecurityEnable () throws Exception
- parameters
- n.a.
- return
- True if DHN is running in secure mode, false otherwise.
- Returns the DHN secure mode
- List VO Maps
Dependencies
The NAL used following external libraries:
- commons-io-1.2.jar
- jaxb-api.jar
- jaxb-impl.jar
- jaxb-xjc.jar
- jaxb1-impl.jar
- jsr173_api.jar
As well as the following DILIGENT jar files:
- org_diligentproject_common_profile.jar
- org_diligentproject_common_profilemanager.jar
- org_diligentproject_keeperservice_hnm_stubs.jar
- dvos.authentication-api.jar
Usage Example
NAL Initialization
- With the default constructor:
NAL nal = new NAL ();
- With a given base directory:
String baseDir = ContainerConfig.getBaseDirectory() + "/etc/org_diligentproject_keeperservice_hnm/HNMService"; NAL nal = new NAL (baseDir);
--ManueleSimi 12:50, 02 October 2007 (EET)