/** * This source code belongs to Moon Zang, the author. To use it for * commercial/business purpose, please contact DeepNightTwo@gmail.com * * @author Moon Zang * */ package costrecord.jdo; import java.util.ArrayList; import java.util.List; import javax.jdo.PersistenceManager; public class RoleManager { // private static final Logger log = Logger.getLogger(RoleManager.class // .getName()); public static boolean addRole(Long houseID, String roleName) { CostRecordRole role = new CostRecordRole(); role.setUserName(roleName); role.setHouseID(houseID); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(role); } finally { pm.close(); } return true; } public static boolean disableRole(Long roleID) { PersistenceManager pm = PMF.get().getPersistenceManager(); CostRecordRole role = pm.getObjectById(CostRecordRole.class, roleID); try { role.setActive(false); pm.makePersistent(role); } finally { pm.close(); } return true; } @SuppressWarnings("unchecked") public static List<CostRecordRole> getAllRoles(Long houseID, boolean activeOnly) { PersistenceManager pm = PMF.get().getPersistenceManager(); String query = "select from " + CostRecordRole.class.getName(); if (activeOnly) { query += " where isActive == true && houseID == " + houseID; } List<CostRecordRole> roles = (List<CostRecordRole>) pm.newQuery(query) .execute(); if (roles == null) { roles = new ArrayList<CostRecordRole>(); } return roles; } public static CostRecordRole getRole(Long roleID) { PersistenceManager pm = PMF.get().getPersistenceManager(); CostRecordRole role = pm.getObjectById(CostRecordRole.class, roleID); return role; } }