📄 jahiasitespersistance.java
字号:
} else { sqlQuery.append(0); } sqlQuery.append(","); sqlQuery.append(site.getAclID()); sqlQuery.append(",'"); sqlQuery.append(JahiaTools.quote(site.getDescr())); sqlQuery.append("')"); executeQueryNoResultSet(sqlQuery.toString()); JahiaConsole.println("JahiaSitesPersistance.dbAddSite", sqlQuery.toString()); site.setID(id); } catch (JahiaException je) { String errorMsg = "Error in dbAddSite(JahiaSite site) : " + je.getMessage(); JahiaConsole.println( "JahiaSitesPersistance", errorMsg + " -> BAILING OUT" ); throw new JahiaException( "Cannot add site in the database", errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL ); } } //-------------------------------------------------------------------------- /** * remove a site * * @param int the site id */ public void dbRemoveSite( int id ) throws JahiaException{ try { String sqlQuery = "DELETE FROM jahia_sites WHERE id_jahia_sites=" + id; executeQueryNoResultSet(sqlQuery); } catch (JahiaException je) { String errorMsg = "Error in dbRemoveSite(int id) : " + je.getMessage(); JahiaConsole.println( "JahiaSitesPersistance", errorMsg + " -> BAILING OUT" ); throw new JahiaException( "Cannot remove site in the database", errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL ); } } //-------------------------------------------------------------------------- /** * Update a JahiaSite definition * * @param JahiaSite the site bean object */ public void dbUpdateSite( JahiaSite site ) throws JahiaException { try { StringBuffer sqlQuery = new StringBuffer("UPDATE jahia_sites SET "); sqlQuery.append("id_jahia_sites="); sqlQuery.append(site.getID()); sqlQuery.append(", title_jahia_sites='"); sqlQuery.append(JahiaTools.quote(site.getTitle())); sqlQuery.append("', servername_jahia_sites='"); sqlQuery.append(JahiaTools.quote(site.getServerName())); sqlQuery.append("', key_jahia_sites='"); sqlQuery.append(JahiaTools.quote(site.getSiteKey())); sqlQuery.append("', active_jahia_sites="); if ( site.isActive() ){ sqlQuery.append(1); } else { sqlQuery.append(0); } sqlQuery.append(", defaultpageid_jahia_sites="); sqlQuery.append(site.getHomePageID()); sqlQuery.append(", defaulttemplateid_jahia_sites="); sqlQuery.append(site.getDefaultTemplateID()); sqlQuery.append(", tpl_deploymode_jahia_sites="); if ( site.getTemplatesAutoDeployMode() ){ sqlQuery.append(1); } else { sqlQuery.append(0); } sqlQuery.append(", webapps_deploymode_jahia_sites="); if ( site.getWebAppsAutoDeployMode() ){ sqlQuery.append(1); } else { sqlQuery.append(0); } sqlQuery.append(", rights_jahia_sites="); sqlQuery.append(site.getAclID()); sqlQuery.append(", descr_jahia_sites='"); sqlQuery.append(JahiaTools.quote(site.getDescr())); sqlQuery.append("' where id_jahia_sites="); sqlQuery.append(site.getID()); executeQueryNoResultSet(sqlQuery.toString()); } catch (JahiaException je) { String errorMsg = "Error in dbUpdateSite( JahiaSite site ) : " + je.getMessage(); JahiaConsole.println( "JahiaSitesPersistance", errorMsg + " -> BAILING OUT" ); throw new JahiaException( "Cannot update site in the database", errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL ); } } //-------------------------------------------------------------------------- /** * Build a JahiaSite bean from a result set * * @return JahiaSite the site bean */ protected JahiaSite getJahiaSiteFromResultSet(ResultSet rs) throws JahiaException { JahiaSite site = null; if ( rs != null ){ int id = 0; String title = ""; String serverName = ""; String siteKey = ""; boolean isActive = false; int defaultPageID = -1; int defaultTemplateID = -1; boolean templatesAutoDeployMode = true; boolean webAppsAutoDeployMode = true; String descr = ""; int aclID = 0; try { id = rs.getInt("id_jahia_sites"); title = rs.getString("title_jahia_sites"); serverName = rs.getString("servername_jahia_sites"); siteKey = rs.getString("key_jahia_sites"); isActive = (rs.getInt("active_jahia_sites")==1); defaultPageID = rs.getInt("defaultpageid_jahia_sites"); defaultTemplateID = rs.getInt("defaulttemplateid_jahia_sites"); templatesAutoDeployMode = (rs.getInt("tpl_deploymode_jahia_sites")==1); webAppsAutoDeployMode = (rs.getInt("webapps_deploymode_jahia_sites")==1); aclID = rs.getInt("rights_jahia_sites"); descr = rs.getString("descr_jahia_sites"); }catch ( SQLException se ){ String errorMsg = "Error in getJahiaSiteFromResultSet(rs) : " + se.getMessage(); JahiaConsole.println( "JahiaSitesPersistance", errorMsg + " -> BAILING OUT" ); throw new JahiaException( "Cannot read data from resultset", errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL ); } JahiaBaseACL acl = null; try { acl = new JahiaBaseACL(); acl.load(aclID); } catch ( JahiaException je ){ String errorMsg = "Error site acl not found : " + je.getMessage(); JahiaConsole.println( "JahiaSitesPersistance.getSiteFromResultset", errorMsg); acl = null; } site = new JahiaSite( id, title, serverName, siteKey, isActive, defaultPageID, descr, acl, null ); site.setDefaultTemplateID(defaultTemplateID); site.setTemplatesAutoDeployMode(templatesAutoDeployMode); site.setWebAppsAutoDeployMode(webAppsAutoDeployMode); } return site; } //-------------------------------------------------------------------------- /** * generate the order sql condition * */ private String getOrderCond (int orderType){ // default order String orderCond = " ORDER BY title_jahia_sites "; switch (orderType) { case ORDER_BY_SERVER_NAME : orderCond = " ORDER BY servername_jahia_sites "; break; } return orderCond; } //------------------------------------------------------------------------- // FH 2 May 2001 /** Return the amount of sites in the database. * * @return * The amount of sites. */ public synchronized int getNbSites () throws JahiaDatabaseException { int counter = -1; Connection dbConn = getDBConnection (); if (dbConn != null) { StringBuffer query = new StringBuffer (); Statement statement = null; try { query.append("SELECT COUNT("); query.append(FIELD_KEY_SITES); query.append(") as nbItems FROM "); query.append(JAHIA_SITES); statement = dbConn.createStatement(); if (statement != null) { ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery (statement,query.toString()); if (rs != null) { if (rs.next()) { counter = rs.getInt ("nbItems"); } } rs = null; } } catch (SQLException ex) { throw new JahiaDatabaseException ("Database error.", ex, JahiaDatabaseException.ERROR); } finally { query = null; closeDBConnection (dbConn); closeStatement (statement); } } return counter; } //-------------------------------------------------------------------------- /** * Returns a properties as a String. * * @param int siteid * @param String the property name */ String getProperty( int siteID , String key ) throws JahiaException { Connection dbConn = null; Statement statement = null; String value = null; if ( (key == null) || (key.trim().equals("")) ) return null; try { StringBuffer buff = new StringBuffer("SELECT value_jahia_site_prop FROM jahia_site_prop WHERE id_jahia_site="); buff.append(siteID); buff.append(" AND name_jahia_site_prop='"); buff.append(JahiaTools.quote(key)); buff.append("'"); dbConn = getDBConnection(); statement = dbConn.createStatement(); if (statement != null) { ResultSet rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery( statement,buff.toString() ); if (rs != null) { if ( rs.next() ){ value = rs.getString("value_jahia_site_prop"); } } } } catch (SQLException se) { JahiaConsole.println( CLASS_NAME+".getProperty(siteID,key)", se.getMessage() ); throw new JahiaException( CLASS_NAME+".getProperty(siteID,key)", "Cannot load site's prop from the database" + se.getMessage(), JahiaException.DATABASE_ERROR, JahiaException.CRITICAL ); } finally { closeDBConnection (dbConn); closeStatement (statement); } return value;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -