Package com.logicaldoc.core.folder
Class HibernateFolderDAO
java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<Folder>
com.logicaldoc.core.folder.HibernateFolderDAO
- All Implemented Interfaces:
FolderDAO,PersistentObjectDAO<Folder>
Hibernate implementation of
FolderDAO- Since:
- 6.0
- Author:
- Marco Meschieri - LogicalDOC
-
Field Summary
Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO
ENTITY -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyGridToTree(long id, FolderHistory transaction) Propagates the grid layout of a node to the whole sub-treevoidapplyMetadataToTree(long id, FolderHistory transaction) Propagates the template metadata to the whole subreevoidapplyOCRToTree(long id, FolderHistory transaction) Propagates the OCR settings to the whole subreevoidapplyRightToTree(long rootId, FolderHistory transaction) Propagates the security policies of a node to the whole sub-treevoidapplyStorageToTree(long id, FolderHistory transaction) Propagates the storage setting to the whole subreevoidapplyTagsToTree(long id, FolderHistory transaction) Propagates the tags to the whole subreecomputePath(long folderId) Dynamically computes the path for the specified folder.computePath(Folder folder) Dynamically computes the path for the specified folder.computePathExtended(long folderId) Dynamically computes the path extended for the specified folder.computePathExtended(Folder folder) Dynamically computes the path extended for the specified folder.longcomputeTreeSize(long rootId) Counts the number of documents inside a given folder's tree (direct and indirect children)copy(Folder source, Folder target, String newName, boolean foldersOnly, String securityOption, FolderHistory transaction) Copies a folder into another folderintcount(boolean computeDeleted) Counts the number of folderslongcountDocsInTree(long rootId) Counts the number of documents inside a given folder's tree (direct and indirect children)create(Folder parent, Folder folderVO, boolean inheritSecurity, FolderHistory transaction) Creates a new folder in the parent FoldercreateAlias(long parentId, long foldRef, FolderHistory transaction) Creates a new folder folder aliascreatePath(Folder parent, String path, boolean inheritSecurity, FolderHistory transaction) Creates the folder for the specified path.voiddelete(long folderId, int code) This method deletes an entity and you can give a deletion codevoiddelete(long folderId, int delCode, FolderHistory transaction) This method deletes the folder object and insert a new folder history entryvoiddelete(long folderId, FolderHistory transaction) Shortcut for delete(id, 1, transaction)voiddeleteAll(Collection<Folder> folders, int code, FolderHistory transaction) For each folder, save the folder delete history entry for each folder and delete the foldervoiddeleteAll(Collection<Folder> folders, FolderHistory transaction) Shortcut for deleteAll(folders, 1, transaction)deleteTree(long folderId, int delCode, FolderHistory transaction) Delete a folder and all its sub-folders that a user can delete.deleteTree(long folderId, FolderHistory transaction) Shortcut for deleteTree(folderId, 1, transaction)deleteTree(Folder folder, int delCode, FolderHistory transaction) Deletes a folder and all its sub-folders that a user can delete.Useful method that allows to find all folders that contains the given name into their text.findAliases(Long foldRef, long tenantId) Finds all the aliasesfindByGroupId(long groupId) Finds all folders accessible by the passed groupfindByName(Folder parent, String name, Long tenantId, boolean caseSensitive) Finds all folders by folder text, contained in the parent folder.findByName(String name, Long tenantId) Finds all folders by folder namefindByNameAndParentId(String name, long parentId) Finds that folder that lies under a specific parent (given by the id) an with a given name(like operator is used)findByParentId(long parentId) Finds all children(direct and indirect) by parentIdfindByPathExtended(String pathExtended, long tenantId) Retrieval of a folder by the extended pathfindByUserId(long userId) Finds authorized folders for a userfindByUserId(long userId, long parentId) Finds direct children of a folder.findByUserIdAndTag(long userId, String tag, Integer max) Finds authorized folders for a user having a specified tag.findChildren(long parentId, long userId) Finds direct children of a folder accessible by the given userfindChildren(long parentId, Integer max) Finds direct children of a folderfindDefaultWorkspace(long tenantId) Retrieves the Default workspace of the given tenantfindDeleted(long userId, Integer maxHits) Finds all deleted folders of a specific user.findFolder(long folderId) Gets a folder by a given ID if it is an alias, the referenced folder is returned.findFolderIdByTag(String tag) findFolderIdByUserId(long userId, Long parentId, boolean tree) This method selects only the folder ID from the folders for which a user is authorized.findFolderIdByUserIdAndPermission(long userId, Permission permission, Long parentId, boolean tree) Finds all folders ids with a specific permission enabled on the specifies userfindFolderIdByUserIdInPath(long userId, long parentId) This method selects only the folder ID from the folders for which a user is authorized.findFolderIdInPath(long rootId, boolean includeDeleted) Retrieve all the ids of the folders in a given tree using the path attributefindFolderIdInTree(long rootId, boolean includeDeleted) Retrieve all the ids of the folders in a given treefindIdByUserId(long userId, long parentId) This method selects only the folder ID from the folders for which a user is authorized.findIdsByParentId(long parentId) Finds all children(direct and indirect) by parentIdfindParents(long folderId) Returns a List of folders being a parent of the given folder.findRoot(long tenantId) Retrieves the root folder of the given tenantfindTags(long folderId) Retrieves the alphabetically ordered list of all the folder's tagsfindWorkspace(long folderId) Returns the workspace that contains the given folderfindWorkspaces(long tenantId) Retrieves all the workspaces in the system, that are the first-level folders of typeFolder.TYPE_WORKSPACEgetEnabledPermissions(long folderId, long userId) Finds all permissions of a user enabled on the specified folderbooleanhasWriteAccess(Folder folder, long userId) Checks that the user has access to the folder and all its sub-itemsvoidinitialize(Folder folder) Doesn't do anything by defaultbooleanisDownloadEnabled(long id, long userId) booleanisInPath(long folderId, long targetId) Checks if a folder with the given folderId is parent of the folder with the given targetIdbooleanisMoveEnabled(long id, long userId) booleanisPermissionEnabled(Permission permission, long folderId, long userId) This method checks if the given permission is enabled for a folder and an user.booleanisPrintEnabled(long folderId, long userId) booleanisReadEnabled(long folderId, long userId) booleanisWriteEnabled(long folderId, long userId) This method is looking up for writing rights for a folder and an user.voidmerge(Folder source, Folder target, FolderHistory transaction) Merges the contents of two foldersvoidmove(Folder source, Folder target, FolderHistory transaction) Moves a folder into another foldervoidrestore(long folderId, long parentId, FolderHistory transaction) Restores a previously deleted foldervoidsaveFolderHistory(Folder folder, FolderHistory transaction) Utility method that logs into the DB the transaction that involved the passed folder.voidsetHistoryDAO(FolderHistoryDAO historyDAO) voidsetListenerManager(FolderListenerManager listenerManager) voidvoidsetUserDAO(UserDAO userDAO) voidThis method persists the entity objectvoidstore(Folder folder, FolderHistory transaction) Same as store(Folder, boolean, FolderHistory)voidupdateSecurityRef(long folderId, long rightsFolderId, FolderHistory transaction) Changes the securityRef of the given folder, all the other folders that inherits from this one will be changed accordingly.Methods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, getSessionFactory, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString, setSessionFactoryMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.logicaldoc.core.PersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForRowSet, queryForRowSet, queryForString
-
Method Details
-
getUserDAO
-
setUserDAO
-
store
Description copied from interface:PersistentObjectDAOThis method persists the entity object- Specified by:
storein interfacePersistentObjectDAO<Folder>- Overrides:
storein classHibernatePersistentObjectDAO<Folder>- Parameters:
folder- entity to be stored- Throws:
PersistenceException- raised in case of errors in the database
-
store
Description copied from interface:FolderDAOSame as store(Folder, boolean, FolderHistory)- Specified by:
storein interfaceFolderDAO- Parameters:
folder- the folder to storetransaction- current session informations- Throws:
PersistenceException- error at data layer
-
findByUserId
Description copied from interface:FolderDAOFinds authorized folders for a user- Specified by:
findByUserIdin interfaceFolderDAO- Parameters:
userId- ID of the user- Returns:
- List of found folders
- Throws:
PersistenceException- error at data layer
-
findByUserId
Description copied from interface:FolderDAOFinds direct children of a folder.- Specified by:
findByUserIdin interfaceFolderDAO- Parameters:
userId- identifier of the userparentId- ID of the folder which children are wanted- Returns:
- List of found folders sorted by text
- Throws:
PersistenceException- error at data layer
-
findChildren
Description copied from interface:FolderDAOFinds direct children of a folder- Specified by:
findChildrenin interfaceFolderDAO- Parameters:
parentId- Folder ID of the folder which children are wantedmax- Optional, maximum number of children- Returns:
- List of found folders
- Throws:
PersistenceException- Error in the database
-
findChildren
Description copied from interface:FolderDAOFinds direct children of a folder accessible by the given user- Specified by:
findChildrenin interfaceFolderDAO- Parameters:
parentId- Folder ID of the folder which children are wanteduserId- Identifier of the user that must have read access- Returns:
- List of found folders
- Throws:
PersistenceException- error at data layer
-
findByParentId
Description copied from interface:FolderDAOFinds all children(direct and indirect) by parentId- Specified by:
findByParentIdin interfaceFolderDAO- Parameters:
parentId- identifier of the parent folder- Returns:
- List of found folders
-
findIdsByParentId
Description copied from interface:FolderDAOFinds all children(direct and indirect) by parentId- Specified by:
findIdsByParentIdin interfaceFolderDAO- Parameters:
parentId- identifier of the parent folder- Returns:
- list of folder IDs
-
isPrintEnabled
- Specified by:
isPrintEnabledin interfaceFolderDAO- Throws:
PersistenceException
-
isWriteEnabled
Description copied from interface:FolderDAOThis method is looking up for writing rights for a folder and an user.- Specified by:
isWriteEnabledin interfaceFolderDAO- Parameters:
folderId- ID of the folderuserId- ID of the user- Returns:
- if the write permission is granted
- Throws:
PersistenceException- error at data layer
-
isDownloadEnabled
- Specified by:
isDownloadEnabledin interfaceFolderDAO- Throws:
PersistenceException
-
isMoveEnabled
- Specified by:
isMoveEnabledin interfaceFolderDAO- Throws:
PersistenceException
-
isReadEnabled
- Specified by:
isReadEnabledin interfaceFolderDAO- Throws:
PersistenceException
-
findFolderIdByUserId
public Collection<Long> findFolderIdByUserId(long userId, Long parentId, boolean tree) throws PersistenceException Description copied from interface:FolderDAOThis method selects only the folder ID from the folders for which a user is authorized.- Specified by:
findFolderIdByUserIdin interfaceFolderDAO- Parameters:
userId- ID of the user.parentId- The id of the parent folder to inspect (optional)tree- If true, the parentId will be interpreted as the root of a tree- Returns:
- List of selected folder IDs.
- Throws:
PersistenceException- error at data layer
-
hasWriteAccess
Description copied from interface:FolderDAOChecks that the user has access to the folder and all its sub-items- Specified by:
hasWriteAccessin interfaceFolderDAO- Parameters:
folder- the folderuserId- identifier of the document- Returns:
- if the user has write permission
- Throws:
PersistenceException- error at data layer
-
findByGroupId
Description copied from interface:FolderDAOFinds all folders accessible by the passed group- Specified by:
findByGroupIdin interfaceFolderDAO- Parameters:
groupId- The group id- Returns:
- The List of folders
- Throws:
PersistenceException- error at data layer
-
findIdByUserId
Description copied from interface:FolderDAOThis method selects only the folder ID from the folders for which a user is authorized. Only folders direct child of the specified parent are returned.- Specified by:
findIdByUserIdin interfaceFolderDAO- Parameters:
userId- ID of the userparentId- Parent folder- Returns:
- List of selected folder ID's.
- Throws:
PersistenceException- error at data layer
-
findByName
Description copied from interface:FolderDAOFinds all folders by folder name- Specified by:
findByNamein interfaceFolderDAO- Parameters:
name- name of the foldertenantId- Specification of the owning tenant (optional).- Returns:
- List of folders with given folder name.
- Throws:
PersistenceException- error at data layer
-
findByName
public List<Folder> findByName(Folder parent, String name, Long tenantId, boolean caseSensitive) throws PersistenceException Description copied from interface:FolderDAOFinds all folders by folder text, contained in the parent folder.- Specified by:
findByNamein interfaceFolderDAO- Parameters:
parent- The parent folder(optional)name- The folder name to search fortenantId- Specification of the owning tenant (optional). If not specified the tenant of parent is used insteadcaseSensitive- true if the search must be case sensitive- Returns:
- List of folders with given name
- Throws:
PersistenceException- error at data layer
-
computePath
Description copied from interface:FolderDAODynamically computes the path for the specified folder. The path is a sequence of IDS in the form: /4/55897/99870- Specified by:
computePathin interfaceFolderDAO- Parameters:
folderId- identifier of the folder- Returns:
- the folder's path
- Throws:
PersistenceException- error at data layer
-
computePath
Description copied from interface:FolderDAODynamically computes the path for the specified folder. The path is a sequence of IDS in the form: /4/55897/99870- Specified by:
computePathin interfaceFolderDAO- Parameters:
folder- the folder to process- Returns:
- the folder's path
- Throws:
PersistenceException- error at data layer
-
computePathExtended
Description copied from interface:FolderDAODynamically computes the path extended for the specified folder. The path extended is a human readable path in the form: /folder1/folder2/folder3- Specified by:
computePathExtendedin interfaceFolderDAO- Parameters:
folderId- the folder's identifier- Returns:
- The path extended
- Throws:
PersistenceException- error at data layer
-
computePathExtended
Description copied from interface:FolderDAODynamically computes the path extended for the specified folder. The path extended is a human readable path in the form: /folder1/folder2/folder3- Specified by:
computePathExtendedin interfaceFolderDAO- Parameters:
folder- the folder to process- Returns:
- The path extended
- Throws:
PersistenceException- error at data layer
-
saveFolderHistory
Utility method that logs into the DB the transaction that involved the passed folder. The transaction must be provided with userId and userName- Specified by:
saveFolderHistoryin interfaceFolderDAO- Parameters:
folder- the folder to persisttransaction- informations about the session PersistenceException error at data layer- Throws:
PersistenceException- error at data layer
-
findByNameAndParentId
Description copied from interface:FolderDAOFinds that folder that lies under a specific parent (given by the id) an with a given name(like operator is used)- Specified by:
findByNameAndParentIdin interfaceFolderDAO- Parameters:
name- name of the dolderparentId- identifier of the parent folder- Returns:
- list of folders
- Throws:
PersistenceException- error at data layer
-
findParents
Description copied from interface:FolderDAOReturns a List of folders being a parent of the given folder. The list is ordered starting from the root of folders. The list doesn't include the given folder.- Specified by:
findParentsin interfaceFolderDAO- Parameters:
folderId- ID of the folder- Returns:
- the hierarchy of parent folders
- Throws:
PersistenceException- error at data layer
-
findWorkspace
Description copied from interface:FolderDAOReturns the workspace that contains the given folder- Specified by:
findWorkspacein interfaceFolderDAO- Parameters:
folderId- ID of the folder- Returns:
- the workspace containing the given folder
- Throws:
PersistenceException- error at data layer
-
isPermissionEnabled
public boolean isPermissionEnabled(Permission permission, long folderId, long userId) throws PersistenceException Description copied from interface:FolderDAOThis method checks if the given permission is enabled for a folder and an user.- Specified by:
isPermissionEnabledin interfaceFolderDAO- Parameters:
permission- the permission to checkfolderId- ID of the folderuserId- ID of the user- Returns:
- if the permission is granted to the user
- Throws:
PersistenceException- error at data layer
-
restore
public void restore(long folderId, long parentId, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAORestores a previously deleted folder- Specified by:
restorein interfaceFolderDAO- Parameters:
folderId- The folder identifierparentId- The parent folder to restore intransaction- Current session informations- Throws:
PersistenceException- error at data layer
-
getEnabledPermissions
public Set<Permission> getEnabledPermissions(long folderId, long userId) throws PersistenceException Description copied from interface:FolderDAOFinds all permissions of a user enabled on the specified folder- Specified by:
getEnabledPermissionsin interfaceFolderDAO- Parameters:
folderId- ID of the folderuserId- ID of the user- Returns:
- Collection of enabled permissions
- Throws:
PersistenceException- error at data layer
-
findFolderIdByUserIdInPath
public Collection<Long> findFolderIdByUserIdInPath(long userId, long parentId) throws PersistenceException Description copied from interface:FolderDAOThis method selects only the folder ID from the folders for which a user is authorized.- Specified by:
findFolderIdByUserIdInPathin interfaceFolderDAO- Parameters:
userId- ID of the user.parentId- The id of the parent folder to inspect- Returns:
- List of selected folder IDs.
- Throws:
PersistenceException- error at data layer
-
findFolderIdByUserIdAndPermission
public Collection<Long> findFolderIdByUserIdAndPermission(long userId, Permission permission, Long parentId, boolean tree) throws PersistenceException Description copied from interface:FolderDAOFinds all folders ids with a specific permission enabled on the specifies user- Specified by:
findFolderIdByUserIdAndPermissionin interfaceFolderDAO- Parameters:
userId- The user identifierpermission- The permission to checkparentId- The id of the parent folder to inspect (optional)tree- If true, the parentId will be interpreted as the root of a tree- Returns:
- List of selected folder IDs.
- Throws:
PersistenceException- error at data layer
-
getHistoryDAO
-
setHistoryDAO
-
deleteAll
public void deleteAll(Collection<Folder> folders, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOShortcut for deleteAll(folders, 1, transaction)- Specified by:
deleteAllin interfaceFolderDAO- Parameters:
folders- the folderstransaction- current session informations- Throws:
PersistenceException- error at data layer
-
deleteAll
public void deleteAll(Collection<Folder> folders, int code, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOFor each folder, save the folder delete history entry for each folder and delete the folder- Specified by:
deleteAllin interfaceFolderDAO- Parameters:
folders- List of folder to be deletecode- The deletion codetransaction- entry to log the event on each folder- Throws:
PersistenceException- error at data layer
-
delete
Description copied from interface:PersistentObjectDAOThis method deletes an entity and you can give a deletion code- Specified by:
deletein interfacePersistentObjectDAO<Folder>- Overrides:
deletein classHibernatePersistentObjectDAO<Folder>- Parameters:
folderId- ID of the entity which should be deletedcode- Deletion code- Throws:
PersistenceException- raised in case of errors in the database
-
delete
Description copied from interface:FolderDAOShortcut for delete(id, 1, transaction)- Specified by:
deletein interfaceFolderDAO- Parameters:
folderId- the folder identifiertransaction- the session informations- Throws:
PersistenceException- error at data layer
-
delete
public void delete(long folderId, int delCode, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOThis method deletes the folder object and insert a new folder history entry- Specified by:
deletein interfaceFolderDAO- Parameters:
folderId- The id of the folder to deletedelCode- The deletion codetransaction- entry to log the event- Throws:
PersistenceException- error at data layer
-
applyRightToTree
Description copied from interface:FolderDAOPropagates the security policies of a node to the whole sub-tree- Specified by:
applyRightToTreein interfaceFolderDAO- Parameters:
rootId- identifier of the root foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
createAlias
public Folder createAlias(long parentId, long foldRef, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOCreates a new folder folder alias- Specified by:
createAliasin interfaceFolderDAO- Parameters:
parentId- The parent folderfoldRef- The referenced foldertransaction- optional transaction entry to log the event- Returns:
- The newly created alias
- Throws:
PersistenceException- error at data layer
-
create
public Folder create(Folder parent, Folder folderVO, boolean inheritSecurity, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOCreates a new folder in the parent Folder- Specified by:
createin interfaceFolderDAO- Parameters:
parent- The parent folderfolderVO- The folder's metadatainheritSecurity- If true the new folder will 'point' to the parent for the security policies.transaction- optional transaction entry to log the event- Returns:
- The newly created folder
- Throws:
PersistenceException- error at data layer
-
createPath
public Folder createPath(Folder parent, String path, boolean inheritSecurity, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOCreates the folder for the specified path. All unexisting nodes specified in the path will be created. The path must be in any case inside a workspace, if not, the Default one will be used.- Specified by:
createPathin interfaceFolderDAO- Parameters:
parent- The parent folderpath- The folder path(for example /dog/cat/mouse)inheritSecurity- If true the new folders will 'point' to the parent for the security policies.transaction- optional transaction entry to log the event- Returns:
- The created folder
- Throws:
PersistenceException- error at data layer
-
findByPathExtended
Description copied from interface:FolderDAORetrieval of a folder by the extended path- Specified by:
findByPathExtendedin interfaceFolderDAO- Parameters:
pathExtended- the path extendedtenantId- identifier of the tenant- Returns:
- The folder that matched the given path
- Throws:
PersistenceException- error at data layer
-
copy
public Folder copy(Folder source, Folder target, String newName, boolean foldersOnly, String securityOption, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOCopies a folder into another folder- Specified by:
copyin interfaceFolderDAO- Parameters:
source- The folder to copytarget- The target foldernewName- optional new name of the copied folderfoldersOnly- True if only the folders tree has to be copied; if false, the documents will also be copiedsecurityOption- 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
transaction- entry to log the event (set the user)- Returns:
- The new folder created
- Throws:
PersistenceException- error at data layer
-
move
public void move(Folder source, Folder target, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOMoves a folder into another folder- Specified by:
movein interfaceFolderDAO- Parameters:
source- The folder to movetarget- The target foldertransaction- entry to log the event (set the user)- Throws:
PersistenceException- error at data layer
-
deleteTree
public List<Folder> deleteTree(long folderId, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOShortcut for deleteTree(folderId, 1, transaction)- Specified by:
deleteTreein interfaceFolderDAO- Parameters:
folderId- Folder to deletetransaction- entry to log the event (set the user)- Returns:
- List of folders that the user cannot delete(permissions, o immutable documents presents)
- Throws:
PersistenceException- error at data layer
-
deleteTree
public List<Folder> deleteTree(long folderId, int delCode, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAODelete a folder and all its sub-folders that a user can delete. After recovering of all sub-folders inside the folder, will be canceled all folders for which the user has the delete permission or there isn't an immutable document inside it.
Important: All the contained documents will be deleted- Specified by:
deleteTreein interfaceFolderDAO- Parameters:
folderId- Folder to deletedelCode- The deletion codetransaction- entry to log the event (set the user)- Returns:
- List of folders that the user cannot delete(permissions, o immutable documents presents)
- Throws:
PersistenceException- error at data layer
-
deleteTree
public List<Folder> deleteTree(Folder folder, int delCode, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAODeletes a folder and all its sub-folders that a user can delete. After recovering of all sub-folders inside the folder, will be canceled all folders for which the user has the delete permission or there isn't an immutable document inside it.
Important: Remember to delete orphaned documents.- Specified by:
deleteTreein interfaceFolderDAO- Parameters:
folder- Folder to deletedelCode- The deletion codetransaction- entry to log the event (set the user)- Returns:
- List of folders that the user cannot delete(permissions, o immutable documents presents)
- Throws:
PersistenceException- error at data layer
-
findFolderIdInTree
Description copied from interface:FolderDAORetrieve all the ids of the folders in a given tree- Specified by:
findFolderIdInTreein interfaceFolderDAO- Parameters:
rootId- Root of the treeincludeDeleted- True if the deleted records need to be loaded- Returns:
- List of selected folder IDs, rootId is included as well
-
findFolderIdInPath
public Set<Long> findFolderIdInPath(long rootId, boolean includeDeleted) throws PersistenceException Description copied from interface:FolderDAORetrieve all the ids of the folders in a given tree using the path attribute- Specified by:
findFolderIdInPathin interfaceFolderDAO- Parameters:
rootId- Root of the folderincludeDeleted- True if the deleted records need to be loaded- Returns:
- List of selected folder IDs, rootId is included as well
- Throws:
PersistenceException- error at data layer
-
find
Description copied from interface:FolderDAOUseful method that allows to find all folders that contains the given name into their text.- Specified by:
findin interfaceFolderDAO- Parameters:
name- The name to be foundtenantId- The tenant to search in- Returns:
- List of folders that contains the given name into their text.
- Throws:
PersistenceException- error at data layer
-
isInPath
Description copied from interface:FolderDAOChecks if a folder with the given folderId is parent of the folder with the given targetId- Specified by:
isInPathin interfaceFolderDAO- Parameters:
folderId- The folder to be checkedtargetId- The target folder- Returns:
- True if the folder with the given parentId is parent of the folder with the given childId
- Throws:
PersistenceException- error at data layer
-
count
public int count(boolean computeDeleted) Description copied from interface:FolderDAOCounts the number of folders -
findWorkspaces
Description copied from interface:FolderDAORetrieves all the workspaces in the system, that are the first-level folders of typeFolder.TYPE_WORKSPACE- Specified by:
findWorkspacesin interfaceFolderDAO- Parameters:
tenantId- identifier of the tenant- Returns:
- list of folders
- Throws:
PersistenceException- error at data layer
-
initialize
Description copied from class:HibernatePersistentObjectDAODoesn't do anything by default- Specified by:
initializein interfaceFolderDAO- Specified by:
initializein interfacePersistentObjectDAO<Folder>- Overrides:
initializein classHibernatePersistentObjectDAO<Folder>- Parameters:
folder- The entity to be initialised
-
findDeleted
Description copied from interface:FolderDAOFinds all deleted folders of a specific user.- Specified by:
findDeletedin interfaceFolderDAO- Parameters:
userId- The user that performed the deletionmaxHits- Optional defines the max number of returned hits- Returns:
- The folders list
-
findRoot
Description copied from interface:FolderDAORetrieves the root folder of the given tenant- Specified by:
findRootin interfaceFolderDAO- Parameters:
tenantId- identifier of the tenant- Returns:
- the root folder
- Throws:
PersistenceException- error at data layer
-
findDefaultWorkspace
Description copied from interface:FolderDAORetrieves the Default workspace of the given tenant- Specified by:
findDefaultWorkspacein interfaceFolderDAO- Parameters:
tenantId- identifier of the tenant- Returns:
- The default workspace
- Throws:
PersistenceException- error at data layer
-
setStorer
-
updateSecurityRef
public void updateSecurityRef(long folderId, long rightsFolderId, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOChanges the securityRef of the given folder, all the other folders that inherits from this one will be changed accordingly.- Specified by:
updateSecurityRefin interfaceFolderDAO- Parameters:
folderId- identifier of the folderrightsFolderId- id of the folder to inherit fromtransaction- session informations- Throws:
PersistenceException- error at data layer
-
countDocsInTree
public long countDocsInTree(long rootId) Description copied from interface:FolderDAOCounts the number of documents inside a given folder's tree (direct and indirect children)- Specified by:
countDocsInTreein interfaceFolderDAO- Parameters:
rootId- identifier of the root folder- Returns:
- the number of documents contained in the tree
-
computeTreeSize
public long computeTreeSize(long rootId) Description copied from interface:FolderDAOCounts the number of documents inside a given folder's tree (direct and indirect children)- Specified by:
computeTreeSizein interfaceFolderDAO- Parameters:
rootId- identifier of the root folder- Returns:
- sum of the sizes of the documents contained in the tree expressed in bytes
-
findAliases
Description copied from interface:FolderDAOFinds all the aliases- Specified by:
findAliasesin interfaceFolderDAO- Parameters:
foldRef- The referenced foldertenantId- The tenant- Returns:
- Collection of aliases
-
findFolder
Description copied from interface:FolderDAOGets a folder by a given ID if it is an alias, the referenced folder is returned.- Specified by:
findFolderin interfaceFolderDAO- Parameters:
folderId- The ID- Returns:
- A real folder that is referenced by the given ID
- Throws:
PersistenceException- error at data layer
-
applyMetadataToTree
Description copied from interface:FolderDAOPropagates the template metadata to the whole subree- Specified by:
applyMetadataToTreein interfaceFolderDAO- Parameters:
id- identifier of the foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
applyTagsToTree
Description copied from interface:FolderDAOPropagates the tags to the whole subree- Specified by:
applyTagsToTreein interfaceFolderDAO- Parameters:
id- identifier of the foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
applyGridToTree
Description copied from interface:FolderDAOPropagates the grid layout of a node to the whole sub-tree- Specified by:
applyGridToTreein interfaceFolderDAO- Parameters:
id- identifier of the root foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
applyStorageToTree
Description copied from interface:FolderDAOPropagates the storage setting to the whole subree- Specified by:
applyStorageToTreein interfaceFolderDAO- Parameters:
id- identifier of the foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
applyOCRToTree
Description copied from interface:FolderDAOPropagates the OCR settings to the whole subree- Specified by:
applyOCRToTreein interfaceFolderDAO- Parameters:
id- identifier of the foldertransaction- session informations- Throws:
PersistenceException- error at data layer
-
findFolderIdByTag
-
findByUserIdAndTag
public List<Folder> findByUserIdAndTag(long userId, String tag, Integer max) throws PersistenceException Description copied from interface:FolderDAOFinds authorized folders for a user having a specified tag.- Specified by:
findByUserIdAndTagin interfaceFolderDAO- Parameters:
userId- ID of the usertag- Tag of the foldermax- Optional, defines the maximum records number- Returns:
- Collection of found folders
- Throws:
PersistenceException- error at data layer
-
findTags
Description copied from interface:FolderDAORetrieves the alphabetically ordered list of all the folder's tags -
merge
public void merge(Folder source, Folder target, FolderHistory transaction) throws PersistenceException Description copied from interface:FolderDAOMerges the contents of two folders- Specified by:
mergein interfaceFolderDAO- Parameters:
source- The folder whose contents must be merged inside folderAtarget- The main folder to use as containertransaction- the session informations- Throws:
PersistenceException- in case of database or logical error
-
setListenerManager
-