Table of content:
Adding to JSAGA support for new technologies can be done by developing adaptors. There are 3 kind of adaptors: security adaptors, data adaptors and job adaptors.
Adaptor interfaces are designed to be as close to legacy middleware API as possible. A few interfaces are required, most of them are optional. An adaptor should implement only required functionalities and optional functionalities that can not be emulated by the core engine. However, selected interfaces must be fully implemented and adaptor methods can not throw exception "NotImplementedException".
JSAGA adaptors API re-use Exception classes of the org.ogf.saga.error package of the SAGA java binding API. See pages 37 to 41 of the "SAGA Error Handling" chapter of the SAGA specification document for a description of each SAGA Exception class.
A module can contain several adaptors. Only the adaptors declared in file resources/adaptor.properties will be seen by JSAGA.
This document describes adaptor interfaces only. For information about how to create a test-suite for your adaptor, please look at the Testing Adaptors Guide web page. For information about how to create project skeleton, how to configure and run test-suite, etc., please look at the Contributors How To web page.
This document is generated from source code. It is applicable to the version of JSAGA that can be downloaded here.
A security adaptor must implement the SecurityAdaptor interface, which extends the Adaptor interface.
If your security adaptor creates expirable credentials, it should also implement the ExpirableSecurityAdaptor interface.
A security adaptor creates security credentials. A security credential must implement the SecurityCredential interface.
See example.
Copy-paste required methods to your adaptor class, and implement them.// methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! } // methods of interface SecurityAdaptor public Class getSecurityCredentialClass() { return null; //todo: this method MUST be implemented! } public SecurityCredential createSecurityCredential(int usage, Map attributes, String contextId) throws IncorrectStateException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! }
A data adaptor must implements the DataAdaptor interface, which extends the ClientAdaptor and the Adaptor interfaces.
A data adaptor is either a physical file adaptor, or a logical file adaptor. It must implement the DataReaderAdaptor and/or the DataWriterAdaptor interfaces.
A data reader adaptor creates file attributes container. A file attributes container must extend the FileAttributes abstract class.
See example.
A physical file adaptor uses either stream methods or get/put methods.
A physical file adaptor that uses stream methods must implement the FileReaderStreamFactory and/or the FileWriterStreamFactory interfaces.
Copy-paste required methods to your adaptor class, and implement them.// methods of interface DataAdaptor // methods of interface DataWriterAdaptor public void makeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeFile(String parentAbsolutePath, String fileName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } // methods of interface FileWriterStreamFactory public OutputStream getOutputStream(String parentAbsolutePath, String fileName, boolean exclusive, boolean append, String additionalArgs) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface DataReaderAdaptor public boolean exists(String absolutePath, String additionalArgs) throws PermissionDeniedException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes getAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes[] listAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface FileReaderStreamFactory public InputStream getInputStream(String absolutePath, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface ClientAdaptor public Class[] getSupportedSecurityCredentialClasses() { return null; //todo: this method MUST be implemented! } public void setSecurityCredential(SecurityCredential credential) { //todo: this method MUST be implemented! } public int getDefaultPort() { return null; //todo: this method MUST be implemented! } public void connect(String userInfo, String host, int port, String basePath, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void disconnect() throws NoSuccessException { //todo: this method MUST be implemented! } // methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! }
A physical file adaptor that uses get/put methods must implement the FileReaderGetter and/or the FileWriterPutter interfaces.
Copy-paste required methods to your adaptor class, and implement them.// methods of interface DataAdaptor // methods of interface FileWriterPutter public void putFromStream(String absolutePath, boolean append, String additionalArgs, InputStream stream) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public int getBufferSize() { return null; //todo: this method MUST be implemented! } // methods of interface DataWriterAdaptor public void makeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeFile(String parentAbsolutePath, String fileName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } // methods of interface FileReaderGetter public void getToStream(String absolutePath, String additionalArgs, OutputStream stream) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } // methods of interface DataReaderAdaptor public boolean exists(String absolutePath, String additionalArgs) throws PermissionDeniedException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes getAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes[] listAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface ClientAdaptor public Class[] getSupportedSecurityCredentialClasses() { return null; //todo: this method MUST be implemented! } public void setSecurityCredential(SecurityCredential credential) { //todo: this method MUST be implemented! } public int getDefaultPort() { return null; //todo: this method MUST be implemented! } public void connect(String userInfo, String host, int port, String basePath, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void disconnect() throws NoSuccessException { //todo: this method MUST be implemented! } // methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! }
A logical file adaptor must implement the LogicalReader and/or the LogicalWriter interfaces.
A logical file adaptor may implement the LogicalReaderMetaDataExtended optional interface, but this is not recommended because this functionality can not be used through the SAGA API.
Copy-paste required methods to your adaptor class, and implement them.// methods of interface DataAdaptor // methods of interface LogicalWriter public void create(String logicalEntry, String additionalArgs) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void addLocation(String logicalEntry, URL replicaEntry, String additionalArgs) throws PermissionDeniedException, BadParameterException, IncorrectStateException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeLocation(String logicalEntry, URL replicaEntry, String additionalArgs) throws PermissionDeniedException, BadParameterException, IncorrectStateException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } // methods of interface DataWriterAdaptor public void makeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, AlreadyExistsException, ParentDoesNotExist, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeDir(String parentAbsolutePath, String directoryName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void removeFile(String parentAbsolutePath, String fileName, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } // methods of interface LogicalReader public String[] listLocations(String logicalEntry, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface DataReaderAdaptor public boolean exists(String absolutePath, String additionalArgs) throws PermissionDeniedException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes getAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } public FileAttributes[] listAttributes(String absolutePath, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException { return null; //todo: this method MUST be implemented! } // methods of interface ClientAdaptor public Class[] getSupportedSecurityCredentialClasses() { return null; //todo: this method MUST be implemented! } public void setSecurityCredential(SecurityCredential credential) { //todo: this method MUST be implemented! } public int getDefaultPort() { return null; //todo: this method MUST be implemented! } public void connect(String userInfo, String host, int port, String basePath, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void disconnect() throws NoSuccessException { //todo: this method MUST be implemented! } // methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! }
A data adaptor may implement the DataWriterTimes optional interface in order to support preservation of last modification date when copying files.
A data adaptor may implement the LinkAdaptor optional interface in order to support links.
A data adaptor may implement a permission optional interface, in order to support entries permissions management. Permission interfaces are:
A data adaptor may implement the DataCopy optional interface in order to optimise data transfer (e.g. use third-party transfer).
[NOT YET SUPPORTED] A data adaptor may implement the DataCopyDelegated optional interface in order to delegate data transfer (e.g. to a third-party service such as gLite FTS or Globus RFT).
A data adaptor may implement the DataRename optional interface in order to optimize file renaming or moving (i.e. avoid copying data).
A data adaptor may implement the optional interface in order to optimize entries listing with wildcards (i.e. interpret wildcards on server-side).
A job adaptor must implement the JobAdaptor interface, which extends the ClientAdaptor and the Adaptor interfaces.
A job adaptor is composed of two classes (that can extend a common abstract class): the job control adaptor and the job monitor adaptor. This increases flexibility (advanced user can use an alternative monitoring implementation), and enforces development of adaptors that support offline monitoring.
See example.
A job control adaptor must implement the JobControlAdaptor interface.
A job control adaptor creates a job description translator. A job description translator must implement the JobDescriptionTranslator interface. Two reusable implementations are provided:
// methods of interface ClientAdaptor public Class[] getSupportedSecurityCredentialClasses() { return null; //todo: this method MUST be implemented! } public void setSecurityCredential(SecurityCredential credential) { //todo: this method MUST be implemented! } public int getDefaultPort() { return null; //todo: this method MUST be implemented! } public void connect(String userInfo, String host, int port, String basePath, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void disconnect() throws NoSuccessException { //todo: this method MUST be implemented! } // methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! } // methods of interface JobAdaptor // methods of interface JobControlAdaptor public JobDescriptionTranslator getJobDescriptionTranslator() throws NoSuccessException { return null; //todo: this method MUST be implemented! } public JobMonitorAdaptor getDefaultJobMonitor() { return null; //todo: this method MUST be implemented! } public String submit(String jobDesc, boolean checkMatch, String uniqId) throws PermissionDeniedException, TimeoutException, NoSuccessException, BadResource { return null; //todo: this method MUST be implemented! } public void cancel(String nativeJobId) throws PermissionDeniedException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! }
A job monitor adaptor must implement the JobMonitorAdaptor interface.
A job monitor adaptor must implement at least one of the monitoring interfaces. It may implement several if they are natively supported by the targeted scheduler. Monitoring interfaces are:
Monitoring interfaces create job status objects. A job status object must extend the JobStatus abstract class.
A job monitor adaptor may implement the JobInfoAdaptor optional interface.
A job monitor adaptor may implement the ListableJobAdaptor interface in order to list user jobs known by the targeted scheduler service.
// methods of interface ClientAdaptor public Class[] getSupportedSecurityCredentialClasses() { return null; //todo: this method MUST be implemented! } public void setSecurityCredential(SecurityCredential credential) { //todo: this method MUST be implemented! } public int getDefaultPort() { return null; //todo: this method MUST be implemented! } public void connect(String userInfo, String host, int port, String basePath, Map attributes) throws NotImplementedException, AuthenticationFailedException, AuthorizationFailedException, IncorrectURLException, BadParameterException, TimeoutException, NoSuccessException { //todo: this method MUST be implemented! } public void disconnect() throws NoSuccessException { //todo: this method MUST be implemented! } // methods of interface Adaptor public String getType() { return null; //todo: this method MUST be implemented! } public Usage getUsage() { return null; //todo: this method MUST be implemented! } public Default[] getDefaults(Map attributes) throws IncorrectStateException { return null; //todo: this method MUST be implemented! } // methods of interface JobAdaptor // methods of interface JobMonitorAdaptor public int getDefaultPort() { return null; //todo: this method MUST be implemented! }
A job control adaptor may implement a data staging optional interface, in order to stage job input/output files. Data staging interfaces are:
The data staging interfaces create arrays of StagingTransfer instances.
A job control adaptor may implement one (and only one) of the streamable job optional interfaces, in order to transfer job input/output streams. These interfaces can be implemented even if the targeted scheduler does not support interactive jobs. Streamable job interfaces are:
A job control adaptor may implement the interface in order to purge jobs that are in a final state.
A job control adaptor may implement the CheckpointableJobAdaptor interface in order to checkpoint running jobs.
A job control adaptor may implement the CleanableJobAdaptor interface in order to clean data and files generated for the job when it is completed and when its output files are retrieved.
A job control adaptor may implement the HoldableJobAdaptor interface in order to hold/release the job when it is queued.
A job control adaptor may implement the SignalableJobAdaptor interface in order to send a signal to a running job.
A job control adaptor may implement the SuspendableJobAdaptor interface in order to suspend/resume the job when it is running.
fr.in2p3.jsaga.adaptor.data.DataAdaptor |
---|
fr.in2p3.jsaga.adaptor.data.optimise.DataCopy | |
---|---|
copy:
Copy this entry to another part of the namespace.
|
Exceptions:
|
copyFrom:
Copy this entry to another part of the namespace.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.optimise.DataCopyDelegated | |
---|---|
setTransferManagementServer:
Set the server.
|
|
requestTransfer:
Request a transfer task.
|
Exceptions:
|
monitorTransfer:
Monitor the requested transfer task.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.optimise.LogicalReaderMetaDataExtended | |
---|---|
listMetadataNames:
Recursively list the names of the metadata from baseLogicalDir. Returns a list of metadata names
|
Exceptions:
|
listMetadataValues:
Recursively list the values of metadata <code>key</code> from baseLogicalDir. Returns a list of metadata values
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.optimise.DataCopyMonitor | |
---|---|
increment:
|
|
setTotal:
|
fr.in2p3.jsaga.adaptor.data.optimise.DataRename | |
---|---|
rename:
Rename entry sourceAbsolutePath to targetAbsolutePath.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.optimise.expr.BooleanExpr |
---|
fr.in2p3.jsaga.adaptor.data.link.LinkAdaptor | |
---|---|
readLink:
Returns the absolute path of the link target. Resolves one link level
only. Returns the link target.
|
Exceptions:
|
link:
Creates a symbolic link.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.write.LogicalWriter | |
---|---|
create:
Add a replica location to the replica set.
|
Exceptions:
|
addLocation:
Add a replica location to the replica set.
|
Exceptions:
|
removeLocation:
Remove a replica location from the replica set.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.write.FileWriterPutter | |
---|---|
putFromStream:
Put content of stream to absolutePath.
|
Exceptions:
|
getBufferSize:
Defines the buffer size in bytes for the PipedInputStream pipe Returns the pipe size used for the PipedInputStream (return 0 if you do not know what all this means) |
fr.in2p3.jsaga.adaptor.data.write.FileWriter |
---|
fr.in2p3.jsaga.adaptor.data.write.DataWriterTimes | |
---|---|
setLastModified:
Set the last modification time of the file absolutePath.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.write.LogicalWriterMetaData | |
---|---|
setMetaData:
Set/add a meta data to the logical entry.
|
Exceptions:
|
removeMetaData:
Remove a meta data from the logical entry.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.write.DataWriterAdaptor | |
---|---|
makeDir:
Creates a new directory directoryName.
|
Exceptions:
|
removeDir:
Removes the directory absolutePath.
|
Exceptions:
|
removeFile:
Removes the file absolutePath.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.write.FileWriterStreamFactory | |
---|---|
getOutputStream:
Get an output stream for the file fileName. Returns an output stream.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.permission.PermissionAdaptorBasic | |
---|---|
getGroupsOf:
Get the list of primary and secondary groups, for which the user identified by id is member. Returns array of primary and secondary groups.
|
Exceptions:
|
permissionsAllow:
Enables the specified permissions for the specified identifier and scope.
|
Exceptions:
|
permissionsDeny:
Disables the specified permissions for the specified identifier and scope.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.permission.PermissionAdaptor | |
---|---|
getSupportedScopes:
Get the list of supported scopes. Returns array of scopes. |
|
setGroup:
Change group of the entry.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.permission.PermissionAdaptorFull | |
---|---|
setOwner:
Change owner of the entry.
|
Exceptions:
|
permissionsAllow:
Enables the specified permissions for the specified identifier and scope.
|
Exceptions:
|
permissionsDeny:
Disables the specified permissions for the specified identifier and scope.
|
Exceptions:
|
permissionsCheck:
Checks the specified permissions for the specified identifier and scope. Returns true if all permissions are set for id.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.read.LogicalReaderMetaData | |
---|---|
listMetaData:
List the meta data of the logical entry. Returns a String to String[] map containing the meta data
|
Exceptions:
|
findAttributes:
Lists all the entries in the directory logicalDir with matching meta-data. Returns attributes of the matching entries.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.read.FileReaderGetter | |
---|---|
getToStream:
Get content of absolutePath to stream.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.read.LogicalReader | |
---|---|
listLocations:
List the locations in the location set. Returns array of locations in set.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.read.FileReader |
---|
fr.in2p3.jsaga.adaptor.data.read.FileAttributes | |
---|---|
getRelativePath:
Returns the relative path
|
|
getName:
Returns the name of entry (no default value)
|
|
getType:
Returns the type of entry (or TYPE_UNKNOWN)
|
|
getSize:
This method is invoked only on entries of type File. Returns the size of entry (or SIZE_UNKNOWN) |
|
getUserPermission:
Returns the permissions of entry for current user (or PERMISSION_UNKNOWN)
|
|
getGroupPermission:
Returns the permissions of entry for group of current user (or PERMISSION_UNKNOWN)
|
|
getAnyPermission:
Returns the permissions of entry for any (or PERMISSION_UNKNOWN)
|
|
getOwner:
Returns the owner of entry (or ID_UNKNOWN)
|
|
getGroup:
Returns the group of entry (or ID_UNKNOWN)
|
|
getLastModified:
Returns the last modified date of entry (or DATE_UNKNOWN)
|
fr.in2p3.jsaga.adaptor.data.read.DataReaderAdaptor | |
---|---|
exists:
Tests this entry for existing. Returns true if the entry exists.
|
Exceptions:
|
getAttributes:
Get the file attributes of the entry absolutePath. Returns the file attributes.
|
Exceptions:
|
listAttributes:
Lists all the entries in the directory absolutePath. Returns the entry attributes.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.data.read.FileReaderStreamFactory | |
---|---|
getInputStream:
Get an input stream for the file absolutePath. Returns an input stream.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.ClientAdaptor | |
---|---|
getSupportedSecurityCredentialClasses:
Returns the array of supported SecurityCredential classes.
|
|
setSecurityCredential:
Set the security credential.
|
|
getDefaultPort:
Returns the default server port.
|
|
connect:
Connect to the server and initialize the connection with the provided attributes.
|
Exceptions:
|
disconnect:
Disconnect from the server.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.Adaptor | |
---|---|
getType:
Returns the adaptor type (context type, data protocol or job protocol).
|
|
getUsage:
Get a data structure that describes how to use this adaptor.
This data structure contains attribute names with usage constraints (and/or, required/optional, hidden...). Returns the usage data structure. |
|
getDefaults:
Get the defaults values for (some of the) attributes supported by this adaptor.
These values can be static or dynamically created from the information available on local host
(environment variables, files, ...) and from the attributes map. Returns an array of default values.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.security.ExpirableSecurityAdaptor | |
---|---|
destroySecurityAdaptor:
Destroy persisted state of security context
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.security.SecurityCredential | |
---|---|
getUserID:
Returns the identifier of the user.
|
Exceptions:
|
getAttribute:
Returns the value of the attribute (other than UserID)
|
Exceptions:
|
close:
Close the context (implementation may be empty).
|
Exceptions:
|
dump:
Returns description of security context instance.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.security.SecurityAdaptor | |
---|---|
getSecurityCredentialClass:
Returns the security credential class supported by this adaptor.
|
|
createSecurityCredential:
Create a security credential and initialize it with the provided attributes. Returns the security credential.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.JobAdaptor |
---|
fr.in2p3.jsaga.adaptor.job.monitor.JobMonitorAdaptor | |
---|---|
getDefaultPort:
Returns the default server port.
|
fr.in2p3.jsaga.adaptor.job.monitor.QueryIndividualJob | |
---|---|
getStatus:
Get the status of the job matching identifier nativeJobId. Returns the status of the job.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.monitor.JobStatus | |
---|---|
getNativeJobId:
Returns the identifier of the job in the grid
|
|
getSagaState:
Returns the saga state of the job
|
|
getStateDetail:
Returns the backend state of the job
|
|
getCause:
Returns the cause of failure
|
|
getModel:
Returns the backend name
|
|
getSubState:
Get the implementation-specific but middleware-independant state of the job.
In addition to SAGA states, this methods may return states such as PRE_STAGING, POST_STAGING,
QUEUED, FAILED_ERROR and FAILED_ABORTED. Returns the JSAGA state of the job |
fr.in2p3.jsaga.adaptor.job.monitor.ListenIndividualJob | |
---|---|
subscribeJob:
Subscribe to receive notifications about job status changes for job nativeJobId.
|
Exceptions:
|
unsubscribeJob:
Unsubscribe from notifications about job status changes.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.monitor.QueryListJob | |
---|---|
getStatusList:
Get the status of the jobs, which identifier is contained in nativeJobIdArray. Returns the status of listed jobs.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.monitor.JobInfoAdaptor | |
---|---|
getExitCode:
Returns the exit code of the job as an Integer or null if the code does not exit or in not numeric
|
Exceptions:
|
getCreated:
Returns the job creation time
|
Exceptions:
|
getStarted:
Returns the job statup time
|
Exceptions:
|
getFinished:
Returns the job end time
|
Exceptions:
|
getExecutionHosts:
Get the execution host. Several hosts may be returned if the job is a parallel job. Returns the array of execution hosts
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.monitor.ListenJob |
---|
fr.in2p3.jsaga.adaptor.job.monitor.QueryJob |
---|
fr.in2p3.jsaga.adaptor.job.monitor.QueryFilteredJob | |
---|---|
getFilteredStatus:
Get the status of jobs matching filter. Returns the status of jobs matching filter.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.monitor.JobStatusNotifier | |
---|---|
notifyChange:
|
fr.in2p3.jsaga.adaptor.job.monitor.ListenFilteredJob | |
---|---|
subscribeFilteredJob:
Subscribe to receive notifications about job status changes.
|
Exceptions:
|
unsubscribeFilteredJob:
Unsubscribe from notifications about job status changes.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.description.JobDescriptionTranslator | |
---|---|
setAttribute:
Pass an adaptor-specific configuration or job service connection attribute
(including attribute 'HostName') to the translator.
|
Exceptions:
|
translate:
Translate the job description from JSDL to targeted native language Returns a job description understood by the targeted scheduler
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobInteractiveGet | |
---|---|
submitInteractive:
submit an interactive job Returns the job input/output streams handler
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobAdaptor |
---|
fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobBatch | |
---|---|
submit:
submit an interactive job
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOGetter | |
---|---|
getStdout:
Returns the job standard output stream
|
Exceptions:
|
getStderr:
Returns the job standard error stream
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOHandler | |
---|---|
getJobId:
Returns the identifier of the job in the grid
|
fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOGetterInteractive | |
---|---|
getStdin:
Returns the job standard input stream
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOSetter | |
---|---|
setStdout:
Set the job standard output stream.
|
Exceptions:
|
setStderr:
Set the job standard error stream.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobInteractiveSet | |
---|---|
submitInteractive:
submit an interactive job Returns the identifier of the job in the grid
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.manage.ListableJobAdaptor | |
---|---|
list:
Obtains the list of jobs that are currently known to the resource manager. Returns a list of job identifications. |
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.staging.StagingJobAdaptor | |
---|---|
getStagingDirectory:
Get the URL of the directory where to copy job input/output files.
Protocol must be one of the supported protocols. Returns the staging directory URL, or null if the staging directory is managed by the job service.
|
Exceptions:
|
getInputStagingTransfer:
Get pre-staging operations to perform before starting the job. Returns list of transfers that are not managed by the adaptor
|
Exceptions:
|
getOutputStagingTransfer:
Get post-staging operations to perform after the job is done. Returns list of transfers that are not managed by the adaptor
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.staging.StagingJobAdaptorTwoPhase | |
---|---|
start:
Start the job registered by the submit method.
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.staging.StagingTransfer | |
---|---|
getFrom:
|
|
getTo:
|
|
isAppend:
|
fr.in2p3.jsaga.adaptor.job.control.staging.StagingJobAdaptorOnePhase | |
---|---|
getStagingDirectory:
Get the URL of the directory where to copy job input/output files.
Protocol must be one of the supported protocols. Returns the staging directory URL, or null if the staging directory is managed by the job service.
|
Exceptions:
|
getInputStagingTransfer:
Get pre-staging operations to perform before submitting the job. Returns list of transfers that are not managed by the adaptor
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.JobControlAdaptor | |
---|---|
getJobDescriptionTranslator:
Although you have the possibility to implement your own job description translator,
we highly recommand to re-use existing translator in order to keep your code easy to maintain. Returns a job description translator |
Exceptions:
|
getDefaultJobMonitor:
Create an instance of the default job monitor adaptor Returns a job monitor adaptor instance |
|
submit:
submit a job Returns the identifier of the job in the grid
|
Exceptions:
|
cancel:
cancel a job
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.advanced.CheckpointableJobAdaptor | |
---|---|
checkpoint:
initiate a checkpoint operation on an active job Returns true if the job has been successfully checkpointed, false if it was not active
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.advanced.SuspendableJobAdaptor | |
---|---|
suspend:
suspend an active job Returns true if the job has been successfully suspended, false if it was not active
|
Exceptions:
|
resume:
resume a suspended job Returns true if the job has been successfully resumed, false if it was not suspended
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.advanced.CleanableJobAdaptor | |
---|---|
clean:
clean an ended job
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.advanced.SignalableJobAdaptor | |
---|---|
signal:
deliver an arbitrary signal to an active job Returns true if the job has been successfully signaled, false if it was not active
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.job.control.advanced.HoldableJobAdaptor | |
---|---|
hold:
hold a job in queue Returns true if the job has been successfully held, false if it was not queued
|
Exceptions:
|
release:
release a held job Returns true if the job has been successfully released, false if it was not held
|
Exceptions:
|
fr.in2p3.jsaga.adaptor.base.usage.Usage | |
---|---|
getKeys:
Returns the set of attribute keys
|
|
correctValue:
Correct the value according to this usage Returns the corrected value
|
Exceptions:
|
getFirstMatchingUsage:
Returns the first matching usage
|
Exceptions:
|
getMissingValues:
Build a usage instance containing missing attributes only Returns a usage instance containing missing attributes only
|
|
toString:
Returns a string representation of this usage instance
|