Activiti6.0流程引擎学习——(24)activiti的表单管理服务(Identi...
2023年8月1日发(作者:)
Activiti6.0流程引擎学习——(24)activiti的表单管理服务(Identi。。。FormService:1、解析流程定义中表单项的配置;2、提交表单的⽅式驱动⽤户节点流转,FormService可以通过submit表单⽅式将流程驱动;3、获取⾃定义外部表单Key。
基于流程演⽰FormService功能:⼀、创建FormServiceTest测试类与测试流程⽂件⾸先在coreapi中创建FormServiceTest测试类:然后在resources中创建流程⽂件:
⼆、在form表单配置⽂件中创建测试流程
⾸先配置表单项,在startEvent中的扩展属性extensionElements中设计表单,这⾥就填写了⼀个消息。然后在userTask 中设计了⼀个审批结果的表单。
三、然后对表单管理服务进⾏测试对FormServiceTest测试类添加测试⽅法:package i;import ;import rvice;import tyService;import operty;import ormData;import rmData;import ;import ;import sDefinition;import sInstance;import ;import ery;import tiRule;import ment;import ngBuilder;import ngStyle;import ;import ;import ;import Factory;import p;import ;import ;/** * 表单管理服务测试 */public class FormServiceTest { private static final Logger LOGGER = ger(); @Rule public ActivitiRule activitiRule = new ActivitiRule(); @Test @Deployment(resources = {""}) public void testFormService(){ FormService formService = mService(); //获取 FormService ProcessDefinition processDefinition = ositoryService() .createProcessDefinitionQuery().singleResult(); //流程定义对象 String startFormKey = rtFormKey(()); ("startFormKey = [{}]", startFormKey); //[/rest/process/form/start] 配制⽂件中 formKey 参数值 StartFormData startFormData = rtFormData(()); List formProperties = mProperties(); //获得表单列表 for (FormProperty formProperty:formProperties){ ("formProperty = [{}]" , tionToString(formProperty,_STYLE)); } Map properties = hMap(); ("message","test message"); ProcessInstance processInstance = StartFormData((), properties); //根据formService启动流程 Task task = kService().createTaskQuery().singleResult(); //获取唯⼀的Task TaskFormData taskFormData = kFormData(()); //获取task表单 List taskFormDataFormProperties = mProperties(); //获取属性列表 for (FormProperty property:taskFormDataFormProperties){ ("property = [{}]" , tionToString(property,_STYLE)); } HashMap yesORno = hMap(); ("yesORno","yes"); TaskFormData((),yesORno); Task task1 = kService().createTaskQuery().taskId(()).singleResult(); ("task1 = [{}]" , task1); }}输出测试结果:Loading XML bean definitions from class path resource []performing create on engine with resource org/activiti/db/create/forming create on history with resource org/activiti/db/create/forming create on identity with resource org/activiti/db/create/cessEngine default createdstartFormKey = [/rest/process/form/start]Activiti 5 compatibility handler implementation not found or error during instantiation : tActiviti5CompatibilityHandler. Activiti 5 backwformProperty = [{"id":"message","name":"消息","type":"FormType@10b892d5","isRequired":true,"isReadable":true,"isWritable":trtask1 = [null]Process finished with exit code 0property = [{"id":"yesORno","name":"审批结果","type":"FormType@10b892d5","isRequired":true,"isReadable":true,"isWritable":tr⾸先输出了startFormKey,这个值也就是流程定义中的对应的startEvent 中的 activiti:formKey对应的属性,然后输出了startEvent 中activiti:formProperty解析出来的内容,再输出了userTask 中的审批结果列表,最后通过submitTaskFormData⽅法将task与参数提交表单,整个流程结束。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690872311a451808.html
评论列表(0条)