Package org.osforce.connect.service.system.impl

Source Code of org.osforce.connect.service.system.impl.RoleServiceImpl

package org.osforce.connect.service.system.impl;

import java.util.List;

import org.apache.commons.lang.math.NumberUtils;
import org.osforce.connect.dao.system.ProjectCategoryDao;
import org.osforce.connect.dao.system.RoleDao;
import org.osforce.connect.entity.system.ProjectCategory;
import org.osforce.connect.entity.system.Role;
import org.osforce.connect.entity.system.Site;
import org.osforce.connect.service.system.RoleService;
import org.osforce.spring4me.dao.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
*
* @author gavin
* @since 1.0.0
* @create Jan 29, 2011 - 11:13:20 AM
*  <a href="http://www.opensourceforce.org">开源力量</a>
*/
@Service
@Transactional
public class RoleServiceImpl implements RoleService {
 
  private RoleDao roleDao;
  private ProjectCategoryDao projectCategoryDao;
 
  public RoleServiceImpl() {
  }
 
  @Autowired
  public void setRoleDao(RoleDao roleDao) {
    this.roleDao = roleDao;
  }
 
  @Autowired
  public void setProjectCategoryDao(ProjectCategoryDao projectCategoryDao) {
    this.projectCategoryDao = projectCategoryDao;
  }

  public Role getRole(Long roleId) {
    return roleDao.get(roleId);
  }
 
  public Role getRole(Long categoryId, Integer roleLevel) {
    List<Role> roles = roleDao.findRoleList(null, categoryId);
    Role tmp = null;
    for(Role role : roles) {
      if(tmp==null || (role.getLevel()<=roleLevel &&
          NumberUtils.compare(role.getLevel(), tmp.getLevel())>0)) {
        tmp = role;
      }
    }
    return tmp;
  }
 
  public Role getRole(String code, Long categoryId) {
    return roleDao.findRole(code, categoryId);
  }

  public void createRole(Role role) {
    updateRole(role);
  }

  public void updateRole(Role role) {
    if(role.getCategoryId()!=null) {
      ProjectCategory category = projectCategoryDao.get(role.getCategoryId());
      role.setCategory(category);
    }
    if(role.getId()==null) {
      roleDao.save(role);
    } else {
      roleDao.update(role);
    }
  }

  public void delete(Long roleId) {
    roleDao.delete(roleId);
  }
 
  public List<Role> getRoleList(Long siteId, Long categoryId) {
    return roleDao.findRoleList(siteId, categoryId);
  }
 
  public List<Role> getRoleList(Long categoryId) {
    return roleDao.findRoleList(null, categoryId);
  }
 
  public List<Role> getRoleList(Site site) {
    return roleDao.findRoleList(site.getId(), null);
  }
 
  public Page<Role> getRolePage(Page<Role> page, Long siteId) {
    return roleDao.findRolePage(page, siteId);
  }
}
TOP

Related Classes of org.osforce.connect.service.system.impl.RoleServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.