Skip to content

Commit 88b3f0b

Browse files
authored
Merge pull request #11599 from DANS-KNAW-jp/optimize-role-assignment
optimize check for existing role assignment
2 parents 20aaf5a + af7827e commit 88b3f0b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/main/java/edu/harvard/iq/dataverse/DataverseRoleServiceBean.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,10 @@ public Set<RoleAssignment> rolesAssignments(DvObject dv) {
245245
*/
246246
//public List<RoleAssignment> directRoleAssignments(@NotNull RoleAssignee roas, @NotNull DvObject dvo) {
247247
public List<RoleAssignment> directRoleAssignments(RoleAssignee roas, DvObject dvo) {
248-
List<RoleAssignment> unfiltered = em.createNamedQuery("RoleAssignment.listByAssigneeIdentifier", RoleAssignment.class).
249-
setParameter("assigneeIdentifier", roas.getIdentifier())
250-
.getResultList();
251-
return unfiltered.stream().filter(roleAssignment -> Objects.equals(roleAssignment.getDefinitionPoint().getId(), dvo.getId())).collect(Collectors.toList());
248+
return em.createNamedQuery("RoleAssignment.listByAssigneeIdentifier_DefinitionPointId", RoleAssignment.class)
249+
.setParameter("assigneeIdentifier", roas.getIdentifier())
250+
.setParameter("definitionPointId", dvo.getId())
251+
.getResultList();
252252
}
253253

254254
/**

0 commit comments

Comments
 (0)