1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.flowable.support;
20
21 import org.flowable.bpmn.model.FlowElement;
22 import org.flowable.bpmn.model.Process;
23 import org.flowable.bpmn.model.UserTask;
24 import org.flowable.engine.impl.form.FormHandlerHelper;
25 import org.flowable.engine.impl.form.TaskFormHandler;
26 import org.flowable.engine.impl.persistence.entity.DeploymentEntity;
27 import org.flowable.engine.impl.util.CommandContextUtil;
28 import org.flowable.engine.impl.util.ProcessDefinitionUtil;
29 import org.flowable.engine.repository.ProcessDefinition;
30
31
32
33
34
35 public class SyncopeFormHandlerHelper extends FormHandlerHelper {
36
37 @Override
38 public TaskFormHandler getTaskFormHandlder(final String procDefId, final String taskId) {
39 Process process = ProcessDefinitionUtil.getProcess(procDefId);
40 FlowElement flowElement = process.getFlowElement(taskId, true);
41 if (flowElement instanceof UserTask) {
42 UserTask userTask = (UserTask) flowElement;
43
44 ProcessDefinition processDefinitionEntity = ProcessDefinitionUtil.getProcessDefinition(procDefId);
45 DeploymentEntity deploymentEntity = CommandContextUtil.getProcessEngineConfiguration().
46 getDeploymentEntityManager().findById(processDefinitionEntity.getDeploymentId());
47
48 TaskFormHandler taskFormHandler = new SyncopeTaskFormHandler();
49 taskFormHandler.parseConfiguration(
50 userTask.getFormProperties(), userTask.getFormKey(), deploymentEntity, processDefinitionEntity);
51 return taskFormHandler;
52 }
53
54 return null;
55 }
56 }