Filter out null values when looking up entries by ID
This should prevent null elements in the stream when doing concurrent operations. Closes #28865 Signed-off-by: Alexander Schwartz <aschwart@redhat.com>
This commit is contained in:
parent
21d00704ae
commit
65d4b74758
1 changed files with 8 additions and 8 deletions
|
@ -279,7 +279,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
query.setParameter("realm", realm.getId());
|
||||
Stream<String> roles = query.getResultStream();
|
||||
|
||||
return closing(roles.map(realm::getRoleById));
|
||||
return closing(roles.map(realm::getRoleById).filter(Objects::nonNull));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -332,7 +332,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
.setParameter("ids", ids.collect(Collectors.toList()));
|
||||
|
||||
return closing(paginateQuery(query, first, max).getResultStream())
|
||||
.map(g -> session.roles().getRoleById(realm, g));
|
||||
.map(g -> session.roles().getRoleById(realm, g)).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -556,7 +556,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
.setParameter("ids", idsList);
|
||||
|
||||
return closing(paginateQuery(query, first, max).getResultStream())
|
||||
.map(g -> session.groups().getGroupById(realm, g));
|
||||
.map(g -> session.groups().getGroupById(realm, g)).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -576,7 +576,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
|
||||
|
||||
return closing(paginateQuery(query, first, max).getResultStream())
|
||||
.map(g -> session.groups().getGroupById(realm, g));
|
||||
.map(g -> session.groups().getGroupById(realm, g)).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -904,7 +904,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
|
||||
TypedQuery<String> query = em.createQuery(queryBuilder);
|
||||
return closing(paginateQuery(query, firstResult, maxResults).getResultStream())
|
||||
.map(id -> session.clients().getClientById(realm, id));
|
||||
.map(id -> session.clients().getClientById(realm, id)).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -949,7 +949,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
|
||||
TypedQuery<String> query = em.createQuery(queryBuilder);
|
||||
return closing(paginateQuery(query, firstResult, maxResults).getResultStream())
|
||||
.map(id -> session.clients().getClientById(realm, id));
|
||||
.map(id -> session.clients().getClientById(realm, id)).filter(Objects::nonNull);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1019,7 +1019,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
query.setParameter("realm", realm.getId());
|
||||
Stream<String> scopes = query.getResultStream();
|
||||
|
||||
return closing(scopes.map(realm::getClientScopeById));
|
||||
return closing(scopes.map(realm::getClientScopeById).filter(Objects::nonNull));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1159,7 +1159,7 @@ public class JpaRealmProvider implements RealmProvider, ClientProvider, ClientSc
|
|||
.setParameter("search", search);
|
||||
Stream<String> groups = paginateQuery(query, first, max).getResultStream();
|
||||
|
||||
return closing(groups.map(id -> session.groups().getGroupById(realm, id)).sorted(GroupModel.COMPARE_BY_NAME).distinct());
|
||||
return closing(groups.map(id -> session.groups().getGroupById(realm, id)).filter(Objects::nonNull).sorted(GroupModel.COMPARE_BY_NAME).distinct());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue