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 Type
    Method
    Description
    De-serialize a template from a file
    void
    delete(long id, int code)
     
    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)
     
    findAll(long tenantId, Long userId)
    This method loads all the workflows
    findAllByName(long tenantId, String name)
    This method finds all the workflow templates by name
    findAllDeployed(Long tenantId, Long userId)
    This method loads all the workflows already deployed
    findByName(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>
    getAllowedPermissions(long workflowId, long userId)
    Finds all permissions of a user enabled on the specified workflow
    void
     
    boolean
    isReadEnabled(long workflowId, long userId)
    This method is looking up for read rights for a workflow and an user
    boolean
    isWriteEnabled(long workflowId, long userId)
    Returns if a workflow is writable for a user
    void
    setUserDAO(com.logicaldoc.core.security.user.UserDAO userDAO)
     
    void
     
    Saves the passed workflow as a new version

    Methods inherited from class com.logicaldoc.core.HibernatePersistentObjectDAO

    bulkUpdate, delete, deleteAll, deleteAll, findAll, findAllIds, findAllIds, findById, findById, findByObjectQuery, findByQuery, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, getSessionFactory, isMySQL, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, 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, findByQuery, findByWhere, findByWhere, findIdsByWhere, findIdsByWhere, getDatabaseMetadata, getDbms, isMySQL, isOracle, jdbcUpdate, jdbcUpdate, query, query, queryForDouble, queryForDouble, queryForInt, queryForInt, queryForList, queryForList, queryForList, queryForLong, queryForLong, queryForObject, queryForObject, queryForResultSet, queryForString
  • Method Details

    • setUserDAO

      public void setUserDAO(com.logicaldoc.core.security.user.UserDAO userDAO)
    • createFromFile

      public WorkflowTemplate createFromFile(File file)
      Description copied from interface: WorkflowTemplateDAO
      De-serialize a template from a file
      Specified by:
      createFromFile in interface WorkflowTemplateDAO
      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 interface com.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
      Overrides:
      findAll in class com.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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - tenant specification
      userId - 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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - optional tenant specification
      userId - 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 interface WorkflowTemplateDAO
      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 interface WorkflowTemplateDAO
      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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - identifier of the tenant
      name - 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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - identifier of the tenant
      name - 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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - identifier of the tenant
      name - 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 interface WorkflowTemplateDAO
      Parameters:
      tenantId - identifier of the tenant
      name - name of the workflow template
      version - 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 interface com.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
      Overrides:
      delete in class com.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 interface WorkflowTemplateDAO
      Parameters:
      workflowId - check this workflow
      userId - 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 interface WorkflowTemplateDAO
      Parameters:
      workflowId - ID of the workflow
      userId - ID of the user
      Returns:
      if the user can access the template
      Throws:
      com.logicaldoc.core.PersistenceException - Error in the database
    • getAllowedPermissions

      public Set<com.logicaldoc.core.security.Permission> getAllowedPermissions(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:
      getAllowedPermissions in interface WorkflowTemplateDAO
      Parameters:
      workflowId - ID of the workflow
      userId - ID of the user
      Returns:
      Collection of enabled permissions
      Throws:
      com.logicaldoc.core.PersistenceException - Error in the database
    • initialize

      public void initialize(WorkflowTemplate template)
      Specified by:
      initialize in interface com.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
      Overrides:
      initialize in class com.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
    • store

      public void store(WorkflowTemplate entity) throws com.logicaldoc.core.PersistenceException
      Specified by:
      store in interface com.logicaldoc.core.PersistentObjectDAO<WorkflowTemplate>
      Overrides:
      store in class com.logicaldoc.core.HibernatePersistentObjectDAO<WorkflowTemplate>
      Throws:
      com.logicaldoc.core.PersistenceException