Skip to content

Commit e2bd632

Browse files
Fixed issue retrieving personal and shared runs in the curriculum page
1 parent 93999e8 commit e2bd632

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/main/java/org/wise/portal/dao/project/impl/HibernateProjectDao.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,19 @@ public List<Project> getSharedProjectsWithoutRun(User user) {
7070
CriteriaQuery<ProjectImpl> cq = cb.createQuery(ProjectImpl.class);
7171
Root<ProjectImpl> projectRoot = cq.from(ProjectImpl.class);
7272
Root<UserImpl> userRoot = cq.from(UserImpl.class);
73-
Subquery<RunImpl> runProjectIds = getRunProjectIds(cq);
73+
Subquery<Long> runProjectIds = getRunProjectIds(cq);
7474
List<Predicate> predicates = new ArrayList<>();
75-
predicates.add(cb.equal(userRoot.get("id"), user.getId()));
76-
predicates.add(cb.isMember(userRoot.get("id"), projectRoot.<Set<User>> get("sharedowners")));
75+
predicates.add(cb.equal(userRoot, user));
76+
predicates.add(cb.isMember(user, projectRoot.<Set<User>> get("sharedowners")));
7777
predicates.add(cb.not(projectRoot.get("id").in(runProjectIds)));
7878
cq.select(projectRoot).where(predicates.toArray(new Predicate[predicates.size()]));
7979
TypedQuery<ProjectImpl> query = entityManager.createQuery(cq);
8080
List<ProjectImpl> projectResultList = query.getResultList();
8181
return (List<Project>) (Object) projectResultList;
8282
}
8383

84-
private Subquery<RunImpl> getRunProjectIds(CriteriaQuery cq) {
85-
Subquery<RunImpl> runsSubquery = cq.subquery(RunImpl.class);
84+
private Subquery<Long> getRunProjectIds(CriteriaQuery cq) {
85+
Subquery<Long> runsSubquery = cq.subquery(Long.class);
8686
Root<RunImpl> runRoot = runsSubquery.from(RunImpl.class);
8787
runsSubquery.select(runRoot.get("project").get("id"));
8888
return runsSubquery;
@@ -185,10 +185,10 @@ public List<Project> getProjectsWithoutRuns(User user) {
185185
CriteriaQuery<ProjectImpl> cq = cb.createQuery(ProjectImpl.class);
186186
Root<ProjectImpl> projectRoot = cq.from(ProjectImpl.class);
187187
Root<UserImpl> userRoot = cq.from(UserImpl.class);
188-
Subquery<RunImpl> runProjectIds = getRunProjectIds(cq);
188+
Subquery<Long> runProjectIds = getRunProjectIds(cq);
189189
List<Predicate> predicates = new ArrayList<>();
190-
predicates.add(cb.equal(userRoot.get("id"), user.getId()));
191-
predicates.add(cb.equal(userRoot.get("id"), projectRoot.get("owner")));
190+
predicates.add(cb.equal(userRoot, user));
191+
predicates.add(cb.equal(userRoot, projectRoot.get("owner")));
192192
predicates.add(cb.not(projectRoot.get("id").in(runProjectIds)));
193193
cq.select(projectRoot).where(predicates.toArray(new Predicate[predicates.size()]));
194194
TypedQuery<ProjectImpl> query = entityManager.createQuery(cq);

0 commit comments

Comments
 (0)