/** * 给角色授权 * * @param roleId * @param TreeService rights * @return */ public void impowerRole(String roleId, TreeService rights) { // TODO Auto-generated method stub SysRole sr = (SysRole) dao.loadEntity(SysRole.class, roleId); Set s = sr.getSysRightRoles(); Iterator i = s.iterator(); while (i.hasNext()) { SysRightRole srr = (SysRightRole) i.next(); dao.removeEntity(srr); } dao.flush(); // String rootName = rights.getRoot().getId(); Map registry = rights.getRegistry(); Iterator iterator = registry.keySet().iterator(); while (iterator.hasNext()) { String key = (String) iterator.next(); ViewTreeControlNode node = (ViewTreeControlNode) registry.get(key); String nodeType = node.getType(); if (nodeType == null) nodeType = ""; // 是角色图标 类型是leaf_right_% if (SysStaticParameter.RICON.equalsIgnoreCase(node.getTmpIcon()) && nodeType.indexOf("leaf_right") != -1) { SysRightRole dbsrr = new SysRightRole(); dbsrr.setId(ks.getNext("SYS_RIGHT_ROLE")); dbsrr.setSysRole(sr); SysLeafRight slr = (SysLeafRight) dao.loadEntity(SysLeafRight.class, node.getId()); dbsrr.setSysLeafRight(slr); dao.saveEntity(dbsrr); } } }
public void grantRoleRights(String roleId, List<String> leafRightIds) { SysRole sr = (SysRole) dao.loadEntity(SysRole.class, roleId); for (int i = 0; i < leafRightIds.size(); i++) { SysRightRole srr = new SysRightRole(); // System.out.println(leafRightIds.get(i)); SysLeafRight slr = (SysLeafRight) dao.loadEntity(SysLeafRight.class, leafRightIds.get(i)); srr.setId(ks.getNext("SYS_RIGHT_ROLE")); srr.setSysRole(sr); srr.setSysLeafRight(slr); dao.saveEntity(srr); } }