📄 organizationserviceimpl.java
字号:
package com.ejsun.entapps.service.impl.organization;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.ejsun.entapps.domain.organization.Group;
import com.ejsun.entapps.domain.organization.GroupType;
import com.ejsun.entapps.domain.organization.MemberShip;
import com.ejsun.entapps.domain.organization.MemberShipType;
import com.ejsun.entapps.domain.organization.User;
import com.ejsun.entapps.service.GenericServiceException;
import com.ejsun.entapps.service.impl.AbstractService;
import com.ejsun.entapps.service.organization.OrganizationService;
import com.ejsun.entapps.util.GenericUtil;
/**
* @author Quake Wang
* @since 2004-4-29
* @version $Revision: 1.1 $
*
**/
public class OrganizationServiceImpl extends AbstractService implements OrganizationService {
private final static Log log = LogFactory.getLog(OrganizationServiceImpl.class);
private static Long rootGroupId = null;
public void createUser(User user) {
pm.create(user);
}
public void updateUser(User user) {
pm.update(user);
}
public void deleteUser(User user) {
pm.delete(user);
}
public User loadUserById(long id) {
return (User) qm.loadById(User.class, id);
}
public User login(String loginId, String password) {
User user = findUserByLoginId(loginId);
if (user == null)
throw new GenericServiceException("loginId.error");
if (!password.equals(user.getPassword()))
throw new GenericServiceException("password.error");
return user;
}
public User findUserByLoginId(String loginId) {
return (User) qm.loadByNamedQuery("findUserByLoginId", loginId);
}
public void createGroup(Group group) {
pm.create(group);
}
public void updateGroup(Group group) {
pm.update(group);
}
public void deleteGroup(Group group) {
pm.delete(group);
}
public void addChild(Group parent, Group child) {
parent.addChild(child);
pm.create(child);
}
public Group loadGroupById(long id) {
return (Group) qm.loadById(Group.class, id);
}
public Group findRootGroup() {
if(rootGroupId == null) {
try {
rootGroupId = new Long(GenericUtil.loadConfProperties().getProperty(GenericUtil.ROOT_GROUP_ID));
} catch (Exception e) {
log.error(e);
throw new GenericServiceException("root.group.not.found");
}
}
return loadGroupById(rootGroupId.longValue());
}
public User[] findGroupMembers(Group group) {
List users = qm.findByNamedQuery("findGroupMembers", group);
return (User[]) users.toArray(new User[users.size()]);
}
public User findGroupAdmin(Group group) {
MemberShip ms = findMemberShipByAdminedGroup(group);
if (ms != null)
return ms.getUser();
else
return null;
}
private MemberShip findMemberShipByAdminedGroup(Group group) {
return (MemberShip) qm.loadByNamedQuery("findMemberShipByAdminedGroup", group);
}
public Group findGroupByMember(User user) {
MemberShip ms = findMemberShipByGroupMember(user);
if (ms != null)
return ms.getGroup();
else
return null;
}
private MemberShip findMemberShipByGroupMember(User user) {
return (MemberShip) qm.loadByNamedQuery("findMemberShipByGroupMember", user);
}
public void addMemberToGroup(User user, Group group) {
MemberShip ms = findMemberShipByGroupMember(user);
if (ms != null) {
ms.setGroup(group);
pm.update(ms);
} else {
pm.create(new MemberShip(user, group, getMemberShipType(MemberShipType.GROUP_MEMBER)));
}
}
public void assignGroupAdmin(User user, Group group) {
MemberShip ms = findMemberShipByAdminedGroup(group);
if (ms != null) {
ms.setUser(user);
pm.update(ms);
} else {
pm.create(new MemberShip(user, group, getMemberShipType(MemberShipType.GROUP_ADMIN)));
}
}
private MemberShipType getMemberShipType(String typeName) {
return (MemberShipType) qm.loadByName(MemberShipType.class, typeName);
}
/* (non-Javadoc)
* @see com.ejsun.entapps.service.organization.OrganizationService#getAllGroupTypes()
*/
public GroupType[] getAllGroupTypes() {
// TODO Auto-generated method stub
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -