選定用戶與用戶組啟動流程(學習筆記)

?

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394327.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python關于包的題怎么做_Python自定義包引入

python中的Module是比較重要的概念。常見的情況是&#xff0c;事先寫好一個.py文 件&#xff0c;在另一個文件中需要import時&#xff0c;將事先寫好的.py文件拷貝 到當前目錄&#xff0c;或者是在中增加事先寫好的.py文件所在的目錄&#xff0c;然后import。這樣的做法&#x…

汽車之家的安全框架,是如何從0到1搭建的?

“別人家的安全”是安全威脅情報&#xff08;微信ID&#xff1a;Threatbook&#xff09;近期推出的一檔專欄。 合規、管理、構建、應急……安全問題千千萬&#xff0c;層出不窮。我們沒辦法給出這些問題的標準答案&#xff0c;但我們可以用Case Study的形式&#xff0c;讓你看看…

leetcode264. 丑數 II

編寫一個程序&#xff0c;找出第 n 個丑數。 丑數就是質因數只包含 2, 3, 5 的正整數。 示例: 輸入: n 10 輸出: 12 解釋: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 個丑數。 說明: 1 是丑數。 n 不超過1690。 解題思路 直接用treeset去重和排序 代碼 class Solution …

vr多人_如何構建多人VR網絡應用

vr多人by Srushtika Neelakantam通過Srushtika Neelakantam 如何構建多人VR網絡應用 (How to build a multiplayer VR web app) In this article, we’ll learn about three great frameworks/libraries that allow any web developer to build a VR app that works on any de…

量子測量 -- 確定性的死神

一、測量 -- 確定性的死神 前文已反復提及在量子世界中測量這一過程會產生很多奇異的、反直覺的現象。在第一篇文章中我舉的例子是&#xff1a;用同樣的配方&#xff0c;同樣的火候&#xff0c;同樣的廚具&#xff08;所有你能想到的變量均相同&#xff09;煎雞蛋&#xff0c;結…

python增刪改查csv文件_Python--作業2--對員工信息文件,實現增刪改查操作

#!/usr/bin/env python#-*- coding:utf-8 -*-#Author:Huanglinshengimportos#查詢方式一&#xff1a;select * from data_staff.txt where age > 22#查詢方式二&#xff1a;select * from data_staff.txt where dept "IT"#查詢方式三&#xff1a;select * from d…

ios注銷所有通知_您一直想了解的有關iOS中通知的所有信息

ios注銷所有通知by Payal Gupta通過Payal Gupta 您一直想了解的有關iOS中通知的所有信息 (Everything you’ve always wanted to know about notifications in iOS) 漂亮的小警報..&#xff1f; (Pretty Little Alerts..?) Notifications are a way to inform users when new…

vue-x

https://my.oschina.net/wangnian/blog/2055631轉載于:https://www.cnblogs.com/ylblogs/p/10694849.html

leetcode97. 交錯字符串(動態規劃)

給定三個字符串 s1, s2, s3, 驗證 s3 是否是由 s1 和 s2 交錯組成的。 示例 1: 輸入: s1 “aabcc”, s2 “dbbca”, s3 “aadbbcbcac” 輸出: true 解題思路 數組含義&#xff1a;dp[i][j]s1的前i個和s2的前j個能否組成字符串s3的前ij長度的子串 狀態轉移&#xff1a; d…

【LeetCode】19. Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head. For example, Given linked list: 1->2->3->4->5, and n 2.After removing the second node from the end, the linked list becomes 1->2->3->5.題意&#xff1a;…

《網絡空間欺騙:構筑欺騙防御的科學基石》一1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖...

1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖 本文講的是網絡空間欺騙&#xff1a;構筑欺騙防御的科學基石一1.1 主動網絡空間防御中網絡空間抵賴與欺騙的視圖,將抵賴與欺騙納入標準操作規程&#xff08;SOP&#xff09;&#xff1a;隨著攻擊技術的不斷演進&#xff0c;網…

管樁的彈性模量計算公式_樁基設計計算公式

0.9300.71555.31201018001.130973355樁長21.3mN(KN)φfc(kN/m2)Ap(m2)f’s(kN/m2)A’s(m2)樁直徑(m2)11518.963620.7119001.1309733553000000.0160849541.2標準值19006.29KN單樁承載力設計計算(建筑樁基技術規范08版)根據《建筑樁基技術規范》(JGJ94—2008), 單樁豎向極限承載力…

python函數的作用降低編程復雜度_Python語言程序設計 (第11期) 測驗5: 函數和代碼復用...

共10道單選題和2道編程題&#xff0c;限答1次、限時50分鐘選擇題1.以下選項不是函數作用的是&#xff1a;???????????????????????????????????????????????????????????????????????????????…

restful解決什么問題_當您陷入RESTful,WordPress和一個困難的地方時,如何解決CMS問題...

restful解決什么問題by Jessica Duffin Wolfe杰西卡達芬沃爾夫(Jessica Duffin Wolfe) 當您陷入RESTful&#xff0c;WordPress和一個困難的地方時&#xff0c;如何解決CMS問題 (How to solve a CMS problem when you’re caught between RESTful, WordPress, and a hard place…

InfluxDB的HTTP API寫入操作

一、說明 為了方便&#xff0c;本文主要使用curl來發起http請求&#xff0c;示例當中也是使用curl這個工具來模擬HTTP 請求。 在實際使用中&#xff0c;可以將請求寫入代碼中&#xff0c;通過其他編程語言來模擬HTTP請求。 二、InfluxDB通過HTTP API操作數據庫 1&#xff09;建…

揭開勒索軟件的真面目

一、前言 2013年9月&#xff0c;戴爾公司的SecureWorks威脅應對部門&#xff08;CTU&#xff09;發現了一種名為“CryptoLocker”的勒索軟件&#xff0c;它以郵件附件形式分發&#xff0c;感染計算機并加密近百種格式文件&#xff08;包括電子表格、數據庫、圖片等&#xff09;…

leetcode486. 預測贏家(動態規劃)

給定一個表示分數的非負整數數組。 玩家1從數組任意一端拿取一個分數&#xff0c;隨后玩家2繼續從剩余數組任意一端拿取分數&#xff0c;然后玩家1拿&#xff0c;……。每次一個玩家只能拿取一個分數&#xff0c;分數被拿取之后不再可取。直到沒有剩余分數可取時游戲結束。最終…

w550官方例程_急!求索愛w550的刷機所需要的所有文件! 全部分送上!

展開全部W550c行貨軟件升級使用國內行貨W550c手機的朋友&#xff0c;將來是可以在62616964757a686964616fe58685e5aeb931333238646330官方網站使用隨機數據線免費升級的&#xff0c;目前W550c的最新版本是R4AB048但是由于目前官方網站還未提供&#xff0c;大家敬請期待。W550c索…

python的xpath用法介紹_python爬蟲之xpath的基本使用詳解

本篇文章主要介紹了python爬蟲之xpath的基本使用詳解&#xff0c;現在分享給大家&#xff0c;也給大家做個參考。一起過來看看吧一、簡介XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 XML 文檔中對元素和屬性進行遍歷。XPath 是 W3C XSLT 標準的主要元素&#xff…

楊波 微服務技術專家_專家稱,這些是最有效的微服務測試策略

楊波 微服務技術專家by Jake Lumetta杰克盧米塔(Jake Lumetta) 專家稱&#xff0c;這些是最有效的微服務測試策略 (These are the most effective microservice testing strategies, according to the experts) Testing microservices is hard. More specifically, end-to-end…