Rev 205 | Rev 214 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
110 | susana | 1 | package pt.estgp.estgweb.domain.dao.impl; |
2 | |||
116 | jmachado | 3 | import pt.estgp.estgweb.domain.CourseUnit; |
205 | jmachado | 4 | import pt.estgp.estgweb.domain.Blog; |
206 | jmachado | 5 | import pt.estgp.estgweb.domain.TeacherImpl; |
205 | jmachado | 6 | import pt.estgp.estgweb.domain.dao.DaoUtils; |
7 | import pt.estgp.estgweb.services.common.SearchTypeEnum; |
||
206 | jmachado | 8 | import pt.estgp.estgweb.utils.DatesUtils; |
116 | jmachado | 9 | import static org.hibernate.criterion.Restrictions.*; |
205 | jmachado | 10 | import org.hibernate.criterion.Criterion; |
11 | import org.hibernate.criterion.Order; |
||
12 | import org.hibernate.Criteria; |
||
116 | jmachado | 13 | |
125 | fvelez | 14 | import java.util.List; |
15 | import java.util.Set; |
||
16 | |||
110 | susana | 17 | /** |
18 | * @author Jorge Machado |
||
19 | * @date 28/Fev/2008 |
||
20 | * @time 2:51:06 |
||
21 | * @see pt.estgp.estgweb.domain.dao.impl |
||
22 | */ |
||
23 | public class CourseUnitDaoImpl extends CourseUnitDao |
||
24 | { |
||
25 | |||
26 | |||
202 | jmachado | 27 | private CourseUnitDaoImpl() |
28 | { |
||
110 | susana | 29 | } |
30 | |||
31 | public static CourseUnitDaoImpl getInstance() |
||
32 | { |
||
33 | if (myInstance == null) |
||
34 | myInstance = new CourseUnitDaoImpl(); |
||
35 | return (CourseUnitDaoImpl) myInstance; |
||
36 | } |
||
37 | |||
125 | fvelez | 38 | public List<CourseUnit> loadBySigesCode(1.5.0/docs/api/java/lang/String.html">String sigesCode) |
116 | jmachado | 39 | { |
202 | jmachado | 40 | return createCriteria().add(eq("code", sigesCode)).list(); |
116 | jmachado | 41 | } |
202 | jmachado | 42 | |
163 | jmachado | 43 | public CourseUnit loadBySigesCodeUnique(1.5.0/docs/api/java/lang/String.html">String sigesCode) |
44 | { |
||
202 | jmachado | 45 | return (CourseUnit) createCriteria().add(eq("code", sigesCode)).uniqueResult(); |
163 | jmachado | 46 | } |
116 | jmachado | 47 | |
202 | jmachado | 48 | public CourseUnit loadBySigesCodeUnique(1.5.0/docs/api/java/lang/String.html">String sigesCode, 1.5.0/docs/api/java/lang/String.html">String courseCode) |
49 | { |
||
50 | return (CourseUnit) createCriteria().add(eq("code", sigesCode)).add(eq("courseCode", courseCode)).uniqueResult(); |
||
51 | } |
||
163 | jmachado | 52 | |
202 | jmachado | 53 | public CourseUnit loadBySigesCodeUnique(1.5.0/docs/api/java/lang/String.html">String sigesCode, 1.5.0/docs/api/java/lang/String.html">String courseCode, 1.5.0/docs/api/java/lang/String.html">String semestre) |
54 | { |
||
55 | return (CourseUnit) createCriteria().add(eq("code", sigesCode)).add(eq("courseCode", courseCode)).add(eq("semestre", semestre)).uniqueResult(); |
||
56 | } |
||
163 | jmachado | 57 | |
58 | |||
205 | jmachado | 59 | public int countCourseUnits(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchType) |
60 | { |
||
61 | Criterion c = DaoUtils.createSearchQuery(query,searchType,"objectives","name"); |
||
62 | return createCriteria().add(c).list().size(); |
||
63 | } |
||
163 | jmachado | 64 | |
205 | jmachado | 65 | public List<CourseUnit> search(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchTypeEnum, int maxUnits, int page) |
66 | { |
||
67 | Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "objectives", "name"); |
||
68 | Criteria criteria = createCriteria(); |
||
69 | criteria.add(c) |
||
70 | .addOrder(Order.asc("name")) |
||
71 | .setMaxResults(maxUnits) |
||
72 | .setFirstResult(page * maxUnits); |
||
73 | return criteria.list(); |
||
74 | } |
||
202 | jmachado | 75 | |
206 | jmachado | 76 | public int countCourseUnitsActualYear(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchType) |
77 | { |
||
78 | Criterion c = DaoUtils.createSearchQuery(query,searchType,"objectives","name"); |
||
79 | return createCriteria() |
||
80 | .add(c) |
||
81 | .add(eq("importYear", DatesUtils.getImportYear())) |
||
82 | .list().size(); |
||
83 | } |
||
84 | |||
85 | public List<CourseUnit> searchActualYear(1.5.0/docs/api/java/lang/String.html">String query, SearchTypeEnum searchTypeEnum, int maxUnits, int page) |
||
86 | { |
||
87 | Criterion c = DaoUtils.createSearchQuery(query, searchTypeEnum, "objectives", "name"); |
||
88 | Criteria criteria = createCriteria(); |
||
89 | criteria.add(c) |
||
90 | .add(eq("importYear", DatesUtils.getImportYear())) |
||
91 | .addOrder(Order.asc("name")) |
||
92 | .setMaxResults(maxUnits) |
||
93 | .setFirstResult(page * maxUnits); |
||
94 | return criteria.list(); |
||
95 | } |
||
96 | |||
205 | jmachado | 97 | public List<CourseUnit> loadMissingObjectives(long teacherId) |
98 | { |
||
99 | //todo falta a projeccao do teacher id |
||
100 | return createCriteria() |
||
206 | jmachado | 101 | .add(eq("importYear", DatesUtils.getImportYear())) |
205 | jmachado | 102 | .add((or(isNull("objectives"),eq("objectives","")))) |
103 | .createAlias("teachers", "th") |
||
104 | .add(eq("th.id",teacherId)) |
||
105 | .list(); |
||
106 | } |
||
107 | |||
206 | jmachado | 108 | |
205 | jmachado | 109 | |
110 | |||
111 | |||
206 | jmachado | 112 | |
110 | susana | 113 | } |