Class SoapFolderService
java.lang.Object
com.logicaldoc.webservice.AbstractService
com.logicaldoc.webservice.soap.endpoint.SoapFolderService
- All Implemented Interfaces:
FolderService
- Direct Known Subclasses:
RestFolderService
Folder Web Service Implementation
- Since:
- 5.2
- Author:
- Matteo Caruso - LogicalDOC
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCopies an existing folder with the given identifier.Creates a new folder.createAlias(String sid, long parentId, long foldRef) Creates a new folder aliaslongcreateFolder(String sid, long parentId, String name) Create a new folder.createPath(String sid, long parentId, String path) Creates the folder for the specified path.voidDeletes an existing folder.findByPath(String sid, String path) Finds the folder at the specified pathgetAccessControlList(String sid, long folderId) Retrieves the access control listGets the Default workspaceGets an existing folderComputes the path from the root to the target folder.getRootFolder(String sid) Gets root metadatabooleanTests if the current user has a specific permission on a folderbooleanisReadable(String sid, long folderId) Tests if a folder is readable.booleanisWritable(String sid, long folderId) Tests if a folder is writableLists all direct folders of a parent folder.
Attention: readable sub-folders only are returned.listChildren(String sid, long folderId) Lists all direct folders of a parent folder.
Attention: readable only sub-folders are returned.listWorkspaces(String sid) Retrieves the list of all workspaces.voidMerges the contents of folder into a targetvoidMoves an existing folder with the given identifier.voidRenames an existing folder.voidsetAccessControlList(String sid, long folderId, List<WSAccessControlEntry> acl) Sets the Access Control ListvoidUpdates an existing folder.Methods inherited from class com.logicaldoc.webservice.AbstractService
convertDateToString, convertStringToDate, getCurrentMessage, isValidateSession, setCurrentMessage, setValidateSession
-
Constructor Details
-
SoapFolderService
public SoapFolderService()
-
-
Method Details
-
create
public WSFolder create(String sid, WSFolder wsFolder) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceCreates a new folder. The user can completely customize the folder through a value object containing the folder's metadata- Specified by:
createin interfaceFolderService- Parameters:
sid- Session identifierwsFolder- value object containing the folder's metadata- Returns:
- The value object containing the folder's metadata
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
createAlias
public WSFolder createAlias(String sid, long parentId, long foldRef) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceCreates a new folder alias- Specified by:
createAliasin interfaceFolderService- Parameters:
sid- Session identifierparentId- The parent folderfoldRef- The referenced folder- Returns:
- The newly created alias
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
createFolder
public long createFolder(String sid, long parentId, String name) throws AuthenticationException, PermissionException, WebserviceException, PersistenceException Description copied from interface:FolderServiceCreate a new folder.- Specified by:
createFolderin interfaceFolderService- Parameters:
sid- Session identifierparentId- The parent's IDname- The new folder's name- Returns:
- The newly created folder ID
- Throws:
AuthenticationException- Invalid sessionPermissionException- The user does not have the required permissionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
delete
public void delete(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceDeletes an existing folder.- Specified by:
deletein interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder id- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
getFolder
public WSFolder getFolder(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceGets an existing folder- Specified by:
getFolderin interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder id- Returns:
- A value object containing the folder's metadata
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
findByPath
public WSFolder findByPath(String sid, String path) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceFinds the folder at the specified path- Specified by:
findByPathin interfaceFolderService- Parameters:
sid- Session identifierpath- The folder's path(for example /Default/dog/cat/mouse)- Returns:
- The created folder
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
isReadable
public boolean isReadable(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceTests if a folder is readable.- Specified by:
isReadablein interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder id- Returns:
- True if the identifier denotes a readable folder, otherwise false.
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
list
public List<WSFolder> list(String sid, long folderId, String sort, Integer page, Integer max) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceLists all direct folders of a parent folder.
Attention: readable sub-folders only are returned.- Specified by:
listin interfaceFolderService- Parameters:
sid- identifier of th sessionfolderId- identifier of the foldersort- Optional sort criteria (eg creation asc)page- Optional page numbermax- Optional maximum number of elements per page- Returns:
- List of folders contained in the folder
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
listChildren
public List<WSFolder> listChildren(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceLists all direct folders of a parent folder.
Attention: readable only sub-folders are returned.- Specified by:
listChildrenin interfaceFolderService- Parameters:
sid- identifier of th sessionfolderId- identifier of the folder- Returns:
- List of folders contained in the folder
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
move
public void move(String sid, long folderId, long parentId) throws PersistenceException, AuthenticationException, WebserviceException, PermissionException Description copied from interface:FolderServiceMoves an existing folder with the given identifier.- Specified by:
movein interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder idparentId- The folder id of the new parent folder- Throws:
PersistenceException- Error in the databaseAuthenticationException- Invalid sessionWebserviceException- Error in the webservicePermissionException- The user does not have the required permission
-
copy
public void copy(String sid, long folderId, long targetId, int foldersOnly, String securityOption) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceCopies an existing folder with the given identifier.- Specified by:
copyin interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder idtargetId- The folder id of the target folderfoldersOnly- If 1, only the folders will be copied and not the documentssecurityOption- How to assign the security policies to the newly created folders:- null or none: empty security policies
- inherit: the new folder will point to the parent for the security policies
- replicate: the new folder will have a copy of the security policies of the source folder
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
rename
public void rename(String sid, long folderId, String name) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceRenames an existing folder.- Specified by:
renamein interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder idname- The new folder name- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
getRootFolder
public WSFolder getRootFolder(String sid) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceGets root metadata- Specified by:
getRootFolderin interfaceFolderService- Parameters:
sid- Session identifier- Returns:
- A value object containing the folder's metadata
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
getDefaultWorkspace
public WSFolder getDefaultWorkspace(String sid) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceGets the Default workspace- Specified by:
getDefaultWorkspacein interfaceFolderService- Parameters:
sid- Session identifier- Returns:
- A value object containing the workspace's metadata
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
isWritable
public boolean isWritable(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceTests if a folder is writable- Specified by:
isWritablein interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder id- Returns:
- True if the identifier denotes a writable folder, otherwise false
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
isGranted
public boolean isGranted(String sid, long folderId, String permission) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceTests if the current user has a specific permission on a folder- Specified by:
isGrantedin interfaceFolderService- Parameters:
sid- Session identifierfolderId- The folder idpermission- The permission to check (eg: 'read', 'write', ...)- Returns:
- True if the identifier denotes a granted permission, otherwise false
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
getPath
public List<WSFolder> getPath(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceComputes the path from the root to the target folder.- Specified by:
getPathin interfaceFolderService- Parameters:
sid- Session identifierfolderId- The target folder id- Returns:
- The list of folder, the first is the root, the last is the target folder
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
setAccessControlList
public void setAccessControlList(String sid, long folderId, List<WSAccessControlEntry> acl) throws PersistenceException, PermissionException, AuthenticationException, WebserviceException Description copied from interface:FolderServiceSets the Access Control List- Specified by:
setAccessControlListin interfaceFolderService- Parameters:
sid- Session identifierfolderId- Folder idacl- the complete Access Control List- Throws:
PersistenceException- Error in the databasePermissionException- The user does not have the required permissionAuthenticationException- Invalid sessionWebserviceException- Error in the webservice
-
getAccessControlList
public List<WSAccessControlEntry> getAccessControlList(String sid, long folderId) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceRetrieves the access control list- Specified by:
getAccessControlListin interfaceFolderService- Parameters:
sid- Session identifierfolderId- Folder id- Returns:
- 'error' if error occurred, the right objects collection
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
update
public void update(String sid, WSFolder wsFolder) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceUpdates an existing folder. To perform this you need the RENAME permission.- Specified by:
updatein interfaceFolderService- Parameters:
sid- Session identifierwsFolder- The folders metadata(please compile the ID)- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
createPath
public WSFolder createPath(String sid, long parentId, String path) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceCreates the folder for the specified path. All unexisting nodes specified in the path will be created- Specified by:
createPathin interfaceFolderService- Parameters:
sid- Session identifierparentId- The parent folderpath- The folder's path(for example /Default/dog/cat/mouse)- Returns:
- the folder that represents the given path
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-
listWorkspaces
public List<WSFolder> listWorkspaces(String sid) throws AuthenticationException, WebserviceException, PersistenceException Description copied from interface:FolderServiceRetrieves the list of all workspaces.- Specified by:
listWorkspacesin interfaceFolderService- Parameters:
sid- Session identifier- Returns:
- list of workspaces
- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the database
-
merge
public void merge(String sid, long sourceId, long targetId) throws AuthenticationException, WebserviceException, PersistenceException, PermissionException Description copied from interface:FolderServiceMerges the contents of folder into a target- Specified by:
mergein interfaceFolderService- Parameters:
sid- Session identifiersourceId- Identifier of the source foldertargetId- Identifier of the target folder- Throws:
AuthenticationException- Invalid sessionWebserviceException- Error in the webservicePersistenceException- Error in the databasePermissionException- The user does not have the required permission
-