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

📄 jahiausermanagerdbprovider.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
            try {                if ( siteID != -1 ){                    query.append ("SELECT COUNT(*)");                    query.append (" as nbItems FROM ");                    query.append (JAHIA_USERS);                    query.append (" WHERE siteid_jahia_users=");                    query.append (siteID);                } else {                    query.append ("SELECT COUNT(");                    query.append (FIELD_USER_KEY_USERS);                    query.append (") as nbItems FROM ");                    query.append (JAHIA_USERS);                }                statement = dbConn.createStatement();                if (statement != null) {                    ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery (statement,query.toString());                    //JahiaConsole.println("JahiaUserManagerDBProvider.getNbUsers",query.toString());                    if (rs != null) {                        if (rs.next()) {                            counter = rs.getInt ("nbItems");                        }                    }                    // Result set not needed anymore.                    rs = null;                }            }            catch (SQLException ex) {                throw new JahiaDatabaseException ("Database error.", ex,                    JahiaDatabaseException.ERROR);            }            finally {                query = null;                closeDBConnection (dbConn);                closeStatement (statement);            }        }        return counter;    }    //-------------------------------------------------------------------------    /**     * This method returns the list of this site's users' ids.     *     * @return Return a vector of strings holding the user ids .     */    private Vector getUserIds (int siteID){        Vector result = new Vector();        // Get a database connection        Connection  dbConn = getDBConnection (1000);        if (dbConn == null) {            return result;        }        // execute the SELECT query        Statement statement = null;        try        {            statement = dbConn.createStatement();            if (statement != null)            {                // Get the basic user data                String query = "SELECT id_jahia_users FROM jahia_users WHERE siteid_jahia_users=" + siteID;                ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery(statement,query);                if (rs != null) {                    while (rs.next())                    {                        int id = rs.getInt ("id_jahia_users");                        result.add (new Integer(id));                    }                }            }        }        catch (SQLException ex)        {            toConsole ("SQL Exception occured!");            // FIXME -Fulco- : Don't know yet what to do with this exception.            //                 It should be logged somewhere !        }        finally        {            closeDBConnection (dbConn);            closeStatement (statement);        }        return result;    }    //--------------------------------------------------------------------------    /**     * return a DOM document of all users of a site     *     * @param int the site id     *     * @return JahiaDOMObject a DOM representation of this object     *     * @author NK     */    public JahiaDOMObject getUsersAsDOM( int siteID )    throws JahiaException{        Connection dbConn = null;        Statement statement = null;        String output = null;        JahiaDBDOMObject dom = null;        try {            String sqlQuery = "SELECT * FROM jahia_users where siteid_jahia_users="+siteID;            dbConn = getDBConnection(0);            statement = dbConn.createStatement();            if (statement != null) {                ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery( statement,sqlQuery );                if (rs != null) {                    dom = new JahiaDBDOMObject();                    dom.addTable("jahia_users",rs);                    return dom;                }            }        } catch (SQLException se) {            String errorMsg = "Error in getUsersAsDOM(int siteID) : " + se.getMessage();            JahiaConsole.println( "JahiaUserManagerDBService", errorMsg );            throw new JahiaException(   "Cannot load users from the database",                                        errorMsg, JahiaException.DATABASE_ERROR,                                        JahiaException.CRITICAL );        } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }        return dom;    }    //--------------------------------------------------------------------------    /**     * return a DOM document of all user props of a site     *     * @param int the site id     *     * @return JahiaDOMObject a DOM representation of this object     *     * @author NK     */    public JahiaDOMObject getUserPropsAsDOM( int siteID )    throws JahiaException{        Connection dbConn = null;        Statement statement = null;        String output = null;        JahiaDBDOMObject dom = null;        try {            String sqlQuery = "SELECT DISTINCT jahia_user_prop.id_jahia_users,jahia_user_prop.name_jahia_user_prop,jahia_user_prop.value_jahia_user_prop FROM jahia_user_prop ,jahia_users WHERE jahia_user_prop.id_jahia_users="            +"jahia_users.id_jahia_users AND jahia_users.siteid_jahia_users="+siteID;            dbConn = getDBConnection(0);            statement = dbConn.createStatement();            if (statement != null) {                ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery( statement,sqlQuery );                if (rs != null) {                    dom = new JahiaDBDOMObject();                    dom.addTable("jahia_user_prop",rs);                    return dom;                }            }        } catch (SQLException se) {            String errorMsg = "Error in getUserPropsAsDOM(int siteID) : " + se.getMessage();            JahiaConsole.println( "JahiaUserManagerDBService", errorMsg );            throw new JahiaException(   "Cannot load users props from the database",                                        errorMsg, JahiaException.DATABASE_ERROR,                                        JahiaException.CRITICAL );        } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }        return dom;    }    //--------------------------------------------------------------------------    /**     * return a DOM document of all user group access for a site     *     * @param int the site id     *     * @return JahiaDOMObject a DOM representation of this object     *     * @author NK     */    public JahiaDOMObject getUserGroupAccessAsDOM( int siteID )    throws JahiaException{        Connection dbConn = null;        Statement statement = null;        String output = null;        JahiaDBDOMObject dom = null;        try {            String sqlQuery = "SELECT DISTINCT jahia_grp_access.id_jahia_member,"            +"jahia_grp_access.id_jahia_grps,jahia_grp_access.membertype_grp_access"            +" FROM jahia_grp_access,jahia_users,jahia_grps  "            +"WHERE (jahia_grp_access.membertype_grp_access=1 "            +"AND jahia_grp_access.id_jahia_member="            +"jahia_users.key_jahia_users AND jahia_users.siteid_jahia_users="+siteID+") "            +"OR (jahia_grp_access.membertype_grp_access=2 AND jahia_grp_access.id_jahia_member="            +"jahia_grps.key_jahia_grps AND jahia_grps.siteid_jahia_grps="+siteID+")";            dbConn = getDBConnection(0);            statement = dbConn.createStatement();            if (statement != null) {                ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery( statement,sqlQuery );                if (rs != null) {                    dom = new JahiaDBDOMObject();                    dom.addTable("jahia_grp_access",rs);                    return dom;                }            }        } catch (SQLException se) {            String errorMsg = "Error in getUserGroupAccessAsDOM(int siteID) : " + se.getMessage();            JahiaConsole.println( "JahiaGroupManagerDBService", errorMsg );            throw new JahiaException(   "Cannot load groups from the database",                                        errorMsg, JahiaException.DATABASE_ERROR,                                        JahiaException.CRITICAL );        } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }        return dom;    }    //--------------------------------------------------------------------------    private void toConsole (String message)    {        JahiaConsole.println ("UserManager", message);    }    //-------------------------------------------------------------------------    private boolean isNameValid (String name)    {        if (name == null) {            return false;        }        if (name.length() == 0) {            return false;        }        String authorizedCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789{}";        char[] chars = authorizedCharacters.toCharArray();        char[] nameBuffer = name.toCharArray();        boolean badCharFound = false;        int i = 0;        while ((i < nameBuffer.length) && (!badCharFound))        {            int j = 0;            boolean ok = false;            while ((j < chars.length) && (!ok))            {                if (chars[j] == nameBuffer[i]) {                    ok = true;                }                j++;            }            badCharFound = (!ok);            if (badCharFound) {                JahiaConsole.println("JahiaUserManagerDBProvider.isNameValid",                                     "Bad character found in user name [" +                                     name + "] at position " +                                     Integer.toString(i));            }            i++;        }        return (!badCharFound);    }    //-------------------------------------------------------------------------    private Connection getDBConnection (int debugInfo)    {        Connection dbConn = null;        try {            dbConn = mDBPoolService.getConnection (debugInfo);        }        catch (NullPointerException ex) {            toConsole ("Null Pointer Exception, DB Pool Service instance might be null!");        }        catch (SQLException ex) {            toConsole ("SQL Exception: cannot get a connection.");        }        return dbConn;    }    //-------------------------------------------------------------------------    private void closeDBConnection (Connection dbConn)    {        if ((mDBPoolService != null) && (dbConn != null)) {            try {                mDBPoolService.freeConnection (dbConn);            }            catch (SQLException sqlEx) {                // FIXME -Fulco- : Don't know yet what to do with this exception.                //                 It should be logged somewhere !            }        }    }    //-------------------------------------------------------------------------    private void closeStatement (Statement statement)    {        // Close the opened statement        try {            if (statement!=null) {                statement.close();            }        }        catch (SQLException sqlEx) {            // FIXME -Fulco- : Don't know yet what to do with this exception.            //                 It should be logged somewhere !        }    }}

⌨️ 快捷键说明

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