KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > searchengine > dao > SearchDocumentDAO


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 /*
15  * Created on 09.12.2004
16  */

17 public class SearchDocumentDAO {
18     
19     private PersistenceBroker broker = null;
20     private Logger logger;
21     private PBKey pbkey;
22
23     /**
24      *
25      */

26     public SearchDocumentDAO() {
27         logger = LoggingManager.getLogger(this.getClass());
28         pbkey = new PBKey("contineo");
29     }
30
31     /**
32      * This method persists a SearchDocument object.
33      * @param doc SearchDocument to be stored.
34      * @return True if successfully stored in a database.
35      */

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 JavaDoc 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     /**
56      * This method deletes an SearchDocument using its menuid.
57      * @param menuid MenuID of the SearchDocument which should be delete.
58      */

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 JavaDoc(menuid));
65             Query query = new QueryByCriteria(SearchDocument.class, crit);
66             broker.beginTransaction();
67             broker.deleteByQuery(query);
68             broker.commitTransaction();
69         }
70         catch (Exception JavaDoc 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     /**
82      * This method selects all articles of for a given document.
83      * @param menuid - MenuID of the SearchDocument.
84      */

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 JavaDoc(menuid));
91             QueryByCriteria query = new QueryByCriteria(SearchDocument.class, crit);
92             searchDoc = (SearchDocument)broker.getObjectByQuery(query);
93         } catch (Exception JavaDoc 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
Free Books   Free Magazines  
Popular Tags