KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > javabb > dao > hibernate > CategoryHibernateDAO


1 package org.javabb.dao.hibernate;
2
3 import java.util.List JavaDoc;
4
5 import org.javabb.dao.entity.ICategoryDAO;
6 import org.javabb.vh.Stats;
7 import org.javabb.vo.Category;
8 import org.javabb.vo.Post;
9 import org.javabb.vo.Topic;
10 import org.javabb.vo.User;
11
12 /*
13  * Copyright 2004 JavaFree.org
14  *
15  * Licensed under the Apache License, Version 2.0 (the "License");
16  * you may not use this file except in compliance with the License.
17  * You may obtain a copy of the License at
18  *
19  * http://www.apache.org/licenses/LICENSE-2.0
20  *
21  * Unless required by applicable law or agreed to in writing, software
22  * distributed under the License is distributed on an "AS IS" BASIS,
23  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
24  * See the License for the specific language governing permissions and
25  * limitations under the License.
26  */

27
28 /**
29  * $Id: CategoryHibernateDAO.java,v 1.9.8.2 2006/04/17 17:46:27 daltoncamargo Exp $
30  * @author Dalton Camargo - <a HREF="mailto:dalton@javabb.org">dalton@javabb.org </a> <br>
31  * @author Ronald Tetsuo Miura
32  */

33 public class CategoryHibernateDAO extends HibernateDAO implements ICategoryDAO {
34
35     static final String JavaDoc[] FIELD_NAMES = new String JavaDoc[] { null,
36         "idCategory",
37         "catOrder",
38         "nameCategory" };
39
40     /**
41      * @see org.javabb.dao.entity.ICategoryDAO#load(java.lang.Long)
42      */

43     public Category load(Long JavaDoc id) {
44         return (Category) getHibernateTemplate().load(Category.class, id);
45     }
46
47     /**
48      * @see org.javabb.dao.entity.ICategoryDAO#countAllPosts()
49      */

50     public int countAllPosts() {
51         return countRows(Post.class, "idPost");
52     }
53
54     /**
55      * @see org.javabb.dao.entity.ICategoryDAO#countAllTopics()
56      */

57     public int countAllTopics() {
58         return countRows(Topic.class, "idTopic");
59     }
60
61     /**
62      * @see org.javabb.dao.entity.ICategoryDAO#countAllUsers()
63      */

64     public int countAllUsers() {
65         return countRows(User.class, "idUser");
66     }
67
68     /**
69      * @see org.javabb.dao.hibernate.HibernateDAO#getFieldName(int)
70      */

71     protected String JavaDoc getFieldName(int i) {
72         return FIELD_NAMES[i];
73     }
74
75     /**
76      * @see org.javabb.dao.entity.ICategoryDAO#getStatistics()
77      */

78     public Stats getStatistics() {
79         String JavaDoc[] orderField = { "idUser" };
80         String JavaDoc[] orderValue = { "desc" };
81
82         User lastUser = null;
83         List JavaDoc lstUsers = findAll(User.class, orderField, orderValue, 0, 1);
84
85         if (!lstUsers.isEmpty()) {
86             lastUser = (User) lstUsers.get(0);
87         }
88         lstUsers = null;
89
90         Stats sts = new Stats();
91         sts.setLastRegisteredUserId(lastUser.getIdUser());
92         sts.setLastRegisteredUserName(lastUser.getUser());
93         return sts;
94     }
95
96     /**
97      * @param sortingFields
98      * @return
99      */

100     public List JavaDoc findAll(int[] sortingFields) {
101         return findAll(Category.class, sortingFields);
102     }
103     
104     /**
105      * Insert a category
106      * @param cat
107      * @return
108      */

109     public Category insertCategory(Category cat){
110         return (Category)getHibernateTemplate().saveOrUpdateCopy(cat);
111     }
112
113     public Category getLastCattegoryByOrder(){
114         Category cat = null;
115         List JavaDoc lstCats = findAll(Category.class,
116                 new String JavaDoc[]{"catOrder"},
117                 new String JavaDoc[]{"desc"},
118                 0, 1);
119         
120         if (!lstCats.isEmpty()) {
121             cat = (Category) lstCats.get(0);
122         }
123         return cat;
124     }
125     
126     /**
127      * Delete category
128      * @param cat
129      */

130     public void deleteCategory(Category cat){
131         this.getHibernateTemplate().delete(cat);
132     }
133 }
134
Popular Tags