From 3d71c96d94332f5b7b23055f17454d326c30d11f Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Sun, 18 Feb 2018 19:25:24 +0100
Subject: [PATCH] Correctly handle empty list for findAll(Iterable<String>)

An empty list is now returned instead of requesting all documents.
---
 .../arsnova/persistance/couchdb/CouchDbCrudRepository.java    | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCrudRepository.java b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCrudRepository.java
index 888060648..8c745c656 100644
--- a/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCrudRepository.java
+++ b/src/main/java/de/thm/arsnova/persistance/couchdb/CouchDbCrudRepository.java
@@ -8,6 +8,7 @@ import org.springframework.data.repository.CrudRepository;
 import org.springframework.data.repository.NoRepositoryBean;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -80,6 +81,9 @@ abstract class CouchDbCrudRepository<T extends Entity> extends CouchDbRepository
 		if (!(strings instanceof Collection)) {
 			throw new IllegalArgumentException("Implementation only supports Collections.");
 		}
+		if (((Collection) strings).isEmpty()) {
+			return Collections.emptyList();
+		}
 
 		return db.queryView(createQuery(countableAllViewName)
 						.keys((Collection<String>) strings)
-- 
GitLab