KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > documan > dao > HistoryDAO


1 /*
2  * Created on 23.08.2004
3  */

4 package org.contineo.documan.dao;
5
6 import java.util.Collection JavaDoc;
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 /**
20  * @author Michael Scholz
21  *
22  */

23 public class HistoryDAO {
24
25     private PersistenceBroker broker = null;
26     private PBKey pbkey;
27     private Logger logger;
28     
29     /**
30      *
31      */

32     public HistoryDAO() {
33         logger = LoggingManager.getLogger(this.getClass());
34         pbkey = new PBKey("contineo");
35     }
36
37     /**
38      * This method persists a history object.
39      * @param history History to be stored.
40      * @return True if successfully stored in a database.
41      */

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 JavaDoc 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     /**
62      * This method deletes a history.
63      * @param historyid ID of the history which should be delete.
64      */

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 JavaDoc(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 JavaDoc 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     /**
88      * This method selects all histories of a given document.
89      * @param docid - ID of the document.
90      */

91     public Collection JavaDoc findByDocId(int docid) {
92         Collection JavaDoc coll = null;
93         try {
94             broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey);
95             Criteria crit = new Criteria();
96             crit.addEqualTo("co_docid", new Integer JavaDoc(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 JavaDoc 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     /**
110      * This method selects all histories of a given username.
111      * @param username
112      */

113     public Collection JavaDoc findByUsername(String JavaDoc username) {
114         Collection JavaDoc coll = null;
115         try {
116             broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey);
117             Criteria crit = new Criteria();
118             crit.addEqualTo("co_username", new String JavaDoc(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 JavaDoc 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