一圃酵、前言
??????? 本章繼續(xù)學(xué)習(xí)activiti6.0的核心api之IdentityService
二击纬、IdentityService
/**
*
*? 測(cè)試IdentityService
*? IdentityService的作用:
*? 1、管理用戶(User)哪雕,包括用戶的增刪改查
*? 2船殉、管理用戶組(Group)包括用戶組的增刪改查
*? 3、管理用戶和用戶組的關(guān)系(Membership)
* @author chaoge
* @since 2018/10/9 08:52
*/
public class IdentityServiceTest {
private static final LoggerLOGGER = LoggerFactory.getLogger(IdentityServiceTest.class);
? ? @Rule
? ? public ActivitiRulerule =new ActivitiRule();
? ? /**
? ? * 測(cè)試用戶斯嚎、用戶組的創(chuàng)建及關(guān)聯(lián)
? ? */
? ? @Test
? ? public void testIdentityService(){
IdentityService identityService =rule.getIdentityService();
? ? ? ? //用戶和用戶組創(chuàng)建成功以后會(huì)存入數(shù)據(jù)庫(kù)中利虫,所以第二次測(cè)試的時(shí)候因?yàn)橛脩粢呀?jīng)存在而報(bào)主鍵重復(fù)的錯(cuò)挨厚,可以配置
//? ? ? ? User user1 = identityService.newUser("user1");
//? ? ? ? user1.setEmail("user1@qq.com");
//? ? ? ? identityService.saveUser(user1);
//? ? ? ? User user2 = identityService.newUser("user2");
//? ? ? ? user2.setEmail("user2@qq.com");
//? ? ? ? identityService.saveUser(user2);
//
//? ? ? ? Group group1 = identityService.newGroup("group1");
//? ? ? ? identityService.saveGroup(group1);
//? ? ? ? Group group2 = identityService.newGroup("group2");
//? ? ? ? identityService.saveGroup(group2);
//? ? ? ? identityService.createMembership("user1","group1");
//? ? ? ? identityService.createMembership("user2","group1");
//? ? ? ? identityService.createMembership("user1","group2");
? ? ? ? User user1 = identityService.createUserQuery().userId("user1").singleResult();
? ? ? ? //不能修改id,否則會(huì)報(bào)錯(cuò)
? ? ? ? //user1.setId("user");
? ? ? ? user1.setLastName("chaoge");
? ? ? ? identityService.saveUser(user1);
? ? ? ? //查詢組中的用戶
? ? ? ? List userList = identityService.createUserQuery().memberOfGroup("group1").listPage(0, 100);
? ? ? ? userList.forEach(user ->LOGGER.info("user = {}",ToStringBuilder.reflectionToString(user,ToStringStyle.JSON_STYLE)));
? ? ? ? //查詢用戶所在組
? ? ? ? List groupList = identityService.createGroupQuery().groupMember("user1").listPage(0, 100);
? ? ? ? groupList.forEach(group ->LOGGER.info("group = {}", ToStringBuilder.reflectionToString(group,ToStringStyle.JSON_STYLE)));
? ? }
}