Session Objects
Subclass of SystemSession.
A session is the main interface through which users of the Modeler API access the API features. Each session has its own connection to a data mining server.
A data mining server is typically a remote server identified by a ServerConnectionDescriptor. From Modeler API 2.0 a server can also be a local server instance spawned as a child process of the Modeler API host process (see connect()). This local server mode requires a local server installation, such as a Modeler client installation, on the local machine. The installation directory is located through the system property
com.spss.psapi.session.serverInstallationDirectory
This property must point to a valid installation directory and must be set before the session factory is instantiated otherwise connections to the local server will fail.
s.close()
Closes this session. This automatically interrupts any task currently running, closes any current Stream and invalidates any other objects created by this session.
s.connect(serverDescriptor)
serverDescriptor (ServerConnectionDescriptor) : identifies a remote data mining server
Connects this session to the remote server identified by the specified server descriptor.
Exceptions:
ServerConnectionException : if a connection to the server cannot be established or if the Session already has a connection
s.connect()
Connects this session to a local server instance. Spawns a new local server process.
Exceptions:
ServerConnectionException : if a local server instance cannot be created or if the session already has a connection
s.connect(stream)
stream (Stream) : the stream to be connected
Connects the stream to the session's server.
Exceptions:
ServerConnectionException : if the Session is not connected or if the stream is already connected
OwnerException : if the stream was not created by this session
s.createServerDatabaseConnection(datasourceName, credentialName, catalogName) :
ServerDatabaseConnection
datasourceName (string) : the datasource name
credentialName (string) : the stored credential name
catalogName (string) : the catalog name
Creates a ServerDatabaseConnection. The datasource name must visible to the data mining server.
Exceptions:
ServerConnectionException : if the session is not connected to a server
ServerResourceException : if the connection task fails.
s.createServerDatabaseConnection(datasourceName, userName, password, catalogName) :
ServerDatabaseConnection
datasourceName (string) : the datasource name
userName (string) : the user name
password (string) : the password
catalogName (string) : the catalog name
Creates a ServerDatabaseConnection. The datasource name must visible to the data mining server.
Exceptions:
ServerConnectionException : if the session is not connected to a server
ServerResourceException : if the connection task fails.
s.getASCredentialDescriptor() : ASCredentialDescriptor
Returns the credential descriptor used to log in to the Analytic Server.
s.getAttribute(name) : Object
name (string) : an attribute name
Returns the value of the specified attribute in this session, or None if there is no such attribute. Attributes are created by the application, not by the Modeler API.
s.getAttributeNames() : Collection
Returns the names of the attributes defined in this session.
s.getParameters() : ParameterProvider
Returns the parameter provider for this session. The parameter provider provides access to session parameters.
s.getParser() : Parser
Returns the shared parser for this session.
s.getRepository() : Repository
Returns the repository object that provides simple mechanisms for storing and retrieving objects.
s.getRepositoryConnectionDescriptor() : RepositoryConnectionDescriptor
Returns the repository connection descriptor.
s.getServerConnectionDescriptor() : ServerConnectionDescriptor
Returns the ServerConnectionDescriptor used to connect this session to a remote server. Returns None if the session is connected to a local server or has not yet been connected.
s.getServerDataSourceNames() : RowSet
Returns a row set that lists the available system DSNs visible on the data mining server host. The list is returned in the form of a row set where the first column contains the data source name as a string and the second column contains a string description.
Exceptions:
ServerConnectionException : if the session is not connected to a server
ServerResourceException : if access to the server data sources was denied
s.getServerFileSystem() : ServerFileSystem
Returns the server file system.
Exceptions:
ServerConnectionException : if the session is not connected to a server
ServerResourceException : if access to the server file system was denied
s.getServerVersionInfo() : ServerVersionInfo
Returns information about the connected server version or None if the session is not connected.
s.getTaskFactory() : TaskFactory
Returns the TaskFactory for this session.
s.getTaskRunner() : TaskRunner
Returns the TaskRunner for this session.
s.getUIResources() : UIResources
Returns the interface that provides access to UI-related resources.
s.interrupt()
Interrupts any synchronous task which is currently executing. The call returns immediately while the task is interrupted. It has no effect if the session is not busy.
This method may be called from any thread.
s.isBusy() : boolean
Returns True if this session is currently executing a synchronous task (even if the task is in the process of being interrupted).
This method may be called from any thread.
s.isClosed() : boolean
Returns True if this has been closed.
s.isConnected() : boolean
Returns True if this session has a server connection.
s.isValidASCredentialDescriptor(asConnectionDescriptor) : boolean
asConnectionDescriptor (ASCredentialDescriptor) : the credential descriptor
Check whether the credential descriptor is a valid.
s.isValidRepositoryConnectionDescriptor(descriptor) : boolean
descriptor (RepositoryConnectionDescriptor) : the repository connection descriptor
Returns True if the supplied repository connection descriptor is valid i.e. can connect to a content repository.
s.publish(node) : ExecutionHandle
node (DataWriter) : the DataWriter to be published
Executes the specified DataWriter in publish mode to obtain a PublishedImage. This overrides the execution mode set in the node and retrieves the published image from the server on completion. Execution is synchronous. The result is an ExecutionHandle which can be used to determine the exit status of the task and, if the task completes successfully, to obtain the result of the task which is a PublishedImage.
Exceptions:
OwnerException : if the node was not created by this session
ObjectLockedException : if the node or its containing stream is locked
ServerConnectionException : if the stream is not connected to a server
SessionException : if the session is already running another task, or cannot execute the task for some other reason, or if execution completes in a state other than SUCCESS
s.publish(node, inline) : ExecutionHandle
node (TerminalNode) : the TerminalNode to be published. Must be a DataWriter if not publishing inline
inline (boolean) : True to prepare the image for inline scoring
Executes the specified node in publish mode to obtain a PublishedImage ready for inline scoring.
If inline is False, this is equivalent to calling publish(DataWriter) and the node must be a data writer. Otherwise, the node may be any terminal node and the stream is modified in place to replace the input and output nodes with ones suitable for inline scoring.
Execution is synchronous. The result is an ExecutionHandle which can be used to determine the exit status of the publishing task and, if the task completes successfully, to obtain the result of the task which is a PublishedImage.
Exceptions:
OwnerException : if the node was not created by this session
ObjectLockedException : if the node or its containing stream is locked
ServerConnectionException : if the stream is not connected to a server
SessionException : if the session is already running another task, or cannot execute the task for some other reason, or if the stream cannot be prepared for inline scoring, or if execution completes in a state other than SUCCESS
s.removeAttribute(name)
name (string) : an attribute name
Deletes the specified attribute from this session. If there is no such attribute, the call has no effect.
s.run(stream, results) : ExecutionHandle
stream (Stream) : the Stream to be executed
results (Collection) : an empty collection that will contain any built objects once execution has completed
Executes the supplied stream synchronously and waits for it to complete. Returns an ExecutionHandle which can be used to access the exit status and any result from the task.
Exceptions:
OwnerException : if the stream was not created by this session
ObjectLockedException : if the stream is locked
ServerConnectionException : if the stream is not connected to a server
SessionException : if the session is already running another task, cannot execute the task or if execution completes in a state other than SUCCESS
s.run(nodes, results) : ExecutionHandle
nodes (Node[]) : the array of Node objects to be executed
results (Collection) : an empty collection that will contain any built objects once execution has completed
Executes the supplied array of nodes synchronously and waits for them to complete. There must be at least one node in the array. Returns an ExecutionHandle which can be used to access the exit status and any result from the task.
Exceptions:
OwnerException : if the nodes' stream was not created by this session or the nodes are not all owned by the same stream
ObjectLockedException : if the nodes' owner stream is locked
ServerConnectionException : if the nodes' stream is not connected to a server
SessionException : if the session is already running another task, cannot execute the task or if execution completes in a state other than SUCCESS
IllegalArgumentException : if the array is empty
s.runTask(task) : ExecutionHandle
task (Task) : the Task to be executed
Executes the supplied task synchronously and waits for it to complete. Returns an ExecutionHandle which can be used to access the exit status and any result from the task.
Exceptions:
OwnerException : if the task was not created by this session's TaskFactory
ObjectLockedException : if the task is already executing or any object referenced by the task is locked for updating
SessionException : if the session cannot execute the task or if execution completes in a state other than SUCCESS
s.setASCredentialDescriptor(asConnectionDescriptor)
asConnectionDescriptor (ASCredentialDescriptor) : the credential descriptor
Sets the credential descriptor used to log in Analytic Server.
s.setAttribute(name, value)
name (string) : an attribute name
value (Object) : the attribute value
Assigns a value to the specified attribute in this session. If the attribute already has a value, it is replaced. If the value is None, the attribute is deleted from the session.
s.setRepositoryConnectionDescriptor(descriptor)
descriptor (RepositoryConnectionDescriptor) : the new repository connection descriptor
Sets the repository connection descriptor to be used when a connection to a content repository is required. Any existing connection is closed although a new connection will not be created until it is required.
s.spawn(stream, results) : ExecutionHandle
stream (Stream) : the Stream to be executed
results (Collection) : an empty collection that will contain any built objects once execution has completed
Executes the supplied stream asynchronously. Returns an ExecutionHandle which can be used to monitor and control the progress of the task.
Exceptions:
OwnerException : if the stream was not created by this session
ObjectLockedException : if the stream is locked
ServerConnectionException : if the stream is not connected to a server
s.spawn(nodes, builtObjects) : ExecutionHandle
nodes (Node[]) : the array of Node objects to be executed
builtObjects (Collection) : an empty collection that will be populated by built objects created by the execution
Executes the supplied array of nodes asynchronously. Returns an ExecutionHandle which can be used to monitor and control the progress of the task. There must be at least one node in the array.
Exceptions:
OwnerException : if the nodes' stream was not created by this session or the nodes are not all owned by the same stream
ObjectLockedException : if the nodes' stream is locked
ServerConnectionException : if the nodes' stream is not connected to a server
IllegalArgumentException : if the array is empty
s.spawnPublish(node) : ExecutionHandle
node (DataWriter) : the DataWriter to be published
Executes the specified DataWriter asynchronously in publish mode to obtain a PublishedImage. This overrides the execution mode set in the node and retrieves the published image from the server on completion. Returns an ExecutionHandle which can be used to monitor and control the progress of the publishing task and, if it completes successfully, to obtain the task result which is a PublishedImage.
Exceptions:
OwnerException : if the node was not created by this session
ObjectLockedException : if the node or its containing stream is locked
ServerConnectionException : if the stream is not connected to a server
s.spawnPublish(node, inline) : ExecutionHandle
node (TerminalNode) : the TerminalNode to be published. Must be a DataWriter if not publishing inline
inline (boolean) : True to prepare the image for inline scoring
Executes the specified node asynchronously in publish mode to obtain a PublishedImage ready for inline scoring.
If inline is False, this is equivalent to calling publish(DataWriter) and the node must be a data writer. Otherwise, the node may be any terminal node and the stream is modified in place to replace the input and output nodes with ones suitable for inline scoring.
Returns an ExecutionHandle which can be used to monitor and control the progress of the publishing task and, if it completes successfully, to obtain the task result which is a PublishedImage.
Exceptions:
OwnerException : if the node was not created by this session
ObjectLockedException : if the node or its containing stream is locked
ServerConnectionException : if the stream is not connected to a server
SessionException : if the stream cannot be prepared for inline scoring
s.spawnTask(task) : ExecutionHandle
task (Task) : the Task to be executed
Executes the supplied task asynchronously. Returns an ExecutionHandle which can be used to monitor and control the progress of the task.
Exceptions:
OwnerException : if the task was not created by this session's TaskFactory
ObjectLockedException : if the task is already executing or any object referenced by the task is locked for updating
s.waitForAllTasksToFinish()
Waits for all tasks in progress on this session to complete.