KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > javacoding > jspider > core > storage > jdbc > JdbcStorageImpl


1 package net.javacoding.jspider.core.storage.jdbc;
2
3
4 import net.javacoding.jspider.core.storage.spi.*;
5 import net.javacoding.jspider.core.util.config.PropertySet;
6 import net.javacoding.jspider.core.logging.LogFactory;
7
8 import java.sql.*;
9
10
11 /**
12  * $Id: JdbcStorageImpl.java,v 1.8 2003/04/11 16:37:06 vanrogu Exp $
13  *
14  * @author Günther Van Roey
15  *
16  * @todo DAO's need caching - definitely !
17  * @todo find a good way of cleaning the store at spidering start or layering it per spider session
18  */

19 class JdbcStorageImpl implements StorageSPI {
20
21     protected SiteDAOSPI siteDAO;
22     protected ResourceDAOSPI resourceDAO;
23     protected ContentDAOSPI contentDAO;
24     protected DecisionDAOSPI decisionDAO;
25     protected CookieDAOSPI cookieDAO;
26     protected EMailAddressDAOSPI emailAddressDAO;
27     protected FolderDAOSPI folderDAO;
28
29     public JdbcStorageImpl(PropertySet props) {
30         DBUtil dbUtil = new DBUtil(props);
31         siteDAO = new SiteDAOImpl(this,dbUtil);
32         resourceDAO = new ResourceDAOImpl(this,dbUtil);
33         contentDAO = new ContentDAOImpl(this,dbUtil);
34         decisionDAO = new DecisionDAOImpl(this,dbUtil);
35         cookieDAO = new CookieDAOImpl(this,dbUtil);
36         emailAddressDAO = new EMailAddressDAOImpl(this,dbUtil);
37         folderDAO = new FolderDAOImpl(this, dbUtil);
38         clearDatabase ( dbUtil );
39     }
40
41     protected void clearDatabase ( DBUtil dbUtil ) {
42         Connection connection = dbUtil.getConnection();
43         try {
44             Statement st = connection.createStatement();
45             st.executeUpdate("delete from jspider_site");
46             st.executeUpdate("delete from jspider_resource");
47             st.executeUpdate("delete from jspider_content");
48             st.executeUpdate("delete from jspider_cookie");
49             st.executeUpdate("delete from jspider_resource_reference");
50             st.executeUpdate("delete from jspider_decision");
51             st.executeUpdate("delete from jspider_decision_step");
52             st.executeUpdate("delete from jspider_email_address");
53             st.executeUpdate("delete from jspider_email_address_reference");
54             st.executeUpdate("delete from jspider_folder");
55         } catch (SQLException e) {
56             LogFactory.getLog(JdbcStorageImpl.class).error("SQLException during emtpy of database", e);
57         }
58
59     }
60
61     public FolderDAOSPI getFolderDAO() {
62         return folderDAO;
63     }
64
65     public SiteDAOSPI getSiteDAO() {
66         return siteDAO;
67     }
68
69     public ResourceDAOSPI getResourceDAO() {
70         return resourceDAO;
71     }
72
73     public ContentDAOSPI getContentDAO() {
74         return contentDAO;
75     }
76
77     public DecisionDAOSPI getDecisionDAO() {
78         return decisionDAO;
79     }
80
81     public CookieDAOSPI getCookieDAO() {
82         return cookieDAO;
83     }
84
85     public EMailAddressDAOSPI getEMailAddressDAO() {
86         return emailAddressDAO;
87     }
88
89 }
90
Popular Tags