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

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

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

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

                fr.in2p3.jsaga.adaptor.data.DataAdaptor

                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.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.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
                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.DataPutterRecursive
                  putFromDirectory: Put content of sourceDir to absolutePath.
                  • absolutePath: the target path.
                  • additionalArgs: adaptor specific arguments.
                  • sourceDir: the source directory.
                  Exceptions:
                  • PermissionDeniedException
                  • AlreadyExistsException: if absolutePath already exists.
                  • ParentDoesNotExist: if parentAbsolutePath does not exist.
                  • TimeoutException
                  • NoSuccessException

                  fr.in2p3.jsaga.adaptor.data.optimise.DataFinder
                  find: Find entries matching pattern <code>namePattern</code>.
                  Returns the entry attributes.
                  • absolutePath: the directory containing entries to list.
                  • namePattern: the pattern matching entries names to find.
                  • additionalArgs: adaptor specific arguments
                  • recursive: search recursively if true
                  Exceptions:
                  • PermissionDeniedException
                  • DoesNotExistException
                  • TimeoutException
                  • NoSuccessException

                  fr.in2p3.jsaga.adaptor.data.optimise.DataFilteredList
                  listDirectories: Lists the directories under absolutePath, files and links are ignored.
                  Returns the entry attributes.
                  • absolutePath: the directory containing entries to list.
                  • additionalArgs: adaptor specific arguments
                  Exceptions:
                  • PermissionDeniedException
                  • DoesNotExistException: if absolutePath does not exist.
                  • TimeoutException
                  • NoSuccessException

                  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.expr.BooleanExpr

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

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

                                        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.write.FileWriter

                                        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.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.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.job.JobAdaptor

                                        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.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.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:
                                            • 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:
                                            • 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.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.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:
                                            • 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:
                                            • PermissionDeniedException
                                            • 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.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.JobIOGetterInteractive
                                                getStdin: Returns the job standard input 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.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.JobIOHandler
                                                  getJobId: Returns the identifier of the job in the grid

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

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

                                                              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.JobInfoAdaptor
                                                              getExitCode: Returns the exit code of the job
                                                              • 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.JobStatusNotifier
                                                              notifyChange:
                                                              • status

                                                              fr.in2p3.jsaga.adaptor.job.monitor.JobMonitorAdaptor
                                                              getDefaultPort: Returns the default server port.

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