mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-18 03:01:05 +01:00
Fix limit with negative integer for SearchUtil (#1627)
Co-authored-by: René Pfeuffer <rene.pfeuffer@cloudogu.com>
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.group;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
@@ -187,23 +187,14 @@ public class DefaultGroupManager extends AbstractGroupManager
|
||||
|
||||
final PermissionActionCheck<Group> check = GroupPermissions.read();
|
||||
return SearchUtil.search(searchRequest, groupDAO.getAll(),
|
||||
new TransformFilter<Group, Group>()
|
||||
{
|
||||
@Override
|
||||
public Group accept(Group group)
|
||||
{
|
||||
Group result = null;
|
||||
|
||||
if (check.isPermitted(group) && matches(searchRequest, group))
|
||||
{
|
||||
result = group.clone();
|
||||
group -> {
|
||||
if (check.isPermitted(group) && matches(searchRequest, group)) {
|
||||
return group.clone();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
});
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private boolean matches(SearchRequest searchRequest, Group group) {
|
||||
return SearchUtil.matchesOne(searchRequest, group.getName(), group.getDescription());
|
||||
}
|
||||
@@ -222,7 +213,7 @@ public class DefaultGroupManager extends AbstractGroupManager
|
||||
public Group get(String id)
|
||||
{
|
||||
GroupPermissions.read(id).check();
|
||||
|
||||
|
||||
Group group = groupDAO.get(id);
|
||||
|
||||
if (group != null)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.user;
|
||||
|
||||
import com.github.sdorra.ssp.PermissionActionCheck;
|
||||
@@ -217,16 +217,11 @@ public class DefaultUserManager extends AbstractUserManager
|
||||
}
|
||||
|
||||
final PermissionActionCheck<User> check = UserPermissions.read();
|
||||
return SearchUtil.search(searchRequest, userDAO.getAll(), new TransformFilter<User, User>() {
|
||||
@Override
|
||||
public User accept(User user)
|
||||
{
|
||||
User result = null;
|
||||
if (check.isPermitted(user) && matches(searchRequest, user)) {
|
||||
result = user.clone();
|
||||
}
|
||||
return result;
|
||||
return SearchUtil.search(searchRequest, userDAO.getAll(), user -> {
|
||||
if (check.isPermitted(user) && matches(searchRequest, user)) {
|
||||
return user.clone();
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -313,16 +308,11 @@ public class DefaultUserManager extends AbstractUserManager
|
||||
public Collection<User> getAll(Comparator<User> comaparator, int start, int limit) {
|
||||
final PermissionActionCheck<User> check = UserPermissions.read();
|
||||
return Util.createSubCollection(userDAO.getAll(), comaparator,
|
||||
new CollectionAppender<User>()
|
||||
{
|
||||
@Override
|
||||
public void append(Collection<User> collection, User item)
|
||||
{
|
||||
(collection, item) -> {
|
||||
if (check.isPermitted(item)) {
|
||||
collection.add(item.clone());
|
||||
}
|
||||
}
|
||||
}, start, limit);
|
||||
}, start, limit);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user