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 theWorkflowTemplateDAO
.- Since:
- 5.0
- Author:
- Sebastian Wenzky, Matteo Caruso - LogicalDOC
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WorkflowTemplate
createFromFile(File file)
De-serialize a template from a fileboolean
delete(long id, int code)
WorkflowTemplate
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.List<WorkflowTemplate>
findAll(long tenantId)
List<WorkflowTemplate>
findAll(long tenantId, Long userId)
This method loads all the workflowsList<WorkflowTemplate>
findAllByName(long tenantId, String name)
This method finds all the workflow templates by nameList<WorkflowTemplate>
findAllDeployed(Long tenantId, Long userId)
This method loads all the workflows already deployedWorkflowTemplate
findById(long id)
WorkflowTemplate
findByName(long tenantId, String name)
This method finds a workflow template by name (the latest version is returned)WorkflowTemplate
findByNameAndVersion(long tenantId, String name, int version)
This method finds a workflow template by name (the latest version is returned)WorkflowTemplate
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
isReadEnable(long workflowId, long userId)
This method is looking up for read rights for a workflow and an userboolean
isWriteEnable(long workflowId, long userId)
Returns if a workflow is writable for a uservoid
setUserDAO(com.logicaldoc.core.security.dao.UserDAO userDAO)
WorkflowTemplate
storeNewVersion(WorkflowTemplate wfTemplate)
Saves the passed workflow as a new version-
Methods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO
bulkUpdate, delete, deleteAll, deleteAll, findAll, findAllIds, findAllIds, findById, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDbms, getSessionFactory, isOracle, jdbcUpdate, jdbcUpdate, query, queryForInt, queryForList, queryForList, queryForLong, queryForObject, queryForRowSet, queryForString, setSessionFactory, store
-
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, findByObjectQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDbms, isOracle, jdbcUpdate, jdbcUpdate, query, queryForInt, queryForList, queryForList, queryForLong, queryForObject, queryForRowSet, queryForString, store
-
-
-
-
Method Detail
-
setUserDAO
public void setUserDAO(com.logicaldoc.core.security.dao.UserDAO userDAO)
-
createFromFile
public WorkflowTemplate createFromFile(File file)
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)
- Specified by:
findAll
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
findAll
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
-
findAll
public List<WorkflowTemplate> findAll(long tenantId, Long userId)
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
-
findAllDeployed
public List<WorkflowTemplate> findAllDeployed(Long tenantId, Long userId)
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
-
findById
public WorkflowTemplate findById(long id)
- Specified by:
findById
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
findById
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
-
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 in the database
-
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 in the database
-
findByName
public WorkflowTemplate findByName(long tenantId, String name)
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
-
findLastDeployed
public WorkflowTemplate findLastDeployed(long tenantId, String name)
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
-
findAllByName
public List<WorkflowTemplate> findAllByName(long tenantId, String name)
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
-
findByNameAndVersion
public WorkflowTemplate findByNameAndVersion(long tenantId, String name, int version)
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
-
delete
public boolean 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
-
isWriteEnable
public boolean isWriteEnable(long workflowId, long userId)
Description copied from interface:WorkflowTemplateDAO
Returns if a workflow is writable for a user- Specified by:
isWriteEnable
in interfaceWorkflowTemplateDAO
- Parameters:
workflowId
- check this workflowuserId
- privileges for this should be checked- Returns:
- if the user can edit the workflow
-
isReadEnable
public boolean isReadEnable(long workflowId, long userId)
Description copied from interface:WorkflowTemplateDAO
This method is looking up for read rights for a workflow and an user- Specified by:
isReadEnable
in interfaceWorkflowTemplateDAO
- Parameters:
workflowId
- ID of the workflowuserId
- ID of the user- Returns:
- if the user can access the template
-
getEnabledPermissions
public Set<com.logicaldoc.core.security.Permission> getEnabledPermissions(long workflowId, long userId)
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
-
initialize
public void initialize(WorkflowTemplate template)
- Specified by:
initialize
in interfacecom.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
- Overrides:
initialize
in classcom.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
-
-