日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

选定用户与用户组启动流程(学习笔记)

發布時間:2023/11/29 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 选定用户与用户组启动流程(学习笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

public class RepostoryServiceTest {private static final Logger LOGGER = LoggerFactory.getLogger(RepostoryServiceTest.class);@Rulepublic ActivitiRule activitiRule = new ActivitiRule();@Testpublic void testRepository(){//repositoryService最重要的功能就是對流程定義文件的部署RepositoryService repositoryService = activitiRule.getRepositoryService();//創建一個流程部署對象,先根據repositoryService創建一個deploymentBuilder然后//用deploymentBuilder構建出一個部署對象,指定名字為測試部署資源,且添加了兩個資源文件DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();deploymentBuilder.name("測試部署資源1").addClasspathResource("my-process.bpmn20.xml").addClasspathResource("second_approve.bpmn20.xml");//當deploy完成以后,就會將我們的部署對象跟兩個資源文件存進數據庫里面Deployment deploy = deploymentBuilder.deploy();LOGGER.info("deploy = {}",deploy);//第二次部署DeploymentBuilder deploymentBuilder1 = repositoryService.createDeployment();deploymentBuilder1.name("測試部署資源2").addClasspathResource("my-process.bpmn20.xml").addClasspathResource("second_approve.bpmn20.xml");deploymentBuilder1.deploy();//查看部署對象里面有什么,deploymentQuery內涵各種查詢方法查詢流程定義對象DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();Deployment deployment = deploymentQuery.deploymentId(deploy.getId()).singleResult();//查詢出list類型的流程定義對象List<ProcessDefinition> definitionList = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).listPage(0, 100);for (ProcessDefinition processDefinition : definitionList) {LOGGER.info("processDefinition = {} , version = {} , key = {} , id = {}",processDefinition,processDefinition.getVersion(),processDefinition.getKey(),processDefinition.getId());}//部署跟流程定義文件可以是一對多的關系 }/*當有需求需要定義用戶與用戶組關系時。* */@Test@org.activiti.engine.test.Deployment(resources = {"my-process.bpmn20.xml"})public void testCandidateStarter(){RepositoryService repositoryService = activitiRule.getRepositoryService();//獲取流程定義對象,singleResult獲取唯一的結果ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult();//repositoryService只是給我們提供了構建用戶用戶組與流程關系的方式,并沒有提供校驗,需要我們自己在業務邏輯中做校驗repositoryService.addCandidateStarterUser(processDefinition.getId(),"user");repositoryService.addCandidateStarterGroup(processDefinition.getId(),"groupM");//把用戶跟用戶組設置進去以后如何獲取出來呢List<IdentityLink> identityLinkList = repositoryService.getIdentityLinksForProcessDefinition(processDefinition.getId());//取出來以后輸出查看下其內容for (IdentityLink identityLink : identityLinkList) {LOGGER.info(" identityLink = {}",identityLink);}//刪除關系repositoryService.deleteCandidateStarterUser(processDefinition.getId(),"user");repositoryService.deleteCandidateStarterGroup(processDefinition.getId(),"groupM");}}

這里singleResult();只能返回一個結果,要是多了會報錯。

?

轉載于:https://www.cnblogs.com/xk920/p/10688127.html

總結

以上是生活随笔為你收集整理的选定用户与用户组启动流程(学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。