コード例 #1
0
 @Override
 public Menu edit(Menu menu) {
   Tmenu t = menuDao.get(Tmenu.class, menu.getId()); // 要修改的权限
   if (t != null) {
     BeanUtils.copyProperties(menu, t);
     t.setIconcls(menu.getIconCls());
     t.setTmenu(null); // 现将当前节点的父节点置空
     if (menu.getPid() != null
         && !menu.getPid().trim().equals("")
         && !menu.getPid().equals(menu.getId())) {
       // 如果pid不为空,并且pid不跟自己的id相同,说明要修改当前节点的父节点
       Tmenu pmenu = menuDao.get(Tmenu.class, menu.getPid()); // 要设置的上级权限
       if (pmenu != null) {
         if (isDown(t, pmenu)) { // 要将当前节点修改到当前节点的子节点中
           Set<Tmenu> tmenus = t.getTmenus(); // 当前要修改的权限的所有下级权限
           if (tmenus != null && tmenus.size() > 0) {
             for (Tmenu tmenu : tmenus) {
               if (tmenu != null) {
                 tmenu.setTmenu(null);
               }
             }
           }
         }
         t.setTmenu(pmenu);
       }
     }
   }
   return menu;
 }
コード例 #2
0
 private void del(Tmenu r) {
   Set<Tmenu> s = r.getTmenus();
   if (s != null && !s.isEmpty()) {
     for (Tmenu t : s) {
       del(t);
     }
   }
   menuDao.delete(r);
 }