1 package org.contineo.searchengine.dao; 2 3 import org.apache.log4j.Level; 4 import org.apache.log4j.Logger; 5 import org.apache.ojb.broker.PBKey; 6 import org.apache.ojb.broker.PersistenceBroker; 7 import org.apache.ojb.broker.PersistenceBrokerFactory; 8 import org.apache.ojb.broker.query.Criteria; 9 import org.apache.ojb.broker.query.Query; 10 import org.apache.ojb.broker.query.QueryByCriteria; 11 import org.contineo.core.LoggingManager; 12 import org.contineo.searchengine.SearchDocument; 13 14 17 public class SearchDocumentDAO { 18 19 private PersistenceBroker broker = null; 20 private Logger logger; 21 private PBKey pbkey; 22 23 26 public SearchDocumentDAO() { 27 logger = LoggingManager.getLogger(this.getClass()); 28 pbkey = new PBKey("contineo"); 29 } 30 31 36 public boolean store(SearchDocument doc) { 37 boolean result = true; 38 try { 39 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 40 broker.beginTransaction(); 41 broker.store(doc); 42 broker.commitTransaction(); 43 } 44 catch (Exception e) { 45 broker.abortTransaction(); 46 if (logger.isEnabledFor(Level.ERROR)) 47 logger.error(e.getMessage()); 48 result = false; 49 } finally { 50 if (broker != null) broker.close(); 51 } 52 return result; 53 } 54 55 59 public boolean delete(int menuid) { 60 boolean result = true; 61 try { 62 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 63 Criteria crit = new Criteria(); 64 crit.addEqualTo("co_menuid", new Integer (menuid)); 65 Query query = new QueryByCriteria(SearchDocument.class, crit); 66 broker.beginTransaction(); 67 broker.deleteByQuery(query); 68 broker.commitTransaction(); 69 } 70 catch (Exception e) { 71 broker.abortTransaction(); 72 if (logger.isEnabledFor(Level.ERROR)) 73 logger.error(e.getMessage()); 74 result = false; 75 } finally { 76 if (broker != null) broker.close(); 77 } 78 return result; 79 } 80 81 85 public SearchDocument findByMenuId(int menuid) { 86 SearchDocument searchDoc = null; 87 try { 88 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 89 Criteria crit = new Criteria(); 90 crit.addEqualTo("co_menuid", new Integer (menuid)); 91 QueryByCriteria query = new QueryByCriteria(SearchDocument.class, crit); 92 searchDoc = (SearchDocument)broker.getObjectByQuery(query); 93 } catch (Exception e) { 94 if (logger.isEnabledFor(Level.ERROR)) 95 logger.error(e.getMessage()); 96 } finally { 97 if (broker != null) broker.close(); 98 } 99 return searchDoc; 100 } 101 } 102
| Popular Tags
|