Package com.logicaldoc.workflow.template
Class HibernateWorkflowTemplateDAO
java.lang.Object
com.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
com.logicaldoc.workflow.template.HibernateWorkflowTemplateDAO
- All Implemented Interfaces:
com.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
,WorkflowTemplateDAO
public class HibernateWorkflowTemplateDAO
extends com.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
implements WorkflowTemplateDAO
Hibernate implementation of the
WorkflowTemplateDAO
.- Since:
- 5.0
- Author:
- Sebastian Wenzky, Matteo Caruso - LogicalDOC
-
Field Summary
Fields inherited from interface com.logicaldoc.core.PersistentObjectDAO
ENTITY
-
Method Summary
Modifier and TypeMethodDescriptioncreateFromFile
(File file) De-serialize a template from a filevoid
delete
(long id, int code) deploy
(WorkflowTemplate wfTemplate) This method deploys the given persistence workflow template that is it copies the draft scheme in the currently used scheme and produces a new version.findAll
(long tenantId) This method loads all the workflowsfindAllByName
(long tenantId, String name) This method finds all the workflow templates by namefindAllDeployed
(Long tenantId, Long userId) This method loads all the workflows already deployedfindByName
(long tenantId, String name) This method finds a workflow template by name (the latest version is returned)findByNameAndVersion
(long tenantId, String name, int version) This method finds a workflow template by name (the latest version is returned)findLastDeployed
(long tenantId, String name) This method finds a deployed workflow template by name (the latest deployed version is returned)Set<com.logicaldoc.core.security.Permission>
getEnabledPermissions
(long workflowId, long userId) Finds all permissions of a user enabled on the specified workflowvoid
initialize
(WorkflowTemplate template) boolean
isReadEnabled
(long workflowId, long userId) This method is looking up for read rights for a workflow and an userboolean
isWriteEnabled
(long workflowId, long userId) Returns if a workflow is writable for a uservoid
setUserDAO
(com.logicaldoc.core.security.user.UserDAO userDAO) void
store
(WorkflowTemplate entity) storeNewVersion
(WorkflowTemplate wfTemplate) Saves the passed workflow as a new versionMethods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, 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, setSessionFactory
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.logicaldoc.core.PersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, 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
-
setUserDAO
public void setUserDAO(com.logicaldoc.core.security.user.UserDAO userDAO) -
createFromFile
Description copied from interface:WorkflowTemplateDAO
De-serialize a template from a file- Specified by:
createFromFile
in interfaceWorkflowTemplateDAO
- Parameters:
file
- the file storing the template- Returns:
- object representation of the template
-
findAll
public List<WorkflowTemplate> findAll(long tenantId) throws com.logicaldoc.core.PersistenceException - Specified by:
findAll
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
findAll
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
- Throws:
com.logicaldoc.core.PersistenceException
-
findAll
public List<WorkflowTemplate> findAll(long tenantId, Long userId) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method loads all the workflows- Specified by:
findAll
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- tenant specificationuserId
- optional user specification- Returns:
- list of persistence workflow template
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findAllDeployed
public List<WorkflowTemplate> findAllDeployed(Long tenantId, Long userId) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method loads all the workflows already deployed- Specified by:
findAllDeployed
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- optional tenant specificationuserId
- optional user specification- Returns:
- list of persistence workflow template
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
deploy
public WorkflowTemplate deploy(WorkflowTemplate wfTemplate) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method deploys the given persistence workflow template that is it copies the draft scheme in the currently used scheme and produces a new version.- Specified by:
deploy
in interfaceWorkflowTemplateDAO
- Parameters:
wfTemplate
- The persistence workflow template- Returns:
- the next version of the template
- Throws:
com.logicaldoc.core.PersistenceException
- error at data layer
-
storeNewVersion
public WorkflowTemplate storeNewVersion(WorkflowTemplate wfTemplate) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
Saves the passed workflow as a new version- Specified by:
storeNewVersion
in interfaceWorkflowTemplateDAO
- Parameters:
wfTemplate
- The persistence workflow template- Returns:
- the next version of the template
- Throws:
com.logicaldoc.core.PersistenceException
- error at data layer
-
findByName
public WorkflowTemplate findByName(long tenantId, String name) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method finds a workflow template by name (the latest version is returned)- Specified by:
findByName
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- identifier of the tenantname
- name of the workflow template- Returns:
WorkflowTemplate
with given name, latest version- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findLastDeployed
public WorkflowTemplate findLastDeployed(long tenantId, String name) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method finds a deployed workflow template by name (the latest deployed version is returned)- Specified by:
findLastDeployed
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- identifier of the tenantname
- name of the workflow template- Returns:
WorkflowTemplate
with given name, latest version- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findAllByName
public List<WorkflowTemplate> findAllByName(long tenantId, String name) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method finds all the workflow templates by name- Specified by:
findAllByName
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- identifier of the tenantname
- name of the workflow template- Returns:
- list of templates with same name ordered by descending version
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
findByNameAndVersion
public WorkflowTemplate findByNameAndVersion(long tenantId, String name, int version) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method finds a workflow template by name (the latest version is returned)- Specified by:
findByNameAndVersion
in interfaceWorkflowTemplateDAO
- Parameters:
tenantId
- identifier of the tenantname
- name of the workflow templateversion
- what version to pick- Returns:
WorkflowTemplate
with given name, latest version- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
delete
public void delete(long id, int code) throws com.logicaldoc.core.PersistenceException - Specified by:
delete
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
delete
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
- Throws:
com.logicaldoc.core.PersistenceException
-
isWriteEnabled
public boolean isWriteEnabled(long workflowId, long userId) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
Returns if a workflow is writable for a user- Specified by:
isWriteEnabled
in interfaceWorkflowTemplateDAO
- Parameters:
workflowId
- check this workflowuserId
- privileges for this should be checked- Returns:
- if the user can edit the workflow
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
isReadEnabled
public boolean isReadEnabled(long workflowId, long userId) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
This method is looking up for read rights for a workflow and an user- Specified by:
isReadEnabled
in interfaceWorkflowTemplateDAO
- Parameters:
workflowId
- ID of the workflowuserId
- ID of the user- Returns:
- if the user can access the template
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
getEnabledPermissions
public Set<com.logicaldoc.core.security.Permission> getEnabledPermissions(long workflowId, long userId) throws com.logicaldoc.core.PersistenceException Description copied from interface:WorkflowTemplateDAO
Finds all permissions of a user enabled on the specified workflow- Specified by:
getEnabledPermissions
in interfaceWorkflowTemplateDAO
- Parameters:
workflowId
- ID of the workflowuserId
- ID of the user- Returns:
- Collection of enabled permissions
- Throws:
com.logicaldoc.core.PersistenceException
- Error in the database
-
initialize
- Specified by:
initialize
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
initialize
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
-
store
- Specified by:
store
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
store
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
- Throws:
com.logicaldoc.core.PersistenceException
-