1 6 7 package org.contineo.documan.dao; 8 9 import java.util.Collection ; 10 import org.apache.log4j.Level; 11 import org.apache.log4j.Logger; 12 import org.apache.ojb.broker.PBKey; 13 import org.apache.ojb.broker.PersistenceBroker; 14 import org.apache.ojb.broker.PersistenceBrokerFactory; 15 import org.apache.ojb.broker.query.Criteria; 16 import org.apache.ojb.broker.query.Query; 17 import org.apache.ojb.broker.query.QueryByCriteria; 18 import org.contineo.core.LoggingManager; 19 import org.contineo.documan.Version; 20 24 public class VersionDAO { 25 26 30 private PersistenceBroker broker = null; 31 32 36 private PBKey pbkey; 37 38 42 private Logger logger; 43 44 45 46 47 public VersionDAO() { 48 logger = LoggingManager.getLogger(this.getClass()); 49 pbkey = new PBKey("contineo"); 50 } 51 52 57 public boolean store(Version version) { 58 boolean result = true; 59 try { 60 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 61 broker.beginTransaction(); 62 broker.store(version); 63 broker.commitTransaction(); 64 } 65 catch (Exception e) { 66 broker.abortTransaction(); 67 if (logger.isEnabledFor(Level.ERROR)) 68 logger.error(e.getMessage()); 69 result = false; 70 } finally { 71 if (broker != null) broker.close(); 72 } 73 return result; 74 } 75 76 79 public Version findByPrimaryKey(int docid, String vers) { 80 Version version = new Version(); 81 try { 82 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 83 Criteria crit = new Criteria(); 84 crit.addEqualTo("co_docid", new Integer (docid)); 85 crit.addEqualTo("co_version", vers); 86 Query query = new QueryByCriteria(org.contineo.documan.Version.class, crit); 87 version = (Version)broker.getObjectByQuery(query); 88 } 89 catch (Exception e) { 90 if (logger.isEnabledFor(Level.ERROR)) 91 logger.error(e.getMessage()); 92 } finally { 93 if (broker != null) broker.close(); 94 } 95 return version; 96 } 97 98 102 public Collection findByDocId(int docid) { 103 Collection coll = null; 104 try { 105 broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey); 106 Criteria crit = new Criteria(); 107 crit.addEqualTo("co_docid", new Integer (docid)); 108 Query query = new QueryByCriteria(org.contineo.documan.Version.class, crit); 109 coll = broker.getCollectionByQuery(query); 110 } 111 catch (Exception e) { 112 if (logger.isEnabledFor(Level.ERROR)) 113 logger.error(e.getMessage()); 114 } finally { 115 if (broker != null) broker.close(); 116 } 117 return coll; 118 } 119 } 120 | Popular Tags |