package com.opentravelsoft.workflow.activiti; import java.util.List; import java.util.Map; import org.activiti.engine.IdentityService; import org.activiti.engine.identity.Group; import org.activiti.engine.identity.GroupQuery; import org.activiti.engine.identity.Picture; import org.activiti.engine.identity.User; import org.activiti.engine.identity.UserQuery; import org.activiti.engine.impl.identity.Account; import org.activiti.engine.impl.persistence.entity.GroupEntity; import org.activiti.engine.impl.persistence.entity.UserEntity; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; import com.opentravelsoft.entity.Employee; import com.opentravelsoft.entity.Team; public class IdentitySessionImpl implements IdentityService { protected Session session; public void setSession(Session session) { this.session = session; } public void deleteUser(String userId) { // lookup the user User user = findUserById(userId); // delete the user session.delete(user); } public User findUserById(String userId) { Employee employee = (Employee) session.createCriteria(Employee.class) .add(Restrictions.eq("userCd", userId)).uniqueResult(); if (employee != null) { return getUserInfo(employee); } return null; } // public List<User> findUsersByGroupId(String groupId) { // List<Employee> list = session.createCriteria(Employee.class) // .createAlias("teamMemberships", "g") // .add(Restrictions.eq("g.id", groupId)) // .setProjection(Projections.property("user")).list(); // List<User> users = new ArrayList<User>(); // for (Employee employee : list) { // users.add(getUserInfo(employee)); // } // // return users; // } public void deleteGroup(String groupId) { // look up the group Team group = findTeamById(groupId); // delete the group session.delete(group); } // public Group findGroupById(String groupId) { // return getGroupInfo(findTeamById(groupId)); // } // // @SuppressWarnings("unchecked") // public List<Group> findGroupsByUser(String userId) { // List<Team> teams = session // .createQuery( // "select distinct m.group" + " from " + Employee.class.getName() // + " as m where m.user.id = :userId") // .setString("userId", userId).list(); // // List<Group> groups = new ArrayList<Group>(); // for (Team team : teams) { // groups.add(getGroupInfo(team)); // } // return groups; // } private User getUserInfo(Employee employee) { User user = new UserEntity(employee.getUserCd()); user.setFirstName(employee.getGivenName()); user.setLastName(employee.getFamilyName()); user.setEmail(employee.getEmail()); user.setPassword(employee.getPasswd()); return user; } private Group getGroupInfo(Team team) { Group user = new GroupEntity(team.getName()); user.setName(team.getName()); return user; } private Team findTeamById(String groupId) { return (Team) session.createCriteria(Team.class) .add(Restrictions.eq("id", groupId)).uniqueResult(); } @Override public User newUser(String userId) { // TODO Auto-generated method stub return null; } @Override public void saveUser(User user) { // TODO Auto-generated method stub } @Override public UserQuery createUserQuery() { // TODO Auto-generated method stub return null; } @Override public Group newGroup(String groupId) { // TODO Auto-generated method stub return null; } @Override public GroupQuery createGroupQuery() { // TODO Auto-generated method stub return null; } @Override public void saveGroup(Group group) { // TODO Auto-generated method stub } @Override public boolean checkPassword(String userId, String password) { // TODO Auto-generated method stub return false; } @Override public void setAuthenticatedUserId(String authenticatedUserId) { // TODO Auto-generated method stub } @Override public void setUserPicture(String userId, Picture picture) { // TODO Auto-generated method stub } @Override public Picture getUserPicture(String userId) { // TODO Auto-generated method stub return null; } @Override public void setUserInfo(String userId, String key, String value) { // TODO Auto-generated method stub } @Override public String getUserInfo(String userId, String key) { // TODO Auto-generated method stub return null; } @Override public List<String> getUserInfoKeys(String userId) { // TODO Auto-generated method stub return null; } @Override public void deleteUserInfo(String userId, String key) { // TODO Auto-generated method stub } @Override public void setUserAccount(String userId, String userPassword, String accountName, String accountUsername, String accountPassword, Map<String, String> accountDetails) { // TODO Auto-generated method stub } @Override public List<String> getUserAccountNames(String userId) { // TODO Auto-generated method stub return null; } @Override public Account getUserAccount(String userId, String userPassword, String accountName) { // TODO Auto-generated method stub return null; } @Override public void deleteUserAccount(String userId, String accountName) { // TODO Auto-generated method stub } @Override public void createMembership(String userId, String groupId) { // TODO Auto-generated method stub } @Override public void deleteMembership(String userId, String groupId) { // TODO Auto-generated method stub } }