Class WorkflowUtil


  • public class WorkflowUtil
    extends Object
    • Constructor Detail

      • WorkflowUtil

        public WorkflowUtil()
    • Method Detail

      • getAttachedDocument

        public static com.logicaldoc.core.document.Document getAttachedDocument​(String processInstanceId)
        Returns one of the attached documents in the given WF instance
        Parameters:
        processInstanceId - identifier of the process instance
        Returns:
        the document
      • getAttachedDocuments

        public static Collection<com.logicaldoc.core.document.Document> getAttachedDocuments​(String processInstanceId)
        Returns the documents attache to the given WF instance
        Parameters:
        processInstanceId - identifier of the process instance
        Returns:
        the collection of documents
      • deserializeDocIds

        public static Set<Long> deserializeDocIds​(String str)
      • serializeDocIdsForDisplay

        public static String serializeDocIdsForDisplay​(Collection<Long> ids)
      • deserializeSupervisors

        public static List<String> deserializeSupervisors​(String supervisor)
      • addNote

        public static WorkflowHistory addNote​(String sid,
                                              String taskId,
                                              String note,
                                              com.logicaldoc.core.security.User user)
                                       throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • addNote

        public static WorkflowHistory addNote​(String sid,
                                              org.activiti.engine.task.Task task,
                                              String note,
                                              com.logicaldoc.core.security.User user)
                                       throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • addNote

        public static WorkflowHistory addNote​(String sid,
                                              String taskName,
                                              String taskId,
                                              String processId,
                                              String note,
                                              com.logicaldoc.core.security.User user)
                                       throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • complete

        public static void complete​(String sid,
                                    org.activiti.engine.task.Task task,
                                    String transitionName,
                                    com.logicaldoc.core.security.User user)
                             throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • deleteInstance

        public static void deleteInstance​(String processInstanceId)
        Deletes a given workflow process instance
        Parameters:
        processInstanceId - identifier of the instance to delete
      • complete

        public static void complete​(String sid,
                                    String taskId,
                                    String transitionName,
                                    com.logicaldoc.core.security.User user)
                             throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • claim

        public static void claim​(String sid,
                                 String taskId,
                                 com.logicaldoc.core.security.User user,
                                 WorkflowHistory transaction)
                          throws com.logicaldoc.core.PersistenceException
        Throws:
        com.logicaldoc.core.PersistenceException
      • reassign

        public static void reassign​(String sid,
                                    String taskId,
                                    com.logicaldoc.core.security.User user)
                             throws com.logicaldoc.core.PersistenceException
        Throws:
        com.logicaldoc.core.PersistenceException
      • getInitiator

        public static com.logicaldoc.core.security.User getInitiator​(String processInstanceId,
                                                                     org.activiti.engine.delegate.DelegateTask delegate)
                                                              throws com.logicaldoc.core.PersistenceException
        Retrieves the user that initiated the workflow(if any)
        Parameters:
        processInstanceId - identifier of the process instance
        delegate - the task
        Returns:
        the user
        Throws:
        com.logicaldoc.core.PersistenceException - error at data layer
      • prepareDictionary

        public static Map<String,​Object> prepareDictionary​(org.activiti.engine.delegate.DelegateTask delegate,
                                                                 org.activiti.engine.task.Task task,
                                                                 String taskName,
                                                                 List<String> candidates,
                                                                 String processInstanceId,
                                                                 String processDefinitionId,
                                                                 Map<String,​Object> keys)
                                                          throws com.logicaldoc.core.PersistenceException
        Prepares a dictionary to be passed to the scripting engine
        Parameters:
        delegate - delegate of the task
        task - the task
        taskName - name of the task
        candidates - List of unique user names
        processInstanceId - identifier of the process instance
        processDefinitionId - identifier of the workflow definition
        keys - map of parameter to be added to the dictionary
        Returns:
        map key - value
        Throws:
        com.logicaldoc.core.PersistenceException - error at data layer
      • sendNotifications

        public static void sendNotifications​(List<String> actors,
                                             String emailTemplate,
                                             String taskName,
                                             String processInstanceId,
                                             String processDefinitionId,
                                             Map<String,​Object> keys,
                                             org.activiti.engine.task.Task task)
                                      throws com.logicaldoc.core.PersistenceException
        Notifies the actors of a specified workflow node
        Parameters:
        actors - Names of the actors
        emailTemplate - The email template to use
        taskName - Name of the current node
        task - Current task
        processInstanceId - The identifier of the current process instance
        processDefinitionId - The identifier of the current process definition
        keys - Dictionary to use, it could be null
        Throws:
        com.logicaldoc.core.PersistenceException - error at data layer
      • unclaim

        public static void unclaim​(String taskId)
                            throws com.logicaldoc.gui.common.client.ServerException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
      • appendDocument

        public static void appendDocument​(String taskId,
                                          long docId,
                                          String username)
                                   throws com.logicaldoc.gui.common.client.ServerException,
                                          com.logicaldoc.core.PersistenceException
        Appends a document to a given workflow
        Parameters:
        taskId - identifier of the current task in the workflow
        docId - identifier of the document to append
        username - optional the user in name of which the action must be taken
        Throws:
        com.logicaldoc.gui.common.client.ServerException - an error happened on the server
        com.logicaldoc.core.PersistenceException - error at data layer
      • getVariables

        public static Map<String,​Object> getVariables​(String processInstanceId)
        Gets the variables of the specified workflow instance
        Parameters:
        processInstanceId - identifier of the workflow instance
        Returns:
        map of variables name-value
      • getVariable

        public static Object getVariable​(String processInstanceId,
                                         String name)
        Gets the value of a variable of the specified workflow instance
        Parameters:
        processInstanceId - identifier of the workflow instance
        name - name of the variable
        Returns:
        value value of the variable
      • setVariable

        public static void setVariable​(String processInstanceId,
                                       String name,
                                       Object value)
        Sets the value of a variable of the specified workflow instance
        Parameters:
        processInstanceId - identifier of the workflow instance
        name - name of the variable
        value - value of the variable
      • appendDocuments

        public static void appendDocuments​(String taskId,
                                           Long[] docIds,
                                           WorkflowHistory transaction)
                                    throws com.logicaldoc.gui.common.client.ServerException,
                                           com.logicaldoc.core.PersistenceException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
        com.logicaldoc.core.PersistenceException
      • removeDocument

        public static void removeDocument​(String taskId,
                                          long docId,
                                          String username)
                                   throws com.logicaldoc.gui.common.client.ServerException,
                                          com.logicaldoc.core.PersistenceException
        Removes a document from a given workflow
        Parameters:
        taskId - identifier of the current task in the workflow
        docId - identifier of the document to append
        username - optional user in name of which the action must be taken
        Throws:
        com.logicaldoc.gui.common.client.ServerException - an error happened on the server
        com.logicaldoc.core.PersistenceException - error at data layer
      • removeDocument

        public static void removeDocument​(String taskId,
                                          long docId,
                                          WorkflowHistory transaction)
                                   throws com.logicaldoc.gui.common.client.ServerException,
                                          com.logicaldoc.core.PersistenceException
        Throws:
        com.logicaldoc.gui.common.client.ServerException
        com.logicaldoc.core.PersistenceException
      • startWorkflow

        public static String startWorkflow​(String workflowName,
                                           String workflowDescription,
                                           String tag,
                                           Set<Long> docIds,
                                           com.logicaldoc.core.security.Session session,
                                           com.logicaldoc.core.security.User user)
                                    throws com.logicaldoc.core.PersistenceException
        Throws:
        com.logicaldoc.core.PersistenceException
      • getWorkflowDefinition

        public static WorkflowDefinition getWorkflowDefinition​(WorkflowTemplate template)
        Builds the object model of the workflow
        Parameters:
        template - the templates that stores the XML definition of the workflow
        Returns:
        the workflow object model
      • saveHistory

        public static void saveHistory​(WorkflowHistory transaction)
                                throws com.logicaldoc.core.PersistenceException
        Saves a workflow history into the database
        Parameters:
        transaction - the history to save
        Throws:
        com.logicaldoc.core.PersistenceException - error at data layer