Table of content:

Introduction

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.

Developing a security adaptor

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!
    }
    

Developing a data adaptor

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.

Developing a physical file adator

A physical file adaptor uses either stream methods or get/put methods.

Developing a physical file adaptor that uses stream 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!
    }
    

Developing a physical file adaptor that uses get/put methods

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!
    }
    

Developing a logical file adator

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!
    }
    

Data adaptor optional functionalities

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:

Both interfaces extend the PermissionAdaptor abstract interface.

Data adaptor optional optimisations

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).

Developing a job adaptor

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.

Developing a job control adaptor

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:

  • JobDescriptionTranslatorJSDL can be used when the language supported by targeted scheduler is JSDL.
  • JobDescriptionTranslatorXSLT can be used for any other job adaptor.
Although you have the possibility to implement your own job description translator, it is recommended to use the JobDescriptionTranslatorXSLT in order to keep your code easy to maintain. Copy-paste required methods to your adaptor class, and implement them.
    // 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!
    }
    

Developing a job monitor adaptor

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.


Copy-paste required methods to your adaptor class, and implement them.
    // 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!
    }
    

Job control adaptor optional functionalities

Job data (staging and I/O streams)

A job control adaptor may implement a data staging optional interface, in order to stage job input/output files. Data staging interfaces are:

Both of them extends the StagingJobAdaptor interface.

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:

Job management

A job control adaptor may implement the interface in order to purge jobs that are in a final state.

Job optional functionalities

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.

APPENDIX

fr.in2p3.jsaga.adaptor.data.DataAdaptor

fr.in2p3.jsaga.adaptor.data.optimise.DataCopy
copy: Copy this entry to another part of the namespace.
  • sourceAbsolutePath: the path of the file to be copied.
  • targetHost: the host of the target server.
  • targetPort: the post of the target server.
  • targetAbsolutePath: the path of the file to copy to.
  • overwrite: if true, then target is overwrited if it exists.
  • additionalArgs: adaptor specific arguments
  • progressMonitor: progress monitor
Exceptions:
  • AuthenticationFailedException
  • AuthorizationFailedException
  • PermissionDeniedException
  • BadParameterException: if sourceAbsolutePath is not a file.
  • AlreadyExistsException: if targetAbsolutePath already exists and overwrite is false.
  • DoesNotExistException: if sourceAbsolutePath does not exist.
  • ParentDoesNotExist: if parent of targetAbsolutePath does not exist.
  • TimeoutException
  • NoSuccessException
copyFrom: Copy this entry to another part of the namespace.
  • sourceHost: the host of the source server.
  • sourcePort: the post of the source server.
  • sourceAbsolutePath: the path of the file to be copied.
  • targetAbsolutePath: the path of the file to copy to.
  • overwrite: if true, then target is overwrited if it exists.
  • additionalArgs: adaptor specific arguments
Exceptions:
  • AuthenticationFailedException
  • AuthorizationFailedException
  • PermissionDeniedException
  • BadParameterException: if sourceAbsolutePath is not a file.
  • AlreadyExistsException: if targetAbsolutePath already exists and overwrite is false.
  • DoesNotExistException: if sourceAbsolutePath does not exist.
  • TimeoutException
  • NoSuccessException

fr.in2p3.jsaga.adaptor.data.optimise.DataCopyDelegated
setTransferManagementServer: Set the server.
  • host: host of the server.
  • port: port of the server.
requestTransfer: Request a transfer task.
  • sourceAbsoluteUrl: the path of the file to be copied.
  • targetAbsoluteUrl: the URL of the file to copy to.
  • overwrite: if true, then target is overwrited if it exists.
  • additionalArgs: adaptor specific arguments
Exceptions:
  • DoesNotExistException: if sourceAbsoluteUrl does not exist.
  • AlreadyExistsException: if targetAbsoluteUrl already exists and overwrite is false.
monitorTransfer: Monitor the requested transfer task.
    Exceptions:
    • BadParameterException: if sourceAbsoluteURI is not a file.

    fr.in2p3.jsaga.adaptor.data.optimise.LogicalReaderMetaDataExtended
    listMetadataNames: Recursively list the names of the metadata from baseLogicalDir.
    Returns a list of metadata names
    • baseLogicalDir: absolute path to the base directory.
    • keyValuePatterns: filter metadata names.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • TimeoutException
    • NoSuccessException: if baseLogicalDir does not exist.
    listMetadataValues: Recursively list the values of metadata <code>key</code> from baseLogicalDir.
    Returns a list of metadata values
    • baseLogicalDir: absolute path to the base directory.
    • key: the metadata key.
    • keyValuePatterns: filter metadata values.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • TimeoutException
    • NoSuccessException: if baseLogicalDir does not exist.

    fr.in2p3.jsaga.adaptor.data.optimise.DataCopyMonitor
    increment:
    • writtenBytes
    setTotal:
    • writtenBytes

    fr.in2p3.jsaga.adaptor.data.optimise.DataRename
    rename: Rename entry sourceAbsolutePath to targetAbsolutePath.
    • sourceAbsolutePath: the entry to rename.
    • targetAbsolutePath: the new path of the entry.
    • overwrite: if true, the target is overwrited if it exists.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • BadParameterException
    • DoesNotExistException: if sourceAbsolutePath does not exist.
    • AlreadyExistsException: if targetAbsolutePath already exists and overwrite is false.
    • TimeoutException
    • NoSuccessException

    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.
    • absolutePath: the absolute path of the entry.
    Exceptions:
    • NotLink
    • PermissionDeniedException
    • DoesNotExistException: if absolutePath does not exist.
    • TimeoutException
    • NoSuccessException
    link: Creates a symbolic link.
    • sourceAbsolutePath: the absolute path of the physical entry to link to.
    • linkAbsolutePath: the absolute path of the link entry to create.
    • overwrite: if true, then link entry is overwrited if it exists.
    Exceptions:
    • PermissionDeniedException
    • DoesNotExistException: if sourceAbsolutePath does not exist.
    • AlreadyExistsException: if linkAbsolutePath already exists and overwrite is false.
    • TimeoutException
    • NoSuccessException

    fr.in2p3.jsaga.adaptor.data.write.LogicalWriter
    create: Add a replica location to the replica set.
    • logicalEntry: absolute path of the logical entry.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • BadParameterException: if logicalEntry is a directory.
    • AlreadyExistsException: if logicalEntry already exists.
    • ParentDoesNotExist: if parent directory of logicalEntry does not exist.
    • TimeoutException
    • NoSuccessException
    addLocation: Add a replica location to the replica set.
    • logicalEntry: absolute path of the logical entry.
    • replicaEntry: location to add to set.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • BadParameterException: if logicalEntry is a directory.
    • IncorrectStateException: if logicalEntry does not exist.
    • TimeoutException
    • NoSuccessException
    removeLocation: Remove a replica location from the replica set.
    • logicalEntry: absolute path of the logical entry.
    • replicaEntry: replica to remove from set.
    • additionalArgs: adaptor specific arguments
    Exceptions:
    • PermissionDeniedException
    • BadParameterException: if logicalEntry is a directory.
    • IncorrectStateException: if logicalEntry does not exist.
    • DoesNotExistException: if the replicaEntry is not in the set of replicas.
    • TimeoutException
    • NoSuccessException

    fr.in2p3.jsaga.adaptor.data.write.FileWriterPutter
    putFromStream: Put content of stream to absolutePath.
    • absolutePath: the path of the file to put.
    • append: if true, append stream at the end of file.
    • additionalArgs: adaptor specific arguments
    • stream: the input stream.
    Exceptions:
    • PermissionDeniedException
    • BadParameterException: if absolutePath is not a file.
    • AlreadyExistsException: if absolutePath already exists and append is false.
    • ParentDoesNotExist: if parentAbsolutePath does not exist.
    • TimeoutException
    • NoSuccessException
    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.
      • absolutePath: the file.
      • additionalArgs: adaptor specific arguments.
      • lastModified: the last modification time.
      Exceptions:
      • PermissionDeniedException
      • DoesNotExistException: if absolutePath does not exist.
      • TimeoutException
      • NoSuccessException

      fr.in2p3.jsaga.adaptor.data.write.LogicalWriterMetaData
      setMetaData: Set/add a meta data to the logical entry.
      • logicalEntry: absolute path of the logical entry.
      • name: name of the metadata.
      • values: values of the metadata.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • BadParameterException: if values contains unsupported characters.
      • TimeoutException
      • NoSuccessException: if logicalEntry does not exist.
      removeMetaData: Remove a meta data from the logical entry.
      • logicalEntry: absolute path of the logical entry.
      • name: name of the metadata to remove.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • TimeoutException
      • NoSuccessException: if logicalEntry does not exist.
      • DoesNotExistException: if the meta data does not exist.

      fr.in2p3.jsaga.adaptor.data.write.DataWriterAdaptor
      makeDir: Creates a new directory directoryName.
      • parentAbsolutePath: the parent directory.
      • directoryName: the directory to create.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • BadParameterException: if parentAbsolutePath is not a directory.
      • AlreadyExistsException: if directoryName already exists.
      • ParentDoesNotExist
      • TimeoutException
      • NoSuccessException
      removeDir: Removes the directory absolutePath.
      • parentAbsolutePath: the parent directory.
      • directoryName: the directory to remove.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • BadParameterException: if absolutePath is not a directory.
      • DoesNotExistException: if absolutePath does not exist.
      • TimeoutException
      • NoSuccessException: if absolutePath has some descendants.
      removeFile: Removes the file absolutePath.
      • parentAbsolutePath: the parent directory.
      • fileName: the file to remove.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • BadParameterException: if absolutePath is a directory.
      • DoesNotExistException: if absolutePath does not exist.
      • TimeoutException
      • NoSuccessException

      fr.in2p3.jsaga.adaptor.data.write.FileWriterStreamFactory
      getOutputStream: Get an output stream for the file fileName.
      Returns an output stream.
      • parentAbsolutePath: the parent directory.
      • fileName: the file to write to.
      • exclusive: if true, throw exception if file already exist.
      • append: if true, append stream at the end of file.
      • additionalArgs: adaptor specific arguments
      Exceptions:
      • PermissionDeniedException
      • BadParameterException: if parentAbsolutePath is not a directory.
      • AlreadyExistsException: if fileName already exists and exclusive and append are both false.
      • ParentDoesNotExist: if parentAbsolutePath does not exist.
      • TimeoutException
      • NoSuccessException

      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.
      • id: the identifier of the user.
      Exceptions:
      • BadParameterException: if the given id is unknown, or if this method is not implemented.
      • NoSuccessException
      permissionsAllow: Enables the specified permissions for the specified identifier and scope.
      • absolutePath: the absolute path of the entry.
      • scope: the scope of permissions (USER, GROUP or ANY).
      • permissions: the permissions to enable.
      Exceptions:
      • PermissionDeniedException
      • TimeoutException
      • NoSuccessException
      permissionsDeny: Disables the specified permissions for the specified identifier and scope.
      • absolutePath: the absolute path of the entry.
      • scope: the scope of permissions (USER, GROUP or ANY).
      • permissions: the permissions to disable.
      Exceptions:
      • PermissionDeniedException
      • TimeoutException
      • NoSuccessException

      fr.in2p3.jsaga.adaptor.data.permission.PermissionAdaptor
      getSupportedScopes: Get the list of supported scopes.
      Returns array of scopes.
        setGroup: Change group of the entry.
        • absolutePath: the absolute path of the entry.
        • id: the identifier of the new group.
        Exceptions:
        • DoesNotExistException: if the given file does not exist
        • PermissionDeniedException: if setting the group to the file was not allowed
        • TimeoutException
        • BadParameterException: if the given id is unknown or if changing group is not supported
        • NoSuccessException

        fr.in2p3.jsaga.adaptor.data.permission.PermissionAdaptorFull
        setOwner: Change owner of the entry.
        • absolutePath: the absolute path of the entry.
        • id: the identifier of the new owner.
        Exceptions:
        • PermissionDeniedException
        • TimeoutException
        • BadParameterException: if the given id is unknown or if changing owner is not supported
        • NoSuccessException
        permissionsAllow: Enables the specified permissions for the specified identifier and scope.
        • absolutePath: the absolute path of the entry.
        • scope: the scope of permissions (USER, GROUP or ANY).
        • permissions: the permissions to enable.
        • id: the identifier (without "user-" or "group-" prefix).
        Exceptions:
        • PermissionDeniedException
        • TimeoutException
        • BadParameterException: if the given id is unknown or not supported
        • NoSuccessException
        permissionsDeny: Disables the specified permissions for the specified identifier and scope.
        • absolutePath: the absolute path of the entry.
        • scope: the scope of permissions (USER, GROUP or ANY).
        • permissions: the permissions to disable.
        • id: the identifier (without "user-" or "group-" prefix).
        Exceptions:
        • PermissionDeniedException
        • TimeoutException
        • BadParameterException: if the given id is unknown or not supported
        • NoSuccessException
        permissionsCheck: Checks the specified permissions for the specified identifier and scope.
        Returns true if all permissions are set for id.
        • absolutePath: the absolute path of the entry.
        • scope: the scope of permissions (USER, GROUP or ANY).
        • permissions: the permissions to check.
        • id: the identifier (without "user-" or "group-" prefix).
        Exceptions:
        • PermissionDeniedException
        • TimeoutException
        • BadParameterException: if the given id is unknown or not supported
        • NoSuccessException

        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
        • logicalEntry: absolute path of the logical entry.
        • additionalArgs: adaptor specific arguments
        Exceptions:
        • PermissionDeniedException
        • TimeoutException
        • NoSuccessException: if absolutePath does not exist.
        findAttributes: Lists all the entries in the directory logicalDir with matching meta-data.
        Returns attributes of the matching entries.
        • logicalDir: absolute path of the logical directory.
        • keyValuePatterns: map of meta-data keys to values of entries to be found. Patterns are case-sensitive. Accepted wild-cards are '*' and '?'.
        • recursive: tell if search must be recursive or not.
        • additionalArgs: adaptor specific arguments.
        Exceptions:
        • PermissionDeniedException
        • DoesNotExistException: if absolutePath does not exist.
        • TimeoutException
        • NoSuccessException

        fr.in2p3.jsaga.adaptor.data.read.FileReaderGetter
        getToStream: Get content of absolutePath to stream.
        • absolutePath: the path of the file to get.
        • additionalArgs: adaptor specific arguments
        • stream: the output stream.
        Exceptions:
        • PermissionDeniedException
        • BadParameterException: if absolutePath is not a file.
        • DoesNotExistException: if absolutePath does not exist.
        • TimeoutException
        • NoSuccessException

        fr.in2p3.jsaga.adaptor.data.read.LogicalReader
        listLocations: List the locations in the location set.
        Returns array of locations in set.
        • logicalEntry: absolute path of the logical entry.
        • additionalArgs: adaptor specific arguments
        Exceptions:
        • PermissionDeniedException
        • BadParameterException: if logicalEntry is a directory.
        • DoesNotExistException: if logicalEntry does not exist.
        • TimeoutException
        • NoSuccessException

        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.
                            • absolutePath: the absolute path of the entry.
                            • additionalArgs: adaptor specific arguments.
                            Exceptions:
                            • PermissionDeniedException
                            • TimeoutException
                            • NoSuccessException
                            getAttributes: Get the file attributes of the entry absolutePath.
                            Returns the file attributes.
                            • absolutePath: the absolute path of the entry.
                            • additionalArgs: adaptor specific arguments.
                            Exceptions:
                            • PermissionDeniedException
                            • DoesNotExistException: if absolutePath does not exist.
                            • TimeoutException
                            • NoSuccessException
                            listAttributes: Lists all the entries in the directory absolutePath.
                            Returns the entry attributes.
                            • absolutePath: the directory containing entries to list.
                            • additionalArgs: adaptor specific arguments.
                            Exceptions:
                            • PermissionDeniedException
                            • BadParameterException: if absolutePath is not a directory.
                            • DoesNotExistException: if absolutePath does not exist.
                            • TimeoutException
                            • NoSuccessException

                            fr.in2p3.jsaga.adaptor.data.read.FileReaderStreamFactory
                            getInputStream: Get an input stream for the file absolutePath.
                            Returns an input stream.
                            • absolutePath: the file to read from.
                            • additionalArgs: adaptor specific arguments
                            Exceptions:
                            • PermissionDeniedException
                            • BadParameterException: if absolutePath is not a file.
                            • DoesNotExistException: if absolutePath does not exist.
                            • TimeoutException
                            • NoSuccessException

                            fr.in2p3.jsaga.adaptor.ClientAdaptor
                            getSupportedSecurityCredentialClasses: Returns the array of supported SecurityCredential classes.
                              setSecurityCredential: Set the security credential.
                              • credential: the security credential.
                              getDefaultPort: Returns the default server port.
                                connect: Connect to the server and initialize the connection with the provided attributes.
                                • userInfo: the user login
                                • host: the server
                                • port: the port
                                • basePath: the base path
                                • attributes: the provided attributes
                                Exceptions:
                                • NotImplementedException
                                • AuthenticationFailedException
                                • AuthorizationFailedException
                                • IncorrectURLException
                                • BadParameterException
                                • TimeoutException
                                • NoSuccessException
                                disconnect: Disconnect from the server.
                                  Exceptions:
                                  • NoSuccessException

                                  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.
                                      • attributes: the attributes set by the user.
                                      Exceptions:
                                      • IncorrectStateException: if cannot create valid default values based on the information available.

                                      fr.in2p3.jsaga.adaptor.security.ExpirableSecurityAdaptor
                                      destroySecurityAdaptor: Destroy persisted state of security context
                                      • attributes: the provided attributes.
                                      • contextId: the identifier of the security context
                                      Exceptions:
                                      • Exception

                                      fr.in2p3.jsaga.adaptor.security.SecurityCredential
                                      getUserID: Returns the identifier of the user.
                                        Exceptions:
                                        • Exception
                                        getAttribute: Returns the value of the attribute (other than UserID)
                                        • key
                                        Exceptions:
                                        • NotImplementedException: if the attribute key is not supported by this adaptor
                                        • NoSuccessException: if the adaptor failed to get the value of attribute key
                                        close: Close the context (implementation may be empty).
                                          Exceptions:
                                          • Exception
                                          dump: Returns description of security context instance.
                                          • out
                                          Exceptions:
                                          • Exception

                                          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.
                                            • usage: the identifier of the usage.
                                            • attributes: the provided attributes.
                                            • contextId: the identifier of the context instance.
                                            Exceptions:
                                            • IncorrectStateException: if the attributes refer to a context that is not of expected type
                                            • TimeoutException
                                            • NoSuccessException: if creating the adaptor failed

                                            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.
                                              • nativeJobId: the identifier of the job in the grid
                                              Exceptions:
                                              • TimeoutException
                                              • NoSuccessException

                                              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.
                                                          • nativeJobId: the identifier of the job in the grid
                                                          • notifier: the callback
                                                          Exceptions:
                                                          • TimeoutException
                                                          • NoSuccessException
                                                          unsubscribeJob: Unsubscribe from notifications about job status changes.
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • TimeoutException
                                                          • NoSuccessException

                                                          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.
                                                          • nativeJobIdArray: the array of identifiers of the jobs in the grid
                                                          Exceptions:
                                                          • TimeoutException
                                                          • NoSuccessException

                                                          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
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • NotImplementedException: if not supported by the adaptor
                                                          • NoSuccessException: if failed to get the exit code
                                                          getCreated: Returns the job creation time
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • NotImplementedException: if not supported by the adaptor
                                                          • NoSuccessException: if failed to get the job creation time
                                                          getStarted: Returns the job statup time
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • NotImplementedException: if not supported by the adaptor
                                                          • NoSuccessException: if failed to get the job startup time
                                                          getFinished: Returns the job end time
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • NotImplementedException: if not supported by the adaptor
                                                          • NoSuccessException: if failed to get the job end time
                                                          getExecutionHosts: Get the execution host. Several hosts may be returned if the job is a parallel job.
                                                          Returns the array of execution hosts
                                                          • nativeJobId: the identifier of the job in the grid
                                                          Exceptions:
                                                          • NotImplementedException: if not supported by the adaptor
                                                          • NoSuccessException: if failed to get the execution hosts

                                                          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.
                                                          • filters: the filter values.
                                                          Exceptions:
                                                          • TimeoutException
                                                          • NoSuccessException

                                                          fr.in2p3.jsaga.adaptor.job.monitor.JobStatusNotifier
                                                          notifyChange:
                                                          • status

                                                          fr.in2p3.jsaga.adaptor.job.monitor.ListenFilteredJob
                                                          subscribeFilteredJob: Subscribe to receive notifications about job status changes.
                                                          • notifier: the callback
                                                          Exceptions:
                                                          • TimeoutException
                                                          • NoSuccessException
                                                          unsubscribeFilteredJob: Unsubscribe from notifications about job status changes.
                                                            Exceptions:
                                                            • TimeoutException
                                                            • NoSuccessException

                                                            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.
                                                            • key: the name of the attribute
                                                            • value: the value of the attribute
                                                            Exceptions:
                                                            • NoSuccessException
                                                            translate: Translate the job description from JSDL to targeted native language
                                                            Returns a job description understood by the targeted scheduler
                                                            • jsdl: a JSDL document
                                                            • uniqId: an identifier unique to this job (not the job identifier, which is not generated yet)
                                                            Exceptions:
                                                            • NoSuccessException: if can not translate JSDL to targeted native language

                                                            fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobInteractiveGet
                                                            submitInteractive: submit an interactive job
                                                            Returns the job input/output streams handler
                                                            • jobDesc: the job description in the language supported by the targeted grid
                                                            • checkMatch: if true then check if job description matches job service before submitting job
                                                            Exceptions:
                                                            • PermissionDeniedException
                                                            • TimeoutException
                                                            • NoSuccessException

                                                            fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobAdaptor

                                                            fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobBatch
                                                            submit: submit an interactive job
                                                            • jobDesc: the job description in the language supported by the targeted grid
                                                            • checkMatch: if true then check if job description matches job service before submitting job
                                                            • uniqId: a identifier unique to this job (not the job identifier, which is not generated yet)
                                                            • stdin: the job standard input stream @return the job input/output streams handler
                                                            Exceptions:
                                                            • PermissionDeniedException
                                                            • TimeoutException
                                                            • NoSuccessException

                                                            fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOGetter
                                                            getStdout: Returns the job standard output stream
                                                              Exceptions:
                                                              • PermissionDeniedException
                                                              • TimeoutException
                                                              • NoSuccessException
                                                              getStderr: Returns the job standard error stream
                                                                Exceptions:
                                                                • PermissionDeniedException
                                                                • TimeoutException
                                                                • NoSuccessException

                                                                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:
                                                                    • PermissionDeniedException
                                                                    • TimeoutException
                                                                    • NoSuccessException

                                                                    fr.in2p3.jsaga.adaptor.job.control.interactive.JobIOSetter
                                                                    setStdout: Set the job standard output stream.
                                                                    • out: the job standard output stream
                                                                    Exceptions:
                                                                    • PermissionDeniedException
                                                                    • TimeoutException
                                                                    • NoSuccessException
                                                                    setStderr: Set the job standard error stream.
                                                                    • err: the job standard error stream
                                                                    Exceptions:
                                                                    • PermissionDeniedException
                                                                    • TimeoutException
                                                                    • NoSuccessException

                                                                    fr.in2p3.jsaga.adaptor.job.control.interactive.StreamableJobInteractiveSet
                                                                    submitInteractive: submit an interactive job
                                                                    Returns the identifier of the job in the grid
                                                                    • jobDesc: the job description in the language supported by the targeted grid
                                                                    • checkMatch: if true then check if job description matches job service before submitting job
                                                                    • stdin: the standard input stream of the job
                                                                    • stdout: the standard output stream of the job
                                                                    • stderr: the standard error stream of the job
                                                                    Exceptions:
                                                                    • PermissionDeniedException
                                                                    • TimeoutException
                                                                    • NoSuccessException

                                                                    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:
                                                                      • PermissionDeniedException
                                                                      • TimeoutException
                                                                      • NoSuccessException

                                                                      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.
                                                                      • nativeJobId: the identifier of the job in the grid
                                                                      Exceptions:
                                                                      • PermissionDeniedException
                                                                      • TimeoutException
                                                                      • NoSuccessException
                                                                      getInputStagingTransfer: Get pre-staging operations to perform before starting the job.
                                                                      Returns list of transfers that are not managed by the adaptor
                                                                      • nativeJobId: the identifier of the job in the grid
                                                                      Exceptions:
                                                                      • PermissionDeniedException
                                                                      • TimeoutException
                                                                      • NoSuccessException
                                                                      getOutputStagingTransfer: Get post-staging operations to perform after the job is done.
                                                                      Returns list of transfers that are not managed by the adaptor
                                                                      • nativeJobId: the identifier of the job in the grid
                                                                      Exceptions:
                                                                      • PermissionDeniedException
                                                                      • TimeoutException
                                                                      • NoSuccessException

                                                                      fr.in2p3.jsaga.adaptor.job.control.staging.StagingJobAdaptorTwoPhase
                                                                      start: Start the job registered by the submit method.
                                                                      • nativeJobId: the identifier of the job in the grid
                                                                      Exceptions:
                                                                      • PermissionDeniedException
                                                                      • TimeoutException
                                                                      • NoSuccessException

                                                                      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.
                                                                            • nativeJobDescription: the job description in native language
                                                                            • uniqId: a identifier unique to this job (not the job identifier, which is not generated yet)
                                                                            Exceptions:
                                                                            • PermissionDeniedException
                                                                            • TimeoutException
                                                                            • NoSuccessException
                                                                            getInputStagingTransfer: Get pre-staging operations to perform before submitting the job.
                                                                            Returns list of transfers that are not managed by the adaptor
                                                                            • nativeJobDescription: the job description in native language
                                                                            • uniqId: a identifier unique to this job (not the job identifier, which is not generated yet)
                                                                            Exceptions:
                                                                            • PermissionDeniedException
                                                                            • TimeoutException
                                                                            • NoSuccessException

                                                                            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:
                                                                              • NoSuccessException: if fails to create the translator
                                                                              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
                                                                                • jobDesc: the job description in the language supported by the targeted grid
                                                                                • checkMatch: if true then explicitly checks if job description matches job service before submitting job
                                                                                • uniqId: a identifier unique to this job (not the job identifier, which is not generated yet)
                                                                                Exceptions:
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException
                                                                                • BadResource: if job service does not match job description
                                                                                cancel: cancel a job
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                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
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                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
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • IncorrectStateException
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException
                                                                                resume: resume a suspended job
                                                                                Returns true if the job has been successfully resumed, false if it was not suspended
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • IncorrectStateException
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                fr.in2p3.jsaga.adaptor.job.control.advanced.CleanableJobAdaptor
                                                                                clean: clean an ended job
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                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
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                • signum: the signal number
                                                                                Exceptions:
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                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
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • IncorrectStateException
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException
                                                                                release: release a held job
                                                                                Returns true if the job has been successfully released, false if it was not held
                                                                                • nativeJobId: the identifier of the job in the grid
                                                                                Exceptions:
                                                                                • IncorrectStateException
                                                                                • PermissionDeniedException
                                                                                • TimeoutException
                                                                                • NoSuccessException

                                                                                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
                                                                                  • attributeName: the name of the attribute to correct
                                                                                  • attributeValue: the value of the attribute to correct
                                                                                  Exceptions:
                                                                                  • DoesNotExistException: if the attribute is not contained within this usage instance
                                                                                  getFirstMatchingUsage: Returns the first matching usage
                                                                                  • attributes: a map containing all the attributes
                                                                                  Exceptions:
                                                                                  • DoesNotExistException: if no usage matches the attributes
                                                                                  • BadParameterException
                                                                                  • FileNotFoundException:
                                                                                  getMissingValues: Build a usage instance containing missing attributes only
                                                                                  Returns a usage instance containing missing attributes only
                                                                                  • attributes: a map containing all the attributes
                                                                                  toString: Returns a string representation of this usage instance