Activiti6.0学习实践(9)-核心api:IdentityService、FormService、HistoryService、ManagementService等

前面学习了三个重要的核心API,本章介绍剩下的几个核心API

1、身份管理服务

流程引擎提供了身份管理服务(IdentityService)来管理用户(User),管理用户组(Group),以及用户和用户组之间的关系(Membership)。身份管理不依赖与流程定义文件。

身份管理服务调用的实现调用过程如下图

1.1、创建用户和组

建立一个测试leiIdentityServiceTest.java

public class IdentityServiceTest {
    private static final Logger logger = LoggerFactory.getLogger(IdentityServiceTest.class);

    @Rule
    public ActivitiRule activitiRule = new ActivitiRule();

    //identity不依赖流程定义文件
    @Test
    public void testIdentity() {

        //获取身份管理服务
        IdentityService identityService = activitiRule.getIdentityService();
        User user1 = identityService.newUser("user1");
        user1.setEmail("user1@126.com");

        User user2 = identityService.newUser("user2");
        user2.setEmail("user2@126.com");

        identityService.saveUser(user1);
        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");

        List<User> userList = identityService.createUserQuery().memberOfGroup("group1").listPage(0, 100);
        for (User user : userList) {
            logger.info("user = {}", ToStringBuilder.reflectionToString(user, ToStringStyle.JSON_STYLE));
        }

        List<Group> groupList = identityService.createGroupQuery().groupMember("user1").listPage(0, 100);
        for (Group group : groupList) {
            logger.info(" group = {}", ToStringBuilder.reflectionToString(group, ToStringStyle.JSON_STYLE));
        }

    }

}

执行结果

第一个红框看到可以查询出属于group1的两个用户,第二个红框看到查询出user1输的用户组

1.2、修改用户组

修改上面的测试代码,加入如下修改用户的内容

1.3、执行结果

修改lastname后,我们看到version也变为2

​​​​​​​2、表单管理服务

Activiti提供了表单管理服务,主要提供了如下功能:解析流程定义中单项的配置,提交表单的方式驱动用户节点流转,获取自定义外部表单key。主要是对流程定义文件中的表单设置项进行解析

​​​​​​​2.1、创建流程定义文件

在这个例子中,创建一个带有表单的流程定义文件

​​​​​​​2.2、创建FormServiceTest​​​​​​​

public class FormServiceTest {
    private static final Logger logger = LoggerFactory.getLogger(FormServiceTest.class);

    @Rule
    public ActivitiRule activitiRule = new ActivitiRule();


    @Test
    @Deployment(resources = {"my-process-form.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值