com.ibm.di.api.remote
Interface Session

All Superinterfaces:
Remote
All Known Implementing Classes:
SessionImpl

public interface Session
extends Remote

This is the remote Session interface which provides various methods which could be used with the started TDI Server through remote session.


Method Summary
 void addEventListener(DIEventListener aListener, String aTypeFilter, String aIdFilter)
          Registers an Event Listener with the Session.
 void checkInAndLeaveCheckedOut(MetamergeConfig configuration, String relativePathOrSolutionName)
          Checks in the specified configuration and leaves it checked out.
 void checkInConfiguration(MetamergeConfig configuration, String relativePathOrSolutionName)
          Saves the specified configuration and releases the lock.
 void checkInConfiguration(MetamergeConfig configuration, String relativePathOrSolutionName, boolean encrypt)
          Encrypts and saves the specified configuration and releases the lock.
 MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName)
          Checks out the specified configuration.
 MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName, String password)
          Checks out the specified password protected configuration.
 ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName)
          Checks out the specified configuration and starts a temporary Config Instance on the Server.
 ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName, String password)
          Checks out the specified configuration and starts a temporary Config Instance on the Server.
 ConfigInstance createNewConfigInstance(String aConfigUrl)
          Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration.
 ConfigInstance createNewConfigInstance(String aConfigUrl, String aPassword)
          Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration.
 MetamergeConfig createNewConfiguration(String aRelativePath, boolean aOverwrite)
          Creates a new empty configuration and immediately checks it out.
 ConfigInstance createNewConfigurationAndLoad(String aRelativePath, boolean aOverwrite)
          Creates a new empty configuration, immediately checks it out and loads a temporary Config Instance on the Server.
 AssemblyLine[] getAssemblyLines()
          Returns started AssemblyLines corresponding to the currently started configurations.
 String getConfigFolderPath()
          Gets the value of the api.config.folder property in the remote server as a complete path.
 ConfigInstance getConfigInstance(String aConfigId)
          Returns configuration instance corresponding to a specific configuration ID.
 ConfigInstance[] getConfigInstances()
          Returns all currently started configuration instances.
 EventHandler[] getEventHandlers()
          Returns started EventHandlers corresponding to the currently started configurations.
 SecurityRegistry getSecurityRegistry()
          Returns information about the restrictions the current user has.
 ServerInfo getServerInfo()
          Retrieves the Server information.
 SystemLog getSystemLog()
          Returns information about the System logging.
 SystemQueue getSystemQueue()
          Gets the remote Server API SystemQueue representation object
 TombstoneManager getTombstoneManager()
          Returns the TombstoneManager object.
 Object invokeCustom(String aCustomClassName, String aMethodName, Object[] aParams)
          Invokes the specified method from the specified class.
 Object invokeCustom(String aCustomClassName, String aMethodName, Object[] aParamsValue, String[] aParamsClass)
          Invokes the specified method from the specified class.
 boolean isConfigurationCheckedOut(String relativePathOrSolutionName)
          Checks if the specified configuration is checked out on the Server.
 boolean isSSLon()
          Checks if current session is over SSL.
 ArrayList listAllConfigurations()
          Returns a list all configurations in the directory subtree of the Server configuration codebase folder.
 ArrayList listConfigurations(String aRelativePath)
          Returns a list of all configurations in the specified folder.
 ArrayList listFolders(String aRelativePath)
          Returns a list of the child folders of the specified folder.
 boolean releaseConfigurationLock(String relativePathOrSolutionName)
          Administratively releases the lock of the specified configuration.
 boolean removeEventListener(DIEventListener aListener)
          Unregisters an Event Listener with the Session.
 void sendCustomNotification(String aType, String aId, Object aData)
          Sends a custom, user defined notification to all registered listeners.
 void sendEventToACT(Serializable event)
          Processes an event by the Active Correlation Technology engine of the TDI server.
 void shutDownServer()
          Shuts down the ITDI server.
 void shutDownServer(int aExitCode)
          Shuts down the TDI Server with the specified exit code.
 ConfigInstance startConfigInstance(String configPathOrSolutionName)
          Starts a new Config Instance on the Server with the configuration given.
 ConfigInstance startConfigInstance(String configPathOrSolutionName, boolean keepAlive, String password)
          Starts a new Config Instance on the Server with the configuration given.
 boolean undoCheckOut(String relativePathOrSolutionName)
          Releases the lock on the specified configuration, thus aborting all changes being done.
 

Method Detail

getServerInfo

ServerInfo getServerInfo()
                         throws DIException,
                                RemoteException
Retrieves the Server information.

Returns:
ServerInfo object representing the information gathered from the Server.
Throws:
DIException - if an error occurs while retrieving the Server information.
RemoteException - if a communication-related exception occurs.

getConfigInstances

ConfigInstance[] getConfigInstances()
                                    throws DIException,
                                           RemoteException
Returns all currently started configuration instances.

Returns:
ConfigInstance array each value representing currently started configuration instance.
Throws:
DIException - if an error occurs while retrieving the information about the currently started configuration instances.
RemoteException - if a communication-related exception occurs.

getConfigInstance

ConfigInstance getConfigInstance(String aConfigId)
                                 throws DIException,
                                        RemoteException
Returns configuration instance corresponding to a specific configuration ID.

Parameters:
aConfigId - the ID of the wanted configuration.
Returns:
ConfigInstance object corresponding to the specified configuration ID or null if the configuration ID is not found in the list of currently started configurations.
Throws:
DIException - if an error occurs while retrieving the information.
RemoteException - if a communication-related exception occurs.

getAssemblyLines

AssemblyLine[] getAssemblyLines()
                                throws DIException,
                                       RemoteException
Returns started AssemblyLines corresponding to the currently started configurations.

Returns:
AssemblyLine array each value corresponding to a started AssemblyLine.
Throws:
DIException - if an error occurs while retrieving the information about the AssemblyLines.
RemoteException - if a communication-related exception occurs.

getEventHandlers

EventHandler[] getEventHandlers()
                                throws DIException,
                                       RemoteException
Returns started EventHandlers corresponding to the currently started configurations.

Returns:
EventHandler array each value corresponding to a started EventHandler.
Throws:
DIException - if an error occurs while retrieving the information about the EventHandlers.
RemoteException - if a communication-related exception occurs.

startConfigInstance

ConfigInstance startConfigInstance(String configPathOrSolutionName)
                                   throws DIException,
                                          RemoteException
Starts a new Config Instance on the Server with the configuration given.

Parameters:
configPathOrSolutionName - The URL where the configuration file is loaded from or the Solution Name of the configuration file. Only configuration files located in the configuration codebase folder can be referenced by Solution Name.
Returns:
ConfigInstance object representing currently started configuration instance.
Throws:
DIException - if an error occurs on starting the new Config Instance.
RemoteException - if a communication-related exception occurs.

startConfigInstance

ConfigInstance startConfigInstance(String configPathOrSolutionName,
                                   boolean keepAlive,
                                   String password)
                                   throws DIException,
                                          RemoteException
Starts a new Config Instance on the Server with the configuration given.

Parameters:
configPathOrSolutionName - The URL where the configuration file is loaded from or the Solution Name of the configuration file.
keepAlive - When true the Config Instance will stay alive even when no threads are running, when false the Config Instance will automatically terminate when its last thread terminates.
password - Specify the pasword of the conofiguration when it is password-protected; specify null when the configuration is not password-protected.
Returns:
ConfigInstance object representing currently started configuration instance.
Throws:
DIException - if an error occurs on starting the new Config Instance.
RemoteException - if a communication-related exception occurs.

createNewConfigInstance

ConfigInstance createNewConfigInstance(String aConfigUrl)
                                       throws DIException,
                                              RemoteException
Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration.

Parameters:
aConfigUrl - The URL of the new configuration file to be created.
Throws:
DIException - if an error occurs while creating the new Config Instance.
RemoteException - if a communication-related exception occurs.

createNewConfigInstance

ConfigInstance createNewConfigInstance(String aConfigUrl,
                                       String aPassword)
                                       throws DIException,
                                              RemoteException
Deprecated. Not supported. Creates and starts a new Config Instance with an empty configuration.

Parameters:
aConfigUrl - The URL of the new configuration file to be created.
aPassword - If this parameter is not null, the new configuration will be protected with the given password.
Throws:
DIException - if an error occurs while creating the new Config Instance.
RemoteException - if a communication-related exception occurs.

shutDownServer

void shutDownServer()
                    throws DIException,
                           RemoteException
Shuts down the ITDI server.

Throws:
DIException - if an error occurs while shutting down the server.
RemoteException - if a communication-related exception occurs.

shutDownServer

void shutDownServer(int aExitCode)
                    throws DIException,
                           RemoteException
Shuts down the TDI Server with the specified exit code.

Parameters:
aExitCode - the exit code used to shut down TDI Server.
Throws:
DIException - if an error occurs while shutting down the server.
RemoteException - if a communication-related exception occurs.

getSecurityRegistry

SecurityRegistry getSecurityRegistry()
                                     throws DIException,
                                            RemoteException
Returns information about the restrictions the current user has.

Returns:
SecurityRegistry object which represents the restrictions to the current user.
Throws:
DIException - if an error occurs while retrieving security information.
RemoteException - if a communication-related exception occurs.

getSystemLog

SystemLog getSystemLog()
                       throws DIException,
                              RemoteException
Returns information about the System logging.

Returns:
SystemLog object containing log information.
Throws:
DIException - if an error occurs while retrieving the System logging information.
RemoteException - if a communication-related exception occurs.

addEventListener

void addEventListener(DIEventListener aListener,
                      String aTypeFilter,
                      String aIdFilter)
                      throws DIException,
                             RemoteException
Registers an Event Listener with the Session.

Parameters:
aListener - The Event Listener to register with the Session.
aTypeFilter - A filter for the type of events.
aIdFilter - A filter for the id of events.
Throws:
DIException - if an error occurs while registering the listener.
RemoteException - if a communication-related exception occurs.

removeEventListener

boolean removeEventListener(DIEventListener aListener)
                            throws DIException,
                                   RemoteException
Unregisters an Event Listener with the Session.

Parameters:
aListener - The Event Listener to unregister.
Returns:
true if the EventListener is successfully unregistered, false otherwise.
Throws:
DIException - if an error occurs while unregistering the listener.
RemoteException - if a communication-related exception occurs.

getTombstoneManager

TombstoneManager getTombstoneManager()
                                     throws DIException,
                                            RemoteException
Returns the TombstoneManager object. Tombstones can be queried and cleared through this object.

Returns:
The TombstoneManager object or null if TombstoneManeger is switched off.
Throws:
DIException - if an error occurs while getting the TombstoneManager.
RemoteException - if a communication-related exception occurs.

isSSLon

boolean isSSLon()
                throws DIException,
                       RemoteException
Checks if current session is over SSL.

Returns:
true if current session is over SSL.
Throws:
DIException - if an error occurs while retrieving the information.
RemoteException - if a communication-related exception occurs.

releaseConfigurationLock

boolean releaseConfigurationLock(String relativePathOrSolutionName)
                                 throws DIException,
                                        RemoteException
Administratively releases the lock of the specified configuration. This call can be only executed by users with the admin role.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Returns:
true if the configuration lock has been release, false otherwise.
Throws:
DIException - If an error occurs during releasing the lock.
RemoteException - if a communication-related exception occurs.

undoCheckOut

boolean undoCheckOut(String relativePathOrSolutionName)
                     throws DIException,
                            RemoteException
Releases the lock on the specified configuration, thus aborting all changes being done. This call can only be executed from a user that has previously checked out the configuration and only if the configuration lock has not timed out.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Returns:
true if the undo operation is successful, false otherwise.
Throws:
DIException - If an error occurs during releasing the lock.
RemoteException - if a communication-related exception occurs.

listConfigurations

ArrayList listConfigurations(String aRelativePath)
                             throws DIException,
                                    RemoteException
Returns a list of all configurations in the specified folder. If a configuration has a Solution Name, this name appears in the list, otherwise in the list appears the file path of the configuration. The configurations file paths returned are relative to the Server configuration codebase folder. The returned list is based on information, gathered by the Server on startup. If a new configuration file is added in the configuration codebase folder when the Server is already running, that configuration will not be listed by the method.

Parameters:
aRelativePath - A folder relative to the Server configuration codebase folder.
Returns:
A list of all configurations in the specified folder.
Throws:
DIException - If an error occurs while retrieving configurations.
RemoteException - if a communication-related exception occurs.

listFolders

ArrayList listFolders(String aRelativePath)
                      throws DIException,
                             RemoteException
Returns a list of the child folders of the specified folder.

Parameters:
aRelativePath - A folder relative to the Server configuration codebase folder.
Returns:
A list of the child folders of the specified folder.
Throws:
DIException - If an error occurs while retrieving child folder.
RemoteException - if a communication-related exception occurs.

listAllConfigurations

ArrayList listAllConfigurations()
                                throws DIException,
                                       RemoteException
Returns a list all configurations in the directory subtree of the Server configuration codebase folder. If a configuration has a Solution Name, this name appears in the list, otherwise in the list appears the file path of the configuration. The configurations file paths returned are relative to the TDI Server configuration codebase folder. The returned list is based on information, gathered by the Server on startup. If a new configuration file is added in the configuration codebase folder when the Server is already running, that configuration will not be listed by the method.

Returns:
A list of all configurations from the whole configuration codebase directory subtree.
Throws:
DIException - If an error occurs while retrieving configurations.
RemoteException - if a communication-related exception occurs.

checkOutConfiguration

MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName)
                                      throws DIException,
                                             RemoteException
Checks out the specified configuration. Returns the MetamergeConfig object representing the configuration and locks that configuration on the Server.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Returns:
The MetamergeConfig object representing the specified configuration.
Throws:
DIException - If an error occurs while checking out the configuration.
RemoteException - if a communication-related exception occurs.

checkOutConfiguration

MetamergeConfig checkOutConfiguration(String relativePathOrSolutionName,
                                      String password)
                                      throws DIException,
                                             RemoteException
Checks out the specified password protected configuration. Returns the MetamergeConfig object representing the configuration and locks that configuration on the Server.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
password - Specify the password for password protected configurations.
Returns:
The MetamergeConfig object representing the specified configuration.
Throws:
DIException - If an error occurs while checking out the configuration.
RemoteException - if a communication-related exception occurs.

checkOutConfigurationAndLoad

ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName)
                                            throws DIException,
                                                   RemoteException
Checks out the specified configuration and starts a temporary Config Instance on the Server.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Returns:
The ConfigInstance object representing the temporary ConfigIsntance started on the Server.
Throws:
DIException - If an error occurs while checking out the configuration.
RemoteException - if a communication-related exception occurs.

checkOutConfigurationAndLoad

ConfigInstance checkOutConfigurationAndLoad(String relativePathOrSolutionName,
                                            String password)
                                            throws DIException,
                                                   RemoteException
Checks out the specified configuration and starts a temporary Config Instance on the Server.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
password - Specify the password for password protected configurations.
Returns:
The ConfigInstance object representing the temporary ConfigIsntance started on the Server.
Throws:
DIException - If an error occurs while checking out the configuration.
RemoteException - if a communication-related exception occurs.

checkInConfiguration

void checkInConfiguration(MetamergeConfig configuration,
                          String relativePathOrSolutionName)
                          throws DIException,
                                 RemoteException
Saves the specified configuration and releases the lock. If a temporary ConfigInstance has been started on check out, it will be stopped as well.

Parameters:
configuration - The MetamergeConfig object representing the configuration to be checked in.
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Throws:
DIException - If an error occurs while checking in the configuration.
RemoteException - if a communication-related exception occurs.

checkInAndLeaveCheckedOut

void checkInAndLeaveCheckedOut(MetamergeConfig configuration,
                               String relativePathOrSolutionName)
                               throws DIException,
                                      RemoteException
Checks in the specified configuration and leaves it checked out. The timeout for the lock on the configuration is reset.

Parameters:
configuration - The MetamergeConfig object representing the configuration to be checked in.
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Throws:
DIException - If an error occurs while checking in the configuration.
RemoteException - if a communication-related exception occurs.

checkInConfiguration

void checkInConfiguration(MetamergeConfig configuration,
                          String relativePathOrSolutionName,
                          boolean encrypt)
                          throws DIException,
                                 RemoteException
Encrypts and saves the specified configuration and releases the lock. If a temporary Config Instance has been started on check out, it will be stopped as well.

Parameters:
configuration - The MetamergeConfig object representing the configuration to be checked in.
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
encrypt - If set to true, the configuration will be encrypted on the Server.
Throws:
DIException - If an error occurs while checking in the configuration.
RemoteException - if a communication-related exception occurs.

createNewConfiguration

MetamergeConfig createNewConfiguration(String aRelativePath,
                                       boolean aOverwrite)
                                       throws DIException,
                                              RemoteException
Creates a new empty configuration and immediately checks it out. If a configuration with the specified path already exists and the aOverwrite parameter is set to false the operation will fail and an Exception will be thrown.

Parameters:
aRelativePath - The path of the new configuration file relative to the Server configuration codebase folder.
aOverwrite - Specify whether to overwrite or not an already exising configuration file.
Returns:
The MetamergeConfig object representing the newly created configuration.
Throws:
DIException - If an error occurs while creating the new configuration.
RemoteException - if a communication-related exception occurs.

createNewConfigurationAndLoad

ConfigInstance createNewConfigurationAndLoad(String aRelativePath,
                                             boolean aOverwrite)
                                             throws DIException,
                                                    RemoteException
Creates a new empty configuration, immediately checks it out and loads a temporary Config Instance on the Server. If a configuration with the specified path already exists and the aOverwrite parameter is set to false the operation will fail and an Exception will be thrown.

Parameters:
aRelativePath - The path of the new configuration file relative to the Server configuration codebase folder.
aOverwrite - Specify whether to overwrite or not an already exising configuration file.
Returns:
The ConfigInstance object representing the temporary ConfigIsntance started on the Server.
Throws:
DIException - If an error occurs while creating the new configuration.
RemoteException - if a communication-related exception occurs.

isConfigurationCheckedOut

boolean isConfigurationCheckedOut(String relativePathOrSolutionName)
                                  throws DIException,
                                         RemoteException
Checks if the specified configuration is checked out on the Server.

Parameters:
relativePathOrSolutionName - The path to the configuration relative to the Server configuration codebase folder or the Solution Name of the configuration (the configuration must be inside the configuration codebase folder).
Returns:
true if the specified configuration is checked out, false otherwise.
Throws:
DIException - If an error occurs while checking the configuration.
RemoteException - if a communication-related exception occurs.

sendCustomNotification

void sendCustomNotification(String aType,
                            String aId,
                            Object aData)
                            throws DIException,
                                   RemoteException
Sends a custom, user defined notification to all registered listeners.

Parameters:
aType - Notification type, will be automatically prefixed with "user."
aId - Notification ID, usually identifies the object this event originated from.
aData - Custom user data. Make sure the object passed is serializable if you want to send this event notification in a remote context.
Throws:
DIException - If an error occurs while sending the notification.
RemoteException - if a communication-related exception occurs.

getSystemQueue

SystemQueue getSystemQueue()
                           throws DIException,
                                  RemoteException
Gets the remote Server API SystemQueue representation object

Returns:
the remote Server API SystemQueue representation object
Throws:
DIException - If the System Queue is turned off or the System Queue cannot be initialized
RemoteException - If the Server API RMI connection fails

getConfigFolderPath

String getConfigFolderPath()
                           throws RemoteException
Gets the value of the api.config.folder property in the remote server as a complete path. If not set, then returns an empty string.

Returns:
The path of the config folder on the remote machine.
Throws:
RemoteException - if a communication-related exception occurs.

invokeCustom

Object invokeCustom(String aCustomClassName,
                    String aMethodName,
                    Object[] aParams)
                    throws DIException,
                           RemoteException
Invokes the specified method from the specified class. The method must be static. This method cannot invoke methods with null parameter values. All parameter values in the parameter object array MUST be non-null. If any value is null an Exception is thrown. If a user wants to invoke a method with a null parameter, he/she must use the other invokeCustom method. The usage of this method can be turned on/off. There is a property in the global.properties file called api.custom.method.invoke.on. If this property is set to true then this method can be invoked, otherwise an exception is thrown if this method is invoked. There is a restriction on the classes which can be directly invoked. The allowed classes are described in another property in the global.properties file called api.custom.method.invoke.allowed.classes. Only classes listed in this property can be directly invoked by this method. If a user tries to invoke a class which is not in this list then an exception is thrown.

Parameters:
aCustomClassName - The class containing the method to be invoked.
aMethodName - The name of the method to be invoked.
aParams - Array of parameters used by the invoked method.
Returns:
the result of dispatching the method represented with parameters aParams
Throws:
DIException - If an error occurs while invoking the method.
RemoteException - If a communication-related exception occurs.

invokeCustom

Object invokeCustom(String aCustomClassName,
                    String aMethodName,
                    Object[] aParamsValue,
                    String[] aParamsClass)
                    throws DIException,
                           RemoteException
Invokes the specified method from the specified class. The method must be static. This method is used when the user wants to invoke the specified method with a null parameter value. The main difference between these two invokeCustom methods is that when using this method the user MUST specify the parameters' type. The usage of this method can be turned on/off. There is a property in the global.properties file called api.custom.method.invoke.on. If this property is set to true then this method can be invoked, otherwise an exception is thrown if this method is invoked. There is a restriction on the classes which can be directly invoked. The allowed classes are described in another property in the global.properties file called api.custom.method.invoke.allowed.classes. Only classes listed in this property can be directly invoked by this method. If the user tries to invoke a class which is not in this list then an exception is thrown.

Parameters:
aCustomClassName - The class containing the method to be invoked.
aMethodName - The name of the method to be invoked.
aParamsValue - Array of parameters used by the invoked method.
aParamsClass - The type of the parameters used by the invoked method.
Returns:
the result of dispatching the method represented with parameters' types aParamsClass.
Throws:
DIException - If an error occurs while invoking the method.
RemoteException - If a communication-related exception occurs.

sendEventToACT

void sendEventToACT(Serializable event)
                    throws DIException,
                           RemoteException
Processes an event by the Active Correlation Technology engine of the TDI server. The method returns when the engine has completely processed the event.

Parameters:
event - Event to be processed by ACT engine - currently only org.eclipse.hyades.logging.events.cbe.CommonBaseEvent is supported.
Throws:
DIException - An error occurred while processing the event or the event type is not supported. RemoteException A communication-related error.
RemoteException
Since:
TDI 6.1.1