Class DriveScriptService
- java.lang.Object
-
- org.xwiki.filemanager.script.DriveScriptService
-
- All Implemented Interfaces:
org.xwiki.script.service.ScriptService
@Component @Named("drive") @Singleton public class DriveScriptService extends Object implements org.xwiki.script.service.ScriptServiceExposes simplified APIs to execute batch jobs on a file system drive.All jobs work with file system paths. A path is uniquely determined either by an existing folder or by a (parent, child) pair. A file cannot specify the path alone because files can have multiple parent folders (so a file can have multiple paths). Also, a path to a new file or new folder needs to specify the parent folder. In other words, a list with a single item represents a path to a folder, while a list with two items represents a path to either a file or a new sub-folder.
- Since:
- 2.0M1
- Version:
- $Id$
-
-
Constructor Summary
Constructors Constructor Description DriveScriptService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Stringcopy(Collection<String> paths, String destination)Schedules a job to copy the specified files and folders to the given destination.Stringdelete(Collection<String> paths)Schedules a job to delete the specified files and folders.List<String>getActiveJobs()org.xwiki.job.event.status.JobStatusgetJobStatus(String jobId)ExceptiongetLastError()Get the error generated while performing the previously called action.org.xwiki.model.reference.DocumentReferencegetUniqueReference(String name)Generates a unique reference for a file or folder with the specified name.Stringmove(Collection<String> paths, String destination)Schedules a job to move the specified files and folders to the given destination.Stringpack(Collection<String> paths, org.xwiki.model.reference.AttachmentReference outputFileReference)Schedules a job to pack the specified files and folders into a single ZIP archive.
-
-
-
Method Detail
-
move
public String move(Collection<String> paths, String destination)
Schedules a job to move the specified files and folders to the given destination.- Parameters:
paths- the files and folders to movedestination- where to move the specified files and folders- Returns:
- the id of the move job that has been scheduled
-
copy
public String copy(Collection<String> paths, String destination)
Schedules a job to copy the specified files and folders to the given destination.- Parameters:
paths- the files and folders to copydestination- where to copy the specified files and folders- Returns:
- the id of the copy job that has been scheduled
-
delete
public String delete(Collection<String> paths)
Schedules a job to delete the specified files and folders.- Parameters:
paths- the files and folders to delete- Returns:
- the id of the delete job that has been scheduled
-
pack
public String pack(Collection<String> paths, org.xwiki.model.reference.AttachmentReference outputFileReference)
Schedules a job to pack the specified files and folders into a single ZIP archive.The
DocumentReferencepart of the givenAttachmentReferencerepresents the document that is going to be used to access the output ZIP file. This means that only users with view right on this document can access the output file. Thenameproperty of the givenAttachmentReferencewill be used as the name of the output ZIP file.The output file is a temporary file (deleted automatically when the server is stopped) that can be accessed through the 'temp' action, e.g.:
/xwiki/temp/Space/Page/filemanager/file.zip.- Parameters:
paths- the files and folders to be packedoutputFileReference- the reference to the output ZIP file- Returns:
- the id of the pack job that has been scheduled
- Since:
- 2.0M2
-
getJobStatus
public org.xwiki.job.event.status.JobStatus getJobStatus(String jobId)
- Parameters:
jobId- the job whose status to return- Returns:
- the status of the specified job
-
getActiveJobs
public List<String> getActiveJobs()
- Returns:
- the list of file system jobs that are running or that are pending for execution on the current drive
-
getUniqueReference
public org.xwiki.model.reference.DocumentReference getUniqueReference(String name)
Generates a unique reference for a file or folder with the specified name.- Parameters:
name- the name of the file or folder for which to generate a reference- Returns:
- a unique file or folder reference
- Since:
- 2.0RC1
-
getLastError
public Exception getLastError()
Get the error generated while performing the previously called action.- Returns:
- an eventual exception or
nullif no exception was thrown
-
-