Skip to content

Commit 0d8efca

Browse files
build(Hibernate): Remove dependency on HibernateDaoSupport and HibernateTemplate (#309)
1 parent 827ffb5 commit 0d8efca

45 files changed

Lines changed: 989 additions & 1578 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/main/java/org/wise/portal/dao/achievement/HibernateAchievementDao.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,12 @@
2626
import java.util.ArrayList;
2727
import java.util.List;
2828

29-
import javax.persistence.EntityManager;
30-
import javax.persistence.PersistenceContext;
3129
import javax.persistence.TypedQuery;
3230
import javax.persistence.criteria.CriteriaBuilder;
3331
import javax.persistence.criteria.CriteriaQuery;
3432
import javax.persistence.criteria.Predicate;
3533
import javax.persistence.criteria.Root;
3634

37-
import org.hibernate.Session;
3835
import org.springframework.stereotype.Repository;
3936
import org.wise.portal.dao.impl.AbstractHibernateDao;
4037
import org.wise.portal.domain.run.Run;
@@ -49,15 +46,11 @@
4946
public class HibernateAchievementDao extends AbstractHibernateDao<Achievement>
5047
implements AchievementDao<Achievement> {
5148

52-
@PersistenceContext
53-
private EntityManager entityManager;
54-
5549
@Override
5650
@SuppressWarnings("unchecked")
5751
public List<Achievement> getAchievementsByParams(Integer id, Run run, Workgroup workgroup,
5852
String achievementId, String type) {
59-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
60-
CriteriaBuilder cb = session.getCriteriaBuilder();
53+
CriteriaBuilder cb = getCriteriaBuilder();
6154
CriteriaQuery<Achievement> cq = cb.createQuery(Achievement.class);
6255
Root<Achievement> achievementRoot = cq.from(Achievement.class);
6356
List<Predicate> predicates = new ArrayList<>();
@@ -82,11 +75,6 @@ public List<Achievement> getAchievementsByParams(Integer id, Run run, Workgroup
8275
return (List<Achievement>) (Object) query.getResultList();
8376
}
8477

85-
@Override
86-
protected String getFindAllQuery() {
87-
return null;
88-
}
89-
9078
@Override
9179
protected Class<? extends Achievement> getDataObjectClass() {
9280
return Achievement.class;

src/main/java/org/wise/portal/dao/annotation/wise5/impl/HibernateAnnotationDao.java

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,12 @@
44
import java.util.List;
55
import java.util.Set;
66

7-
import javax.persistence.EntityManager;
8-
import javax.persistence.PersistenceContext;
97
import javax.persistence.TypedQuery;
108
import javax.persistence.criteria.CriteriaBuilder;
119
import javax.persistence.criteria.CriteriaQuery;
1210
import javax.persistence.criteria.Predicate;
1311
import javax.persistence.criteria.Root;
1412

15-
import org.hibernate.Session;
1613
import org.springframework.stereotype.Repository;
1714
import org.wise.portal.dao.annotation.wise5.AnnotationDao;
1815
import org.wise.portal.dao.impl.AbstractHibernateDao;
@@ -29,14 +26,6 @@
2926
public class HibernateAnnotationDao extends AbstractHibernateDao<Annotation>
3027
implements AnnotationDao<Annotation> {
3128

32-
@PersistenceContext
33-
private EntityManager entityManager;
34-
35-
@Override
36-
protected String getFindAllQuery() {
37-
return null;
38-
}
39-
4029
@Override
4130
protected Class<? extends Annotation> getDataObjectClass() {
4231
return null;
@@ -47,8 +36,7 @@ protected Class<? extends Annotation> getDataObjectClass() {
4736
public List<Annotation> getAnnotationsByParams(Integer id, Run run, Group period,
4837
Workgroup fromWorkgroup, Workgroup toWorkgroup, String nodeId, String componentId,
4938
StudentWork studentWork, String localNotebookItemId, NotebookItem notebookItem, String type) {
50-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
51-
CriteriaBuilder cb = session.getCriteriaBuilder();
39+
CriteriaBuilder cb = getCriteriaBuilder();
5240
CriteriaQuery<Annotation> cq = cb.createQuery(Annotation.class);
5341
Root<Annotation> annotationRoot = cq.from(Annotation.class);
5442
List<Predicate> predicates = new ArrayList<>();
@@ -95,8 +83,7 @@ public List<Annotation> getAnnotations(Run run, String nodeId, String componentI
9583
}
9684

9785
public List<Annotation> getAnnotations(Run run, Group period, String nodeId, String componentId) {
98-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
99-
CriteriaBuilder cb = session.getCriteriaBuilder();
86+
CriteriaBuilder cb = getCriteriaBuilder();
10087
CriteriaQuery<Annotation> cq = cb.createQuery(Annotation.class);
10188
Root<Annotation> annotationRoot = cq.from(Annotation.class);
10289
Root<RunImpl> runImplRoot = cq.from(RunImpl.class);
@@ -117,8 +104,7 @@ public List<Annotation> getAnnotations(Run run, Group period, String nodeId, Str
117104

118105
public List<Annotation> getAnnotationsToWorkgroups(Set<Workgroup> workgroups, String nodeId,
119106
String componentId) {
120-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
121-
CriteriaBuilder cb = session.getCriteriaBuilder();
107+
CriteriaBuilder cb = getCriteriaBuilder();
122108
CriteriaQuery<Annotation> cq = cb.createQuery(Annotation.class);
123109
Root<Annotation> annotationRoot = cq.from(Annotation.class);
124110
List<Predicate> predicates = new ArrayList<Predicate>();

src/main/java/org/wise/portal/dao/attendance/impl/HibernateStudentAttendanceDao.java

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,12 @@
2828
import java.util.Date;
2929
import java.util.List;
3030

31-
import javax.persistence.EntityManager;
32-
import javax.persistence.PersistenceContext;
3331
import javax.persistence.TypedQuery;
3432
import javax.persistence.criteria.CriteriaBuilder;
3533
import javax.persistence.criteria.CriteriaQuery;
3634
import javax.persistence.criteria.Predicate;
3735
import javax.persistence.criteria.Root;
3836

39-
import org.hibernate.Session;
4037
import org.springframework.stereotype.Repository;
4138
import org.springframework.transaction.annotation.Transactional;
4239
import org.wise.portal.dao.attendance.StudentAttendanceDao;
@@ -48,14 +45,10 @@
4845
public class HibernateStudentAttendanceDao extends AbstractHibernateDao<StudentAttendance>
4946
implements StudentAttendanceDao<StudentAttendance> {
5047

51-
@PersistenceContext
52-
private EntityManager entityManager;
53-
54-
@Transactional(readOnly=true)
48+
@Transactional(readOnly = true)
5549
@SuppressWarnings("unchecked")
5650
public List<StudentAttendance> getStudentAttendanceByRunId(Long runId) {
57-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
58-
CriteriaBuilder cb = session.getCriteriaBuilder();
51+
CriteriaBuilder cb = getCriteriaBuilder();
5952
CriteriaQuery<StudentAttendanceImpl> cq = cb.createQuery(StudentAttendanceImpl.class);
6053
Root<StudentAttendanceImpl> studentAttendanceRoot = cq.from(StudentAttendanceImpl.class);
6154
cq.select(studentAttendanceRoot).where(cb.equal(studentAttendanceRoot.get("runId"), runId))
@@ -66,11 +59,10 @@ public List<StudentAttendance> getStudentAttendanceByRunId(Long runId) {
6659

6760
@SuppressWarnings("unchecked")
6861
@Override
69-
@Transactional(readOnly=true)
70-
public List<StudentAttendance> getStudentAttendanceByRunIdAndPeriod(
71-
Long runId, int lookBackNumDays) {
72-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
73-
CriteriaBuilder cb = session.getCriteriaBuilder();
62+
@Transactional(readOnly = true)
63+
public List<StudentAttendance> getStudentAttendanceByRunIdAndPeriod(Long runId,
64+
int lookBackNumDays) {
65+
CriteriaBuilder cb = getCriteriaBuilder();
7466
CriteriaQuery<StudentAttendanceImpl> cq = cb.createQuery(StudentAttendanceImpl.class);
7567
Root<StudentAttendanceImpl> studentAttendanceRoot = cq.from(StudentAttendanceImpl.class);
7668
List<Predicate> predicates = new ArrayList<>();
@@ -81,8 +73,8 @@ public List<StudentAttendance> getStudentAttendanceByRunIdAndPeriod(
8173
this.roundDownCalendar(c, Calendar.SECOND);
8274
this.roundDownCalendar(c, Calendar.MILLISECOND);
8375
Date compareDate = c.getTime();
84-
predicates.add(
85-
cb.greaterThanOrEqualTo(studentAttendanceRoot.get("loginTimestamp"), compareDate));
76+
predicates
77+
.add(cb.greaterThanOrEqualTo(studentAttendanceRoot.get("loginTimestamp"), compareDate));
8678
predicates.add(cb.equal(studentAttendanceRoot.get("runId"), runId));
8779
cq.select(studentAttendanceRoot).where(predicates.toArray(new Predicate[predicates.size()]))
8880
.orderBy(cb.desc(studentAttendanceRoot.get("loginTimestamp")));
@@ -98,9 +90,4 @@ private void roundDownCalendar(Calendar c, int timeUnit) {
9890
protected Class<? extends StudentAttendance> getDataObjectClass() {
9991
return null;
10092
}
101-
102-
@Override
103-
protected String getFindAllQuery() {
104-
return null;
105-
}
10693
}

src/main/java/org/wise/portal/dao/authentication/impl/HibernateAclEntryDao.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
* @author Cynick Young
3333
*/
3434
@Repository
35-
public class HibernateAclEntryDao extends AbstractHibernateDao<ImmutableAclEntry> implements
36-
AclEntryDao<ImmutableAclEntry> {
37-
38-
private static final String FIND_ALL_QUERY = "from PersistentAclEntry";
35+
public class HibernateAclEntryDao extends AbstractHibernateDao<ImmutableAclEntry>
36+
implements AclEntryDao<ImmutableAclEntry> {
3937

4038
/**
4139
* @see org.wise.portal.dao.impl.AbstractHibernateDao#getDataObjectClass()
@@ -44,12 +42,4 @@ public class HibernateAclEntryDao extends AbstractHibernateDao<ImmutableAclEntry
4442
protected Class<? extends ImmutableAclEntry> getDataObjectClass() {
4543
return PersistentAclEntry.class;
4644
}
47-
48-
/**
49-
* @see org.wise.portal.dao.impl.AbstractHibernateDao#getFindAllQuery()
50-
*/
51-
@Override
52-
protected String getFindAllQuery() {
53-
return FIND_ALL_QUERY;
54-
}
5545
}

src/main/java/org/wise/portal/dao/authentication/impl/HibernateAclSidDao.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,11 @@
2020
*/
2121
package org.wise.portal.dao.authentication.impl;
2222

23-
import javax.persistence.EntityManager;
24-
import javax.persistence.NoResultException;
25-
import javax.persistence.PersistenceContext;
2623
import javax.persistence.TypedQuery;
2724
import javax.persistence.criteria.CriteriaBuilder;
2825
import javax.persistence.criteria.CriteriaQuery;
2926
import javax.persistence.criteria.Root;
3027

31-
import org.hibernate.Session;
3228
import org.springframework.stereotype.Repository;
3329
import org.wise.portal.dao.authentication.AclSidDao;
3430
import org.wise.portal.dao.impl.AbstractHibernateDao;
@@ -46,24 +42,13 @@
4642
public class HibernateAclSidDao extends AbstractHibernateDao<MutableAclSid>
4743
implements AclSidDao<MutableAclSid> {
4844

49-
@PersistenceContext
50-
private EntityManager entityManager;
51-
52-
private static final String FIND_ALL_QUERY = "from PersistentAclSid";
53-
5445
@Override
5546
protected Class<PersistentAclSid> getDataObjectClass() {
5647
return PersistentAclSid.class;
5748
}
5849

59-
@Override
60-
protected String getFindAllQuery() {
61-
return FIND_ALL_QUERY;
62-
}
63-
6450
public MutableAclSid retrieveBySidName(String sidName) {
65-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
66-
CriteriaBuilder cb = session.getCriteriaBuilder();
51+
CriteriaBuilder cb = getCriteriaBuilder();
6752
CriteriaQuery<PersistentAclSid> cq = cb.createQuery(PersistentAclSid.class);
6853
Root<PersistentAclSid> persistentAclSidRoot = cq.from(PersistentAclSid.class);
6954
cq.select(persistentAclSidRoot).where(cb.equal(persistentAclSidRoot.get("sidName"), sidName));

src/main/java/org/wise/portal/dao/authentication/impl/HibernateAclTargetObjectDao.java

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,11 @@
2020
*/
2121
package org.wise.portal.dao.authentication.impl;
2222

23-
import javax.persistence.EntityManager;
24-
import javax.persistence.NoResultException;
25-
import javax.persistence.PersistenceContext;
2623
import javax.persistence.TypedQuery;
2724
import javax.persistence.criteria.CriteriaBuilder;
2825
import javax.persistence.criteria.CriteriaQuery;
2926
import javax.persistence.criteria.Root;
3027

31-
import org.hibernate.Session;
3228
import org.springframework.stereotype.Repository;
3329
import org.wise.portal.dao.authentication.AclTargetObjectDao;
3430
import org.wise.portal.dao.impl.AbstractHibernateDao;
@@ -43,33 +39,21 @@
4339
* @author Cynick Young
4440
*/
4541
@Repository
46-
public class HibernateAclTargetObjectDao extends
47-
AbstractHibernateDao<MutableAclTargetObject> implements
48-
AclTargetObjectDao<MutableAclTargetObject> {
42+
public class HibernateAclTargetObjectDao extends AbstractHibernateDao<MutableAclTargetObject>
43+
implements AclTargetObjectDao<MutableAclTargetObject> {
4944

50-
private static final String FIND_ALL_QUERY = "from PersistentAclTargetObject";
51-
52-
@PersistenceContext
53-
private EntityManager entityManager;
54-
5545
@Override
5646
protected Class<PersistentAclTargetObject> getDataObjectClass() {
5747
return PersistentAclTargetObject.class;
5848
}
5949

60-
@Override
61-
protected String getFindAllQuery() {
62-
return FIND_ALL_QUERY;
63-
}
64-
6550
public MutableAclTargetObject retrieveByClassname(String classname) {
66-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
67-
CriteriaBuilder cb = session.getCriteriaBuilder();
51+
CriteriaBuilder cb = getCriteriaBuilder();
6852
CriteriaQuery<PersistentAclTargetObject> cq = cb.createQuery(PersistentAclTargetObject.class);
69-
Root<PersistentAclTargetObject> persistentAclTargetObjectRoot =
70-
cq.from(PersistentAclTargetObject.class);
71-
cq.select(persistentAclTargetObjectRoot).where(
72-
cb.equal(persistentAclTargetObjectRoot.get("classname"), classname));
53+
Root<PersistentAclTargetObject> persistentAclTargetObjectRoot = cq
54+
.from(PersistentAclTargetObject.class);
55+
cq.select(persistentAclTargetObjectRoot)
56+
.where(cb.equal(persistentAclTargetObjectRoot.get("classname"), classname));
7357
TypedQuery<PersistentAclTargetObject> query = entityManager.createQuery(cq);
7458
return query.getResultStream().findFirst().orElse(null);
7559
}

src/main/java/org/wise/portal/dao/authentication/impl/HibernateAclTargetObjectIdentityDao.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* This software is distributed under the GNU General Public License, v3,
55
* or (at your option) any later version.
6-
*
6+
*
77
* Permission is hereby granted, without written agreement and without license
88
* or royalty fees, to use, copy, modify, and distribute this software and its
99
* documentation for any purpose, provided that the above copyright notice and
@@ -23,15 +23,12 @@
2323
import java.util.ArrayList;
2424
import java.util.List;
2525

26-
import javax.persistence.EntityManager;
27-
import javax.persistence.PersistenceContext;
2826
import javax.persistence.TypedQuery;
2927
import javax.persistence.criteria.CriteriaBuilder;
3028
import javax.persistence.criteria.CriteriaQuery;
3129
import javax.persistence.criteria.Predicate;
3230
import javax.persistence.criteria.Root;
3331

34-
import org.hibernate.Session;
3532
import org.springframework.security.acls.model.ObjectIdentity;
3633
import org.springframework.stereotype.Repository;
3734
import org.wise.portal.dao.authentication.AclTargetObjectIdentityDao;
@@ -43,22 +40,16 @@
4340
* This class is not being used. Tried to implement Hibernate versions of the acl
4441
* services and became bogged down, so went back to jdbc versions. Keeping this
4542
* class around in case we want to try again later.
46-
*
43+
*
4744
* @author Cynick Young
4845
*/
4946
@Repository
5047
public class HibernateAclTargetObjectIdentityDao
5148
extends AbstractHibernateDao<MutableAclTargetObjectIdentity>
5249
implements AclTargetObjectIdentityDao<MutableAclTargetObjectIdentity> {
5350

54-
@PersistenceContext
55-
private EntityManager entityManager;
56-
57-
private static final String FIND_ALL_QUERY = "from PersistentAclTargetObjectIdentity";
58-
5951
public MutableAclTargetObjectIdentity retrieveByObjectIdentity(ObjectIdentity objectIdentity) {
60-
Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
61-
CriteriaBuilder cb = session.getCriteriaBuilder();
52+
CriteriaBuilder cb = getCriteriaBuilder();
6253
CriteriaQuery<PersistentAclTargetObjectIdentity> cq = cb
6354
.createQuery(PersistentAclTargetObjectIdentity.class);
6455
Root<PersistentAclTargetObjectIdentity> persistentAclTargetObjectIdentityRoot = cq
@@ -92,9 +83,4 @@ public MutableAclTargetObjectIdentity[] findChildren(ObjectIdentity parentIdenti
9283
protected Class<PersistentAclTargetObjectIdentity> getDataObjectClass() {
9384
return PersistentAclTargetObjectIdentity.class;
9485
}
95-
96-
@Override
97-
protected String getFindAllQuery() {
98-
return FIND_ALL_QUERY;
99-
}
100-
}
86+
}

0 commit comments

Comments
 (0)