/**
  * 给角色授权
  *
  * @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);
    }
  }
 /**
  * 当前角色的权限图标 其他正常显示
  *
  * @param roleId
  * @param TreeService rights
  * @return
  */
 public void impowerRoleIcon(String roleId, TreeService rights, String tmpIcon) {
   SysRole sr = (SysRole) dao.loadEntity(SysRole.class, roleId);
   Map registry = rights.getRegistry();
   Iterator keys = registry.keySet().iterator();
   Iterator it = sr.getSysRightRoles().iterator();
   // 清除临时图标
   while (keys.hasNext()) {
     // System.out.println("+++++++++++++++++++++"+registry.get((String)keys.next()).getClass());
     ViewTreeControlImpowerNode node =
         (ViewTreeControlImpowerNode) registry.get((String) keys.next());
     node.setTmpIcon(null);
   }
   // 给角色拥有的权限赋图标
   while (it.hasNext()) {
     SysRightRole srr = (SysRightRole) it.next();
     String leafRightId = srr.getSysLeafRight().getId();
     ViewTreeControlImpowerNode lnode = (ViewTreeControlImpowerNode) registry.get(leafRightId);
     if (lnode != null) lnode.setTmpIcon(tmpIcon);
   }
 }