Récupération des information d'un workflow

cancel
Showing results for 
Search instead for 
Did you mean: 
huberd
Member II

Récupération des information d'un workflow

Bonjour,

Je cherche à développer une classe Java qui me permettrait de récuperer le numéro de la tâche active ainsi que le nom de l'acteur ou du groupe d'acteurs associé à une tâche. L'objectif de ces information est de contrôler que l'executant est bien celui requis par la tâche où appartient bien au groupe concerné.

Merci pour votre aide.
1 Reply
pdubois
Active Member

Re: Récupération des information d'un workflow

Utiliser le WorkflowService et récupérez l'instance qui vous convient par:

 /**
     * Gets all "in-flight" workflow instances of the specified Workflow Definition
     *
     * @param workflowDefinitionId  the workflow definition id
     * @return  the list of "in-flight" workflow instances
     */
    @Auditable(parameters = {"workflowDefinitionId"})
    public List<WorkflowInstance> getActiveWorkflows(String workflowDefinitionId);

ou

   
/**
     * Gets a specific workflow instances
     *
     * @param workflowId  the id of the workflow to retrieve
     * @return  the workflow instance (or null if not found)
     */
    @Auditable(parameters = {"workflowId"})
    public WorkflowInstance getWorkflowById(String workflowId);

Puis sélectionner une tâche avec

    /**
     * Query for tasks
     *
     * @param query  the filter by which tasks are queried
     * @return  the list of tasks matching the specified query
     */
    @Auditable(parameters = {"query"})
    public List<WorkflowTask> queryTasks(WorkflowTaskQuery query);

Une fois la tâche sélectionnée regardez dans la propriété   public Map<QName, Serializable> properties de la tâche et vous allez retouver qui a été assigé en regardant le valeur qui correspond à la clef:
"ContentModel.PROP_OWNER". 

Remarque, un tâche active est représentée par un neud, le owner du noeud est la personn assignée à la tâche.

Pour les groupes, utilisez le AuthorityService.