activiti工作流
import static org
.junit.Assert.assertEquals
import static org
.junit.Assert.assertNotNull
import java
.util.List
import org
.activiti.engine.IdentityService
import org
.activiti.engine.identity.Group
import org
.activiti.engine.identity.GroupQuery
import org
.activiti.engine.identity.User
import org
.activiti.engine.identity.UserQuery
import org
.activiti.engine.test.ActivitiRule
import org
.junit.Rule
import org
.junit.Test
public class IdentifyServiceTest {
@Rule
//使用默认的activiti
.cfg.xml作为参数
public ActivitiRule activitiRule = new ActivitiRule()
//用户管理的API演示
@Test
public void testUser() throws Exception {
//获取IdentifyService实例
IdentityService identityService = activitiRule
.getIdentityService()
//创建一个用户对象
User user = identityService
.newUser(
"henryyan")
user
.setFirstName(
"Henry")
user
.setLastName(
"Yan")
user
.setEmail(
"123@qq.com")
//保存用户到数据库
identityService
.saveUser(user)
//验证用户是否保存成功
User userInDb = identityService
.createUserQuery()
.userId(
"henryyan")
.singleResult()
System
.out.println(userInDb
.getEmail())
assertNotNull(userInDb)
//删除用户
identityService
.deleteUser(
"henryyan")
//验证是否删除成功
userInDb = identityService
.createUserQuery()
.userId(
"henryyan")
.singleResult()
assertNotNull(userInDb)
}
//组管理的API演示
@Test
public void testGroup() {
//获取IdentifyService实例
IdentityService identityService = activitiRule
.getIdentityService()
//创建一个租对象
Group group = identityService
.newGroup(
"deptLeader")
group
.setName(
"部门领导")
group
.setType(
"assignment")
//保存组
identityService
.saveGroup(group)
//验证组是否已保存成功,首先需要创建组查询对象
List<Group> groupList = identityService
.createGroupQuery()
.groupId(
"deptLeader")
.list()
assertEquals(
1,groupList
.size())
//删除组
identityService
.deleteGroup(
"deptLeader")
//验证是否删除成功
groupList = identityService
.createGroupQuery()
.groupId(
"deptLeader")
.list()
assertEquals(
0,groupList
.size())
}
//组和用户关联关系API演示
@Test
public void testUserAndGroupMemership() {
//获取IdentifyService实例
IdentityService identityService = activitiRule
.getIdentityService()
//创建并保存组对象
Group group = identityService
.newGroup(
"deptLeader")
group
.setName(
"部门领导")
group
.setType(
"assignment")
identityService
.saveGroup(group)
//创建并保存用户对象
User user = identityService
.newUser(
"henryyan")
user
.setFirstName(
"Henry")
user
.setLastName(
"Yan")
user
.setEmail(
"123@qq.com")
identityService
.saveUser(user)
//把用户henryyan加入到组deptLeader中
identityService
.createMembership(
"henryyan",
"deptLeader")
//查询属于组deptLeader的用户
User userInGroup = identityService
.createUserQuery()
.memberOfGroup(
"deptLeader")
.singleResult()
assertNotNull(userInGroup)
assertEquals(
"henryyan", userInGroup
.getId())
//查询henryyan所属组
Group result = identityService
.createGroupQuery()
.groupMember(
"henryyan")
.singleResult()
assertNotNull(result)
assertEquals(
"deptLeader", result
.getId())
}
}
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0
</modelVersion>
<groupId>org.activiti.examples
</groupId>
<artifactId>activiti-examples
</artifactId>
<version>1.0-SNAPSHOT
</version>
<packaging>jar
</packaging>
<name>BPMN 2.0 with Activiti - Examples
</name>
<properties>
<activiti-version>5.18.0
</activiti-version>
</properties>
<dependencies>
<dependency>
<groupId>org.activiti
</groupId>
<artifactId>activiti-engine
</artifactId>
<version>5.18.0
</version>
</dependency>
<dependency>
<groupId>org.activiti
</groupId>
<artifactId>activiti-spring
</artifactId>
<version>5.18.0
</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy
</groupId>
<artifactId>groovy-all
</artifactId>
<version>2.4.3
</version>
</dependency>
<dependency>
<groupId>com.h2database
</groupId>
<artifactId>h2
</artifactId>
<version>1.3.168
</version>
</dependency>
<dependency>
<groupId>org.slf4j
</groupId>
<artifactId>slf4j-api
</artifactId>
<version>1.7.6
</version>
</dependency>
<dependency>
<groupId>org.slf4j
</groupId>
<artifactId>slf4j-jdk14
</artifactId>
<version>1.7.6
</version>
</dependency>
<dependency>
<groupId>junit
</groupId>
<artifactId>junit
</artifactId>
<version>4.11
</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins
</groupId>
<artifactId>maven-compiler-plugin
</artifactId>
<version>2.3.2
</version>
<configuration>
<source>1.6
</source>
<target>1.6
</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins
</groupId>
<artifactId>maven-eclipse-plugin
</artifactId>
<inherited>true
</inherited>
<configuration>
<classpathContainers>
<classpathContainer>org.eclipse.jdt.USER_LIBRARY/Activiti Designer
Extensions
</classpathContainer>
</classpathContainers>
</configuration>
</plugin>
</plugins>
</build>
</project>