JdbcStorageImpl.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:3k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.core.storage.jdbc;
  2. import net.javacoding.jspider.core.storage.spi.*;
  3. import net.javacoding.jspider.core.util.config.PropertySet;
  4. import net.javacoding.jspider.core.logging.LogFactory;
  5. import java.sql.*;
  6. /**
  7.  * $Id: JdbcStorageImpl.java,v 1.8 2003/04/11 16:37:06 vanrogu Exp $
  8.  *
  9.  * @author G黱ther Van Roey
  10.  *
  11.  * @todo DAO's need caching - definitely !
  12.  * @todo find a good way of cleaning the store at spidering start or layering it per spider session
  13.  */
  14. class JdbcStorageImpl implements StorageSPI {
  15.     protected SiteDAOSPI siteDAO;
  16.     protected ResourceDAOSPI resourceDAO;
  17.     protected ContentDAOSPI contentDAO;
  18.     protected DecisionDAOSPI decisionDAO;
  19.     protected CookieDAOSPI cookieDAO;
  20.     protected EMailAddressDAOSPI emailAddressDAO;
  21.     protected FolderDAOSPI folderDAO;
  22.     public JdbcStorageImpl(PropertySet props) {
  23.         DBUtil dbUtil = new DBUtil(props);
  24.         siteDAO = new SiteDAOImpl(this,dbUtil);
  25.         resourceDAO = new ResourceDAOImpl(this,dbUtil);
  26.         contentDAO = new ContentDAOImpl(this,dbUtil);
  27.         decisionDAO = new DecisionDAOImpl(this,dbUtil);
  28.         cookieDAO = new CookieDAOImpl(this,dbUtil);
  29.         emailAddressDAO = new EMailAddressDAOImpl(this,dbUtil);
  30.         folderDAO = new FolderDAOImpl(this, dbUtil);
  31.         clearDatabase ( dbUtil );
  32.     }
  33.     protected void clearDatabase ( DBUtil dbUtil ) {
  34.         Connection connection = dbUtil.getConnection();
  35.         try {
  36.             Statement st = connection.createStatement();
  37.             st.executeUpdate("delete from jspider_site");
  38.             st.executeUpdate("delete from jspider_resource");
  39.             st.executeUpdate("delete from jspider_content");
  40.             st.executeUpdate("delete from jspider_cookie");
  41.             st.executeUpdate("delete from jspider_resource_reference");
  42.             st.executeUpdate("delete from jspider_decision");
  43.             st.executeUpdate("delete from jspider_decision_step");
  44.             st.executeUpdate("delete from jspider_email_address");
  45.             st.executeUpdate("delete from jspider_email_address_reference");
  46.             st.executeUpdate("delete from jspider_folder");
  47.         } catch (SQLException e) {
  48.             LogFactory.getLog(JdbcStorageImpl.class).error("SQLException during emtpy of database", e);
  49.         }
  50.     }
  51.     public FolderDAOSPI getFolderDAO() {
  52.         return folderDAO;
  53.     }
  54.     public SiteDAOSPI getSiteDAO() {
  55.         return siteDAO;
  56.     }
  57.     public ResourceDAOSPI getResourceDAO() {
  58.         return resourceDAO;
  59.     }
  60.     public ContentDAOSPI getContentDAO() {
  61.         return contentDAO;
  62.     }
  63.     public DecisionDAOSPI getDecisionDAO() {
  64.         return decisionDAO;
  65.     }
  66.     public CookieDAOSPI getCookieDAO() {
  67.         return cookieDAO;
  68.     }
  69.     public EMailAddressDAOSPI getEMailAddressDAO() {
  70.         return emailAddressDAO;
  71.     }
  72. }