Table of content:

Introduction

Adding to JSAGA support for new technologies can be done by developing adaptors. There are 4 kind of adaptors: security adaptors, data adaptors, job adaptors and resource 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 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 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 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 FileReaderStreamFactory
    public InputStream getInputStream(String absolutePath, String additionalArgs) throws PermissionDeniedException, BadParameterException, DoesNotExistException, TimeoutException, NoSuccessException {
        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 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 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 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!
    }
    

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

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 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!
    }
    
    // methods of interface JobAdaptor
    

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 JobMonitorAdaptor
    public int getDefaultPort() {
        return null; //todo: this method MUST be implemented!
    }
    
    // methods of interface JobAdaptor
    

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.

Developing a resource adaptor

A resource adaptor can be able to manage compute resources or/and storage resources or/and network resources.

A resource adaptor able to manage compute resources must implement either:

A resource adaptor able to manage storage resources must implement either:

A resource adaptor able to manage network resources must implement either:

APPENDIX

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.resource.ResourceAdaptor
            getTemplate: Obtains the specified template
            Returns the template description
            • templateId
            Exceptions:
            • TimeoutException
            • NoSuccessException
            • DoesNotExistException:
            • NotImplementedException:
            getDescription: Get the description of a resource
            Returns a list of Properties that describe the resource
            • resourceId:
            Exceptions:
            • TimeoutException
            • NoSuccessException
            • DoesNotExistException: if the resource is not available anymore
            • NotImplementedException:
            • BadParameterException:
            release: release a resource identified by ID
            • resourceId:
            Exceptions:
            • DoesNotExistException:
            • IncorrectStateException
            • NotImplementedException:
            • NoSuccessException:
            getAccess: get the list of access points for the resource identified by ID. If the resource was acquired along with security properties see {@link SecuredNetworkResourceAdaptor} in the same session, a context is built with these properties and added to the current session, so that the user can immediately connect to the resource.
            Returns the list of access points for the resource
            • resourceId:
            Exceptions:
            • NotImplementedException: if the operation is not implemented
            • DoesNotExistException: if the resource does not exist
            getResourceStatus: get the status of the resource
            Returns the status of the resource
            • resourceId: the identifier of the resource
            Exceptions:
            • DoesNotExistException: if the resource does not exist
            • NotImplementedException: if the operation is not implemented

            fr.in2p3.jsaga.adaptor.resource.storage.UnsecuredStorageResourceAdaptor
            acquireStorageResource: Obtains a compute resource from a description
            Returns the native resource ID
            • description:
            Exceptions:
            • NotImplementedException: if the operation is not implemented
            • NoSuccessException: in case of error

            fr.in2p3.jsaga.adaptor.resource.storage.SecuredStorageResourceAdaptor
            acquireStorageResource: Obtains a storage resource from a description
            Returns a {@link SecuredResource} that contains the ID of the resource along with the security context necessary to access the resource.
            • description: a list of Properties amongst SAGA @{link ComputeDescription}
            Exceptions:
            • NotImplementedException: if the operation is not implemented
            • NoSuccessException: in case of error

            fr.in2p3.jsaga.adaptor.resource.storage.StorageResourceAdaptor
            listStorageResources: Obtains the list of storage resources that are currently known to the resource manager.
            Returns a list of storage resource identifications.
              Exceptions:
              • TimeoutException
              • NoSuccessException
              listStorageTemplates: Obtains the list of storage templates that are currently known to the resource manager.
              Returns a list of storage template identifications.
                Exceptions:
                • TimeoutException
                • NoSuccessException

                fr.in2p3.jsaga.adaptor.resource.network.NetworkResourceAdaptor
                listNetworkResources: Obtains the list of network resources that are currently known to the resource manager.
                Returns a list of network resource identifications.
                  Exceptions:
                  • TimeoutException
                  • NoSuccessException
                  listNetworkTemplates: Obtains the list of network templates that are currently known to the resource manager.
                  Returns a list of network template identifications.
                    Exceptions:
                    • TimeoutException
                    • NoSuccessException

                    fr.in2p3.jsaga.adaptor.resource.network.SecuredNetworkResourceAdaptor
                    acquireNetworkResource: Obtains a network resource from a description
                    Returns a {@link SecuredResource} that contains the ID of the resource along with the security context necessary to access the resource.
                    • description: a list of Properties amongst SAGA @{link ComputeDescription}
                    Exceptions:
                    • NotImplementedException: if the operation is not implemented
                    • NoSuccessException: in case of error

                    fr.in2p3.jsaga.adaptor.resource.network.UnsecuredNetworkResourceAdaptor
                    acquireNetworkResource: Obtains a network resource from a description
                    Returns the native resource ID
                    • description:
                    Exceptions:
                    • NotImplementedException: if the operation is not implemented
                    • NoSuccessException: in case of error

                    fr.in2p3.jsaga.adaptor.resource.compute.SecuredComputeResourceAdaptor
                    acquireComputeResource: Obtains a compute resource from a description
                    Returns a {@link SecuredResource} that contains the ID of the resource along with the security context necessary to access the resource.
                    • description: a list of Properties amongst SAGA {@link ComputeDescription}
                    Exceptions:
                    • NotImplementedException: if the operation is not implemented
                    • NoSuccessException: in case of error

                    fr.in2p3.jsaga.adaptor.resource.compute.UnsecuredComputeResourceAdaptor
                    acquireComputeResource: Obtains a compute resource from a description
                    Returns the native resource ID
                    • description:
                    Exceptions:
                    • NotImplementedException: if the operation is not implemented
                    • NoSuccessException: in case of error

                    fr.in2p3.jsaga.adaptor.resource.compute.ComputeResourceAdaptor
                    listComputeResources: Obtains the list of compute resources that are currently known to the resource manager.
                    Returns a list of compute resource identifications.
                      Exceptions:
                      • TimeoutException: in case of timeout
                      • NoSuccessException: in case of error
                      release: release a compute resource identified by ID after draining if requested
                      • id: a string that identifies the resource
                      • drain: a boolean that indicates if the resource must be drained before released
                      Exceptions:
                      • DoesNotExistException: if the resource does not exist
                      • IncorrectStateException
                      • NotImplementedException: if the operation is not implemented
                      • NoSuccessException: in case of error
                      listComputeTemplates: Obtains the list of compute templates that are currently known to the resource manager.
                      Returns a list of compute template identifications.
                        Exceptions:
                        • TimeoutException: in case of timeout
                        • NoSuccessException: in case of error

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

                                fr.in2p3.jsaga.adaptor.data.DataAdaptor

                                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.optimise.DataCopyMonitor
                                  increment:
                                  • writtenBytes
                                  setTotal:
                                  • writtenBytes

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

                                    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.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.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.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.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.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.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.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.JobIOHandler
                                                              getJobId: Returns the identifier of the job in the grid

                                                                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.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.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.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.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.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.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.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.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.control.staging.StagingTransfer
                                                                  getFrom:
                                                                    getTo:
                                                                      isAppend:

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

                                                                            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.JobStatusNotifier
                                                                            notifyChange:
                                                                            • status

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

                                                                            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.JobMonitorAdaptor
                                                                            getDefaultPort: Returns the default server port.

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

                                                                                            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