package com.imooc.activiti.coreapi;
import com.google.common.collect.Maps;
import com.sun.prism.Texture;
import org.activiti.engine.IdentityService;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.identity.User;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.DeploymentQuery;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.Execution;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceBuilder;
import org.activiti.engine.task.Attachment;
import org.activiti.engine.task.IdentityLink;
import org.activiti.engine.task.Task;
import org.activiti.engine.test.ActivitiRule;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.junit.Rule;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
/**
* test
**/
public class IdentityServiceTest {
private static final Logger LOGGER = LoggerFactory.getLogger(IdentityServiceTest.class);
@Rule
public ActivitiRule activitiRule = new ActivitiRule();
@Test
public void testIdentity(){
IdentityService identityService = activitiRule.getIdentityService();
User user1 = identityService.newUser("user1");
user1.setEmail("user@163.com");
User user2 = identityService.newUser("user2");
user2.setEmail("user@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");
identityService.createMembership("user2","group2");
User user11 = identityService.createUserQuery().userId("user1").singleResult();
user11.setLastName("naza");
identityService.saveUser(user11);
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));
}
}
}