KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * VersionDAO.java
3  *
4  * Created on 23. November 2003, 19:14
5  */

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

24 public class VersionDAO {
25
26     /**
27      * @uml.property name="broker"
28      * @uml.associationEnd
29      */

30     private PersistenceBroker broker = null;
31
32     /**
33      * @uml.property name="pbkey"
34      * @uml.associationEnd
35      */

36     private PBKey pbkey;
37
38     /**
39      * @uml.property name="logger"
40      * @uml.associationEnd
41      */

42     private Logger logger;
43
44     
45     
46     /** Creates a new instance of VersionDAO */
47     public VersionDAO() {
48         logger = LoggingManager.getLogger(this.getClass());
49         pbkey = new PBKey("contineo");
50     }
51     
52     /**
53      * This method persists a version object.
54      * @param version Version to be stored.
55      * @return True if successful stored in a database.
56      */

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 JavaDoc 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     /**
77      * This method finds a version by primary key.
78      */

79     public Version findByPrimaryKey(int docid, String JavaDoc 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 JavaDoc(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 JavaDoc 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     /**
99      * This method finds all version of a document.
100      * @param docid Id of the document.
101      */

102     public Collection JavaDoc findByDocId(int docid) {
103         Collection JavaDoc coll = null;
104         try {
105             broker = PersistenceBrokerFactory.createPersistenceBroker(pbkey);
106             Criteria crit = new Criteria();
107             crit.addEqualTo("co_docid", new Integer JavaDoc(docid));
108             Query query = new QueryByCriteria(org.contineo.documan.Version.class, crit);
109             coll = broker.getCollectionByQuery(query);
110         }
111         catch (Exception JavaDoc 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