1 4 package org.contineo.documan.dao; 5 6 import java.util.Collection ; 7 8 import org.apache.log4j.Level; 9 import org.apache.log4j.Logger; 10 import org.apache.ojb.broker.PBKey; 11 import org.apache.ojb.broker.PersistenceBroker; 12 import org.apache.ojb.broker.PersistenceBrokerFactory; 13 import org.apache.ojb.broker.query.Criteria; 14 import org.apache.ojb.broker.query.Query; 15 import org.apache.ojb.broker.query.QueryByCriteria; 16 import org.contineo.core.LoggingManager; 17 import org.contineo.documan.History; 18 19 23 public class HistoryDAO { 24 25 private PersistenceBroker broker = null; 26 private PBKey pbkey; 27 private Logger logger; 28 29 32 public HistoryDAO() { 33 logger = LoggingManager.getLogger(this.getClass()); 34 pbkey = new PBKey("contineo"); 35 } 36 37 42 public boolean store(History history) { 43 boolean result = true; 44 try { 45 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 46 broker.beginTransaction(); 47 broker.store(history); 48 broker.commitTransaction(); 49 } 50 catch (Exception e) { 51 broker.abortTransaction(); 52 if (logger.isEnabledFor(Level.ERROR)) 53 logger.error(e.getMessage()); 54 result = false; 55 } finally { 56 if (broker != null) broker.close(); 57 } 58 return result; 59 } 60 61 65 public boolean delete(int historyid) { 66 boolean result = true; 67 try { 68 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 69 Criteria crit = new Criteria(); 70 crit.addEqualTo("co_historyid", new Integer (historyid)); 71 Query query = new QueryByCriteria(org.contineo.documan.History.class, crit); 72 broker.beginTransaction(); 73 broker.deleteByQuery(query); 74 broker.commitTransaction(); 75 } 76 catch (Exception e) { 77 broker.abortTransaction(); 78 if (logger.isEnabledFor(Level.ERROR)) 79 logger.error(e.getMessage()); 80 result = false; 81 } finally { 82 if (broker != null) broker.close(); 83 } 84 return result; 85 } 86 87 91 public Collection findByDocId(int docid) { 92 Collection coll = null; 93 try { 94 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 95 Criteria crit = new Criteria(); 96 crit.addEqualTo("co_docid", new Integer (docid)); 97 QueryByCriteria query = new QueryByCriteria(org.contineo.documan.History.class, crit); 98 query.addOrderBy("co_date",true); 99 coll = broker.getCollectionByQuery(query); 100 } catch (Exception e) { 101 if (logger.isEnabledFor(Level.ERROR)) 102 logger.error(e.getMessage()); 103 } finally { 104 if (broker != null) broker.close(); 105 } 106 return coll; 107 } 108 109 113 public Collection findByUsername(String username) { 114 Collection coll = null; 115 try { 116 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 117 Criteria crit = new Criteria(); 118 crit.addEqualTo("co_username", new String (username)); 119 QueryByCriteria query = new QueryByCriteria(org.contineo.documan.History.class, crit); 120 query.addOrderBy("co_date",true); 121 coll = broker.getCollectionByQuery(query); 122 } catch (Exception e) { 123 if (logger.isEnabledFor(Level.ERROR)) 124 logger.error(e.getMessage()); 125 } finally { 126 if (broker != null) broker.close(); 127 } 128 return coll; 129 } 130 } 131
| Popular Tags
|