⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leafpriv.java

📁 oa 源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                String[] privs = user.getPrivs();        if (privs!=null) {            int len = privs.length;            for (int i=0; i<len; i++) {                                if (privs[i].equals(PrivDb.PRIV_ADMIN)) {                    logger.info("canUserDo: has admin pirv");                    return true;                }            }        }        UserGroupDb[] groups = user.getGroups();        RoleDb[] roles = user.getRoles();                        for (int i = 0; i < groups.length; i++)            if (groups[i].getCode().equals(groups[i].ADMINISTRATORS))                return true;        logger.info("privType=" + privType + " dirCode=" + dirCode + " name=" + lf.getName() + " code=" + lf.getCode() + " parentCode=" + lf.getParentCode());        if (canUserDo(lf, user, groups, roles, privType))            return true;                String parentCode = lf.getParentCode();                while (!parentCode.equals(Leaf.PARENT_CODE_NONE)) {            logger.info("canUserDo: dirCode=" + dirCode + " parentCode=" + parentCode + " privType=" + privType);            Leaf plf = lf.getLeaf(parentCode);            if (plf==null || !plf.isLoaded())                return false;            if (canUserDo(plf, user, groups, roles, privType))                return true;            parentCode = plf.getParentCode();        }        return false;    }        public boolean canUserAppend(String username) {        return canUserDo(username, this.PRIV_APPEND);    }    public boolean canUserDel(String username) {        return canUserDo(username, this.PRIV_DEL);    }    public boolean canUserModify(String username) {        return canUserDo(username, this.PRIV_MODIFY);    }    public boolean canUserExamine(String username) {        return canUserDo(username, this.PRIV_EXAMINE);    }    public boolean add(String dirCode) throws            ErrMsgException {        return add(UserGroupDb.EVERYONE, TYPE_USERGROUP);    }    public boolean add(String name, int type) throws            ErrMsgException {                Conn conn = new Conn(connname);        boolean r = false;        try {            PreparedStatement ps = conn.prepareStatement(QUERY_ADD);            ps.setString(1, name);            ps.setInt(2, type);            ps.setInt(3, see);            ps.setInt(4, append);            ps.setInt(5, del);            ps.setInt(6, modify);            ps.setInt(7, examine);            ps.setString(8, dirCode);            r = conn.executePreUpdate() == 1 ? true : false;                        Leaf lf = new Leaf();            lf = lf.getLeaf(dirCode);            if (lf!=null && lf.isLoaded()) {                lf.setShared(true);                lf.update();            }        } catch (SQLException e) {            logger.error("add:" + e.getMessage());            throw new ErrMsgException("请检查节点是否已存在!");        }        finally {            if (conn!=null) {                conn.close();                conn = null;            }        }        return r;    }    public LeafPriv getLeafPriv(int id) {        LeafPriv leafPriv = null;        try {            leafPriv = new LeafPriv(id);        } catch (Exception e) {            logger.error(e.getMessage());        }        return leafPriv;    }    public boolean delPrivsOfDir() {        RMConn rmconn = new RMConn(connname);        boolean r = false;        try {            String sql = "delete from netdisk_dir_priv where dir_code=?";            PreparedStatement ps = rmconn.prepareStatement(sql);            ps.setString(1, dirCode);            r = rmconn.executePreUpdate() == 1 ? true : false;        } catch (SQLException e) {            logger.error(e.getMessage());            return false;        }        return r;    }    public boolean delPrivsOfUserOrGroup(String username) {        RMConn rmconn = new RMConn(connname);        boolean r = false;        try {            String sql = "delete from netdisk_dir_priv where name=?";            PreparedStatement ps = rmconn.prepareStatement(sql);            ps.setString(1, username);            r = rmconn.executePreUpdate() == 1 ? true : false;        } catch (SQLException e) {            logger.error(e.getMessage());            return false;        }        return r;    }    public boolean del() {        boolean r = false;        PreparedStatement ps = null;        ResultSet rs = null;        String sql = "select count(id) from netdisk_dir_priv where dir_code=?";        Conn conn = new Conn(connname);        try {            ps = conn.prepareStatement(QUERY_DEL);            ps.setInt(1, id);            r = conn.executePreUpdate() == 1 ? true : false;            if (ps!=null) {                ps.close();                ps = null;            }            ps = conn.prepareStatement(sql);            ps.setString(1, dirCode);            rs = conn.executePreQuery();            if (rs!=null && rs.next()) {                int count = rs.getInt(1);                                if (count==0) {                    Leaf lf = new Leaf();                    lf = lf.getLeaf(dirCode);                    lf.setShared(false);                    lf.update();                }            }        } catch (SQLException e) {            logger.error(e.getMessage());            return false;        }        finally {            if (rs != null) {                try {                    rs.close();                } catch (Exception e) {}                rs = null;            }            if (ps != null) {                try {                    ps.close();                } catch (Exception e) {}                ps = null;            }            if (conn!=null) {                conn.close();                conn = null;            }        }        return r;    }    public int getSee() {        return see;    }    public void setSee(int see) {        this.see = see;    }    public int getAppend() {        return append;    }    public void setAppend(int a) {        this.append = a;    }    public int getDel() {        return del;    }    public void setDel(int d) {        this.del = d;    }    public int getModify() {        return modify;    }    public int getExamine() {        return examine;    }    public void setModify(int m) {        this.modify = m;    }    public void setExamine(int examine) {        this.examine = examine;    }    public ListResult list(String listsql, int curPage, int pageSize) throws            ErrMsgException {        int total = 0;        ResultSet rs = null;        Vector result = new Vector();        Conn conn = new Conn(connname);        try {                        String countsql = SQLFilter.getCountSql(listsql);            rs = conn.executeQuery(countsql);            if (rs != null && rs.next()) {                total = rs.getInt(1);            }            if (rs != null) {                rs.close();                rs = null;            }            if (total != 0)                conn.setMaxRows(curPage * pageSize);             rs = conn.executeQuery(listsql);            if (rs == null) {                return null;            } else {                rs.setFetchSize(pageSize);                int absoluteLocation = pageSize * (curPage - 1) + 1;                if (rs.absolute(absoluteLocation) == false) {                    return null;                }                do {                    LeafPriv lp = getLeafPriv(rs.getInt(1));                    result.addElement(lp);                } while (rs.next());            }        } catch (SQLException e) {            logger.error(e.getMessage());            throw new ErrMsgException("数据库出错!");        } finally {            if (rs != null) {                try {                    rs.close();                } catch (Exception e) {}                rs = null;            }            if (conn != null) {                conn.close();                conn = null;            }        }        ListResult lr = new ListResult();        lr.setResult(result);        lr.setTotal(total);        return lr;    }        public Vector list() {        ResultSet rs = null;        Conn conn = new Conn(connname);        Vector result = new Vector();        PreparedStatement ps = null;        try {            ps = conn.prepareStatement(QUERY_LIST);            ps.setString(1, dirCode);            rs = ps.executeQuery();            if (rs == null) {                return null;            } else {                while (rs.next()) {                    LeafPriv lp = getLeafPriv(rs.getInt(1));                    result.addElement(lp);                }            }        } catch (Exception e) {            logger.error("list: " + e.getMessage());        } finally {                        if (conn != null) {                conn.close();                conn = null;            }        }        return result;    }    private boolean loaded = false;    private int examine = 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -