ch.systemsx.cisd.openbis.dss.generic.shared.api.v1
Interface IDssServiceRpcGeneric

All Superinterfaces:
IRpcService

public interface IDssServiceRpcGeneric
extends IRpcService

Generic functionality for interacting with the DSS.


Field Summary
static java.lang.String DSS_SERVICE_NAME
           
 
Method Summary
 QueryTableModel createReportFromAggregationService(java.lang.String sessionToken, java.lang.String aggregationServiceName, java.util.Map<java.lang.String,java.lang.Object> parameters)
          Create the report from the specified aggregation service.
 QueryTableModel createReportFromDataSets(java.lang.String sessionToken, java.lang.String serviceKey, java.util.List<java.lang.String> dataSetCodes)
          Creates for the specified data sets a report.
 boolean deleteSessionWorkspaceFile(java.lang.String sessionToken, java.lang.String path)
          Delete a file or directory in the session workspace.
 java.lang.String getDownloadUrlForFileForDataSet(java.lang.String sessionToken, DataSetFileDTO fileOrFolder)
          Returns an URL from which the requested file.
 java.lang.String getDownloadUrlForFileForDataSet(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String path)
          Returns an URL from which the requested file of the specified data set can be downloaded.
 java.lang.String getDownloadUrlForFileForDataSetWithTimeout(java.lang.String sessionToken, DataSetFileDTO fileOrFolder, long validityDurationInSeconds)
          Returns an URL from which the requested file.
 java.lang.String getDownloadUrlForFileForDataSetWithTimeout(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String path, long validityDurationInSeconds)
          Returns an URL from which the requested file of the specified data set can be downloaded.
 java.io.InputStream getFileForDataSet(java.lang.String sessionToken, DataSetFileDTO fileOrFolder)
          Deprecated. use getDownloadUrlForFileForDataSet(String, DataSetFileDTO).
 java.io.InputStream getFileForDataSet(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String path)
          Deprecated. use getDownloadUrlForFileForDataSet(String, String, String).
 java.io.InputStream getFileFromSessionWorkspace(java.lang.String sessionToken, java.lang.String filePath)
          Download a file from the user's session workspace.
 java.lang.String getPathToDataSet(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String overrideStoreRootPathOrNull)
          Get a path to the data set.
 java.lang.String getValidationScript(java.lang.String sessionToken, java.lang.String dataSetTypeOrNull)
          Get the validation script for the specified data set type.
 java.util.List<AggregationServiceDescription> listAggregationServices(java.lang.String sessionToken)
          Returns metadata for all aggregation services.
 java.util.List<ShareInfo> listAllShares(java.lang.String sessionToken)
          Lists all shares.
 FileInfoDssDTO[] listFilesForDataSet(java.lang.String sessionToken, DataSetFileDTO fileOrFolder)
          Get an array of FileInfoDss objects that describe the file-system structure of the data set.
 FileInfoDssDTO[] listFilesForDataSet(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String path, boolean isRecursive)
          Get an array of FileInfoDss objects that describe the file-system structure of the data set.
 java.util.List<ReportDescription> listTableReportDescriptions(java.lang.String sessionToken)
          Returns meta data for all reporting plugins which deliver a table.
 java.lang.String putDataSet(java.lang.String sessionToken, NewDataSetDTO newDataset, java.io.InputStream inputStream)
          Upload a new data set to the DSS.
 long putFileSliceToSessionWorkspace(java.lang.String sessionToken, java.lang.String filePath, long slicePosition, java.io.InputStream sliceInputStream)
          Upload a file slice to the user's session workspace.
 long putFileToSessionWorkspace(java.lang.String sessionToken, java.lang.String filePath, java.io.InputStream inputStream)
          Upload a new file to the user's session workspace.
 void shuffleDataSet(java.lang.String sessionToken, java.lang.String dataSetCode, java.lang.String shareId)
          Moves specified data set to specified share.
 
Methods inherited from interface ch.systemsx.cisd.common.api.IRpcService
getMajorVersion, getMinorVersion
 

Field Detail

DSS_SERVICE_NAME

static final java.lang.String DSS_SERVICE_NAME
See Also:
Constant Field Values
Method Detail

listFilesForDataSet

FileInfoDssDTO[] listFilesForDataSet(java.lang.String sessionToken,
                                     DataSetFileDTO fileOrFolder)
                                     throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                            java.lang.IllegalArgumentException
Get an array of FileInfoDss objects that describe the file-system structure of the data set.

Parameters:
sessionToken - The session token
fileOrFolder - The file or folder to get information on
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid

getFileForDataSet

@Deprecated
java.io.InputStream getFileForDataSet(java.lang.String sessionToken,
                                                 DataSetFileDTO fileOrFolder)
                                      throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                             java.lang.IllegalArgumentException
Deprecated. use getDownloadUrlForFileForDataSet(String, DataSetFileDTO).

Get an array of FileInfoDss objects that describe the file-system structure of the data set.

Parameters:
sessionToken - The session token
fileOrFolder - The file or folder to retrieve
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid

getDownloadUrlForFileForDataSet

java.lang.String getDownloadUrlForFileForDataSet(java.lang.String sessionToken,
                                                 DataSetFileDTO fileOrFolder)
                                                 throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                                        java.lang.IllegalArgumentException
Returns an URL from which the requested file. The URL is valid only for a short time.

Parameters:
sessionToken - The session token
fileOrFolder - The file or folder to retrieve
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid
Since:
1.4

getDownloadUrlForFileForDataSetWithTimeout

java.lang.String getDownloadUrlForFileForDataSetWithTimeout(java.lang.String sessionToken,
                                                            DataSetFileDTO fileOrFolder,
                                                            long validityDurationInSeconds)
                                                            throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                                                   java.lang.IllegalArgumentException
Returns an URL from which the requested file. The URL is valid for a caller-specified amount of time.

Parameters:
sessionToken - The session token
fileOrFolder - The file or folder to retrieve
validityDurationInSeconds - The number of seconds for which the download URL should be valid. The validity is clipped to the durations defined in the properties data-stream-timeout and data-stream-max-timeout, which default to 5 seconds and 4 hours, respectively.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid
Since:
1.7

listFilesForDataSet

FileInfoDssDTO[] listFilesForDataSet(java.lang.String sessionToken,
                                     java.lang.String dataSetCode,
                                     java.lang.String path,
                                     boolean isRecursive)
                                     throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                            java.lang.IllegalArgumentException
Get an array of FileInfoDss objects that describe the file-system structure of the data set.

Parameters:
sessionToken - The session token
dataSetCode - The data set to retrieve file information about
path - The path within the data set to retrieve file information about
isRecursive - Should the result include information for sub folders?
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid

getFileForDataSet

@Deprecated
java.io.InputStream getFileForDataSet(java.lang.String sessionToken,
                                                 java.lang.String dataSetCode,
                                                 java.lang.String path)
                                      throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                             java.lang.IllegalArgumentException
Deprecated. use getDownloadUrlForFileForDataSet(String, String, String).

Get an array of FileInfoDss objects that describe the file-system structure of the data set.

Parameters:
sessionToken - The session token
dataSetCode - The data set to retrieve file from
path - The path within the data set to retrieve file information about
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid

getDownloadUrlForFileForDataSet

java.lang.String getDownloadUrlForFileForDataSet(java.lang.String sessionToken,
                                                 java.lang.String dataSetCode,
                                                 java.lang.String path)
                                                 throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                                        java.lang.IllegalArgumentException
Returns an URL from which the requested file of the specified data set can be downloaded. The URL is valid only for a short time.

Parameters:
sessionToken - The session token
dataSetCode - The data set to retrieve file from
path - The path within the data set to retrieve file information about
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid
Since:
1.4

getDownloadUrlForFileForDataSetWithTimeout

java.lang.String getDownloadUrlForFileForDataSetWithTimeout(java.lang.String sessionToken,
                                                            java.lang.String dataSetCode,
                                                            java.lang.String path,
                                                            long validityDurationInSeconds)
                                                            throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                                                   java.lang.IllegalArgumentException
Returns an URL from which the requested file of the specified data set can be downloaded. The URL is valid for a caller-specified amount of time.

Parameters:
sessionToken - The session token
dataSetCode - The data set to retrieve file from
path - The path within the data set to retrieve file information about
validityDurationInSeconds - The number of seconds for which the download URL should be valid.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid
Since:
1.7

putDataSet

java.lang.String putDataSet(java.lang.String sessionToken,
                            NewDataSetDTO newDataset,
                            java.io.InputStream inputStream)
                            throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                   java.lang.IllegalArgumentException
Upload a new data set to the DSS.

Parameters:
sessionToken - The session token
newDataset - The new data set that should be registered
inputStream - An input stream on the file or folder to register
Returns:
The code of the newly-added data set
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when listing the files
java.lang.IllegalArgumentException - Thrown if the dataSetCode or startPath are not valid

putFileToSessionWorkspace

long putFileToSessionWorkspace(java.lang.String sessionToken,
                               java.lang.String filePath,
                               java.io.InputStream inputStream)
                               throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked
Upload a new file to the user's session workspace.

Parameters:
sessionToken - The session token.
filePath - The file path (including the sub-directory) to upload the file to.
inputStream - An input stream on the file to upload.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if because filePath does not exist.

putFileSliceToSessionWorkspace

long putFileSliceToSessionWorkspace(java.lang.String sessionToken,
                                    java.lang.String filePath,
                                    long slicePosition,
                                    java.io.InputStream sliceInputStream)
                                    throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked
Upload a file slice to the user's session workspace. If the file does not exist then it will created.

Parameters:
sessionToken - The session token.
filePath - The file path (including the sub-directory) to upload the slice to.
slicePosition - The position the slice should be inserted at.
sliceInputStream - An input stream of the slice to be uploaded.
Returns:
The number of bytes written.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if IOException occurs.

getFileFromSessionWorkspace

java.io.InputStream getFileFromSessionWorkspace(java.lang.String sessionToken,
                                                java.lang.String filePath)
                                                throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked
Download a file from the user's session workspace.

Parameters:
sessionToken - The session token.
filePath - The file path (including the sub-directory) to download the file from.
Returns:
The input stream containing the file content.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs.

deleteSessionWorkspaceFile

boolean deleteSessionWorkspaceFile(java.lang.String sessionToken,
                                   java.lang.String path)
Delete a file or directory in the session workspace.

Returns:
true if the path doesn't exist anymore.

getPathToDataSet

java.lang.String getPathToDataSet(java.lang.String sessionToken,
                                  java.lang.String dataSetCode,
                                  java.lang.String overrideStoreRootPathOrNull)
                                  throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                         java.lang.IllegalArgumentException
Get a path to the data set. This can be used by clients that run on the same machine as the DSS for more efficient access to a data set.

NOTE: This method shouldn't be called for a container data set. No file would exist with the returned path.

Parameters:
sessionToken - The session token
dataSetCode - The data set to retrieve file from
overrideStoreRootPathOrNull - The path to replace the store path (see return comment).
Returns:
An absolute path to the data set. If overrideStorePathOrNull is specified, it replaces the DSS's notion of the store path. Otherwise the return value will begin with the DSS's storeRootPath.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - if an IOException occurs when listing the files.
java.lang.IllegalArgumentException - if dataSetCode is a container dataset.
Since:
1.1

listAllShares

java.util.List<ShareInfo> listAllShares(java.lang.String sessionToken)
Lists all shares.

Since:
1.7

shuffleDataSet

void shuffleDataSet(java.lang.String sessionToken,
                    java.lang.String dataSetCode,
                    java.lang.String shareId)
Moves specified data set to specified share.

Throws:
java.lang.IllegalArgumentException - if data set does not exit or is a container data set or share does not exist.
Since:
1.7

getValidationScript

java.lang.String getValidationScript(java.lang.String sessionToken,
                                     java.lang.String dataSetTypeOrNull)
                                     throws ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked,
                                            java.lang.IllegalArgumentException
Get the validation script for the specified data set type.

Parameters:
sessionToken - The session token
dataSetTypeOrNull - The data set type the script should validate, or null to request the generic validation script.
Returns:
The string of the python (jython) script for the validation or null if there is no applicable validation script.
Throws:
ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked - Thrown if an IOException occurs when accessing the script
java.lang.IllegalArgumentException - Thrown if the data set type or startPath are not valid
Since:
1.2

listAggregationServices

java.util.List<AggregationServiceDescription> listAggregationServices(java.lang.String sessionToken)
Returns metadata for all aggregation services. See IQueryApiServer.listAggregationServices(String)

Since:
1.6

createReportFromAggregationService

QueryTableModel createReportFromAggregationService(java.lang.String sessionToken,
                                                   java.lang.String aggregationServiceName,
                                                   java.util.Map<java.lang.String,java.lang.Object> parameters)
Create the report from the specified aggregation service. See IQueryApiServer.createReportFromAggregationService(String, String, String, Map)

Since:
1.6

listTableReportDescriptions

java.util.List<ReportDescription> listTableReportDescriptions(java.lang.String sessionToken)
Returns meta data for all reporting plugins which deliver a table. See IQueryApiServer.listTableReportDescriptions(String)

Since:
1.6

createReportFromDataSets

QueryTableModel createReportFromDataSets(java.lang.String sessionToken,
                                         java.lang.String serviceKey,
                                         java.util.List<java.lang.String> dataSetCodes)
Creates for the specified data sets a report. See IQueryApiServer.createReportFromDataSets(String, String, String, List)

Since:
1.6