public AbstractEntityManager.SearchResponse<T> createResponse(Collection<T> entities, AbstractEntityManager.SearchRequest request) { List<T> result = new LinkedList<T>(entities); // Apply pagination. final int total = result.size(); // First page is 1. final int page = request.getPage() - 1; final int pageSize = request.getPageSize(); final int startPos = page * pageSize; final int endPos = startPos + pageSize > total ? total : startPos + pageSize; if (result.size() >= startPos) { result = result.subList(startPos, endPos); } // Return the paginated response. return new SearchResponseImpl<T>(result, page + 1, pageSize, total, total > endPos); }
protected AbstractEntityManager.SearchRequest buildSearchRequestMock(String pattern, int page, int pageSize) { AbstractEntityManager.SearchRequest request = mock(AbstractEntityManager.SearchRequest.class); when(request.getSearchPattern()).thenReturn(pattern); when(request.getPage()).thenReturn(page); when(request.getPageSize()).thenReturn(pageSize); return request; } }
protected AbstractEntityManager.SearchRequest buildSearchRequestMock(String pattern, int page, int pageSize) { AbstractEntityManager.SearchRequest request = mock(AbstractEntityManager.SearchRequest.class); when(request.getSearchPattern()).thenReturn(pattern); when(request.getPage()).thenReturn(page); when(request.getPageSize()).thenReturn(pageSize); return request; } }
if (request.getPage() <= 0) { throw new RuntimeException("First page must be 1.");
@Override public AbstractEntityManager.SearchResponse<T> search(Collection<T> entities, AbstractEntityManager.SearchRequest request) { if (entities == null || request == null) { return null; } // First page must be 1. if (request.getPage() <= 0) { throw new RuntimeException("First page must be 1."); } // Search elements using the given pattern & check the returning elements are not considered roles on UF. final String pattern = request.getSearchPattern(); final boolean isPatternEmpty = isEmpty(pattern); Collection<T> result = isPatternEmpty ? entities : new LinkedList<T>(); if (!isPatternEmpty) { for (T entity : entities) { final String id = getIdentifier(entity); if (!isConstrained(request, id) && id.contains(pattern)) { result.add(entity); } } } return createResponse(result, request); }
@Override public SearchResponse<Group> search(SearchRequest request) throws SecurityManagementException { // First page must be 1. if (request.getPage() <= 0) { throw new RuntimeException("First page must be 1."); } final List<Group> roles = new LinkedList<>(); consumeRealm(realmResource -> { final RolesResource rolesResource = realmResource.roles(); final List<RoleRepresentation> roleRepresentations = rolesResource.list(); if (roleRepresentations != null && !roleRepresentations.isEmpty()) { for (RoleRepresentation role : roleRepresentations) { final String name = role.getName(); final Group group = createGroup(name); roles.add(group); } } }); return groupsSearchEngine.search(roles, request); }
@Override public SearchResponse<Group> search(SearchRequest request) throws SecurityManagementException { // First page must be 1. if (request.getPage() <= 0) { throw new RuntimeException("First page must be 1."); } final List<Group> roles = new LinkedList<>(); consumeRealm(realmResource -> { final RolesResource rolesResource = realmResource.roles(); final List<RoleRepresentation> roleRepresentations = rolesResource.list(); if (roleRepresentations != null && !roleRepresentations.isEmpty()) { for (RoleRepresentation role : roleRepresentations) { final String name = role.getName(); final Group group = createGroup(name); roles.add(group); } } }); return groupsSearchEngine.search(roles, request); }
@Override public SearchResponse<Group> search(SearchRequest request) throws SecurityManagementException { final GroupManager serviceImpl = getService(); if (request.getPage() == 0) { throw new IllegalArgumentException("First page must be 1."); } // Constraint registered UF roles as not allowed for searching. final Set<String> registeredRoleNames = SecurityManagementUtils.getRegisteredRoleNames(); if (request.getConstrainedIdentifiers() == null) { request.setConstrainedIdentifiers(registeredRoleNames); } else { request.getConstrainedIdentifiers().addAll(registeredRoleNames); } // Delegate the search to the specific provider. return serviceImpl.search(request); }
@Override public SearchResponse<User> search(SearchRequest request) { final UserManager serviceImpl = getService(); // Delegate to the current service provider implementation. if (request.getPage() == 0) { throw new IllegalArgumentException("First page must be 1."); } return serviceImpl.search(request); }
@Override public SearchResponse<Role> search(SearchRequest request) throws SecurityManagementException { final RoleManager serviceImpl = getService(); if (request.getPage() == 0) { throw new IllegalArgumentException("First page must be 1."); } return serviceImpl.search(request); }