cancel
Showing results for 
Search instead for 
Did you mean: 

Récupération des information d'un workflow

huberd
Champ in-the-making
Champ in-the-making
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 1

pdubois
Champ on-the-rise
Champ on-the-rise
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.