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 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 |