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

📄 jahiasiteusermanagerdbservice.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			}							    } catch (JahiaException je) {	        String errorMsg = "Error in dbRemoveMember(JahiaUser user) : " + je.getMessage();            JahiaConsole.println( "JahiaSiteUserManagerDBService", errorMsg + " -> BAILING OUT" );	        throw new JahiaException(   "Cannot get member from the database",	                                    errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL );	    }				return members;    }    //-------------------------------------------------------------------------    /**     * Check if a user has or not access on a site.     *     * @param int siteID, the site identifier     * @param String username, the site identifier     * @return Return the user if not null.	 * @author  Khue Ng     */    public JahiaUser getMember (int siteID, String username) throws JahiaException {		JahiaUser user = null;		Connection dbConn = null;        Statement statement = null;		try {				        SiteUserBean suBean = null;	        dbConn = getDBConnection();            statement = dbConn.createStatement();            if (statement != null) {				StringBuffer query = new StringBuffer("select * from jahia_sites_users where siteid_sites_users=");				query.append(siteID);				query.append(" and username_sites_users='");				query.append(username);				query.append("'");                ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery( statement,query.toString() );                if (rs != null) {	            	while (rs.next()) {                   		suBean = getSiteUserBeanFromResultSet(rs);						if ( suBean != null ){							user = ServicesRegistry.getInstance().getJahiaUserManagerService().lookupUser(suBean.userID);						}	                    }                }            }	    } catch (SQLException se) {	        String errorMsg = "Error in isMember : " + se.getMessage();            JahiaConsole.println( "JahiaSiteUserManagerDNService", errorMsg + " -> BAILING OUT" );	        throw new JahiaException(   "Cannot load sites from the database",	                                    errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL );	    } catch (JahiaException je) {	        String errorMsg = "Error in isMember(siteid, username) : " + je.getMessage();            JahiaConsole.println( "JahiaSiteUserManagerDBService", errorMsg + " -> BAILING OUT" );	        throw new JahiaException(   "Cannot get data from the database",	                                    errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL );	    } finally {            closeDBConnection (dbConn);            closeStatement (statement);		}				return user;    }    //-------------------------------------------------------------------------	/**	 * Build a SiteUserBean from a resultset	 *	 * @return JahiaSite the site bean	 */	protected SiteUserBean getSiteUserBeanFromResultSet(ResultSet rs) throws JahiaException {			SiteUserBean suBean 	= null;				if ( rs != null ){						String username			= null;						int siteID				= -1;			String userID			= null;			try {			       						username			= rs.getString("username_sites_users");           		siteID 				= rs.getInt("siteid_sites_users");				userID				= rs.getString("userid_sites_users");           		           	}catch ( SQLException se ){		        String errorMsg = "Error in getSiteUserBeanFromResultSet(rs) : " + se.getMessage();    	        JahiaConsole.println( "JahiaSiteUserManagerDBService", errorMsg + " -> BAILING OUT" );	    	    throw new JahiaException(   "Cannot read data from resultset",	                                    errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL );           	}   			suBean = new SiteUserBean(	       								username,           								siteID,           								userID           							);			}			return suBean;	}    //--------------------------------------------------------------------------	/**	 * return a DOM document of all users membership of a site	 *	 * @param int the site id	 *	 * @return JahiaDOMObject a DOM representation of this object	 *	 * @author NK	 */	public JahiaDOMObject getUserMembershipsAsDOM( int siteID )	throws JahiaException{			Connection dbConn = null;        Statement statement = null;		String output = null;		JahiaDBDOMObject dom = null;			    try {            String sqlQuery = "SELECT * FROM jahia_sites_users where siteid_sites_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_sites_users",rs);					return dom;				}			}	    } catch (SQLException se) {	        String errorMsg = "Error in getUserMembershipsAsDOM(int siteID) : " + se.getMessage();            JahiaConsole.println( "JahiaSiteUsermanagerDBService", errorMsg );	        throw new JahiaException(   "Cannot load data from the database",	                                    errorMsg, JahiaException.DATABASE_ERROR,	                                    JahiaException.CRITICAL );	    } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }		return dom;	}    //--------------------------------------------------------------------------	/**	 * return a DOM document of external users ( from other site except server admin ) 	 * that have membership access on this site	 *	 * @param int the site id	 *	 * @return JahiaDOMObject a DOM representation of this object	 *	 * @author NK	 */	public JahiaDOMObject getAuthExternalUsersAsDOM( 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 <>0 AND siteid_jahia_users <>"+siteID            +" AND name_jahia_users IN "            +"(SELECT username_sites_users from jahia_sites_users where siteid_sites_users="            +siteID+") AND key_jahia_users IN "            +"(SELECT userid_sites_users from jahia_sites_users where siteid_sites_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 getAuthExternalUsersAsDOM(int siteID) : " + se.getMessage();            JahiaConsole.println( "JahiaSiteUsermanagerDBService", errorMsg );	        throw new JahiaException(   "Cannot load data from the database",	                                    errorMsg, JahiaException.DATABASE_ERROR,	                                    JahiaException.CRITICAL );	    } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }		return dom;	}    //-------------------------------------------------------------------------    private void executeQueryNoResultSet(String queryStr) throws JahiaException    {		Connection dbConn = null;        Statement statement = null;				try {			dbConn = getDBConnection();            statement = dbConn.createStatement();            if (statement != null) {                ServicesRegistry.getInstance().getDBPoolService().executeUpdate(statement,queryStr);			}	    } catch (SQLException se) {	        String errorMsg = "Error in executeQueryNoResultSet(String queryStr) : " + se.getMessage();            JahiaConsole.println( "JahiaSiteUserManagerDBService", errorMsg + " -> BAILING OUT" );	        throw new JahiaException(   "Cannot execute query" + queryStr,	                                    errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL );	    } finally {            closeDBConnection (dbConn);            closeStatement (statement);        }    }    //-------------------------------------------------------------------------    private Connection getDBConnection ()    {        Connection dbConn = null;        try {            dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection ();        }        catch (NullPointerException ex) {            JahiaConsole.println ("JahiaSiteUserManagerDBService", "Null Pointer Exception, DB Pool Service instance might be null!");        }        catch (SQLException ex) {            JahiaConsole.println ("JahiaSiteUserManagerDBService", "SQL Exception: cannot get a connection.");        }        return dbConn;    }    //-------------------------------------------------------------------------    private Connection getDBConnection (int debugInfo)    {        Connection dbConn = null;        try {            dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection (debugInfo);        }        catch (NullPointerException ex) {            JahiaConsole.println ("JahiaSiteUserManagerDBService", "Null Pointer Exception, DB Pool Service instance might be null!");        }        catch (SQLException ex) {            JahiaConsole.println ("JahiaSiteUserManagerDBService", "SQL Exception: cannot get a connection.");        }        return dbConn;    }    //-------------------------------------------------------------------------    private void closeDBConnection (Connection dbConn)    {        if (dbConn != null) {            try {                ServicesRegistry.getInstance().getDBPoolService().freeConnection (dbConn);            }            catch (SQLException sqlEx) {                // just create an exception without raising it, just to notify it                // in the logs.                JahiaException je = new JahiaException ("Cannot free resources",                        "Cannot free resources", JahiaException.DATABASE_ERROR,                        JahiaException.WARNING);            }            catch (NullPointerException ex) {                JahiaConsole.println ("JahiaSiteUserManagerDBService", "Null Pointer Exception, DB Pool Service instance might be null!");            }        }    }    //-------------------------------------------------------------------------    private void closeStatement (Statement statement)    {        // Close the opened statement        try {            if (statement!=null) {                statement.close();            }        }        catch (SQLException sqlEx) {            // just create an exception without raising it, just to notify it            // in the logs.            JahiaException je = new JahiaException ("Cannot close a statement",                    "Cannot close a statement", JahiaException.DATABASE_ERROR,                    JahiaException.WARNING);        }    }}

⌨️ 快捷键说明

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