diff --git a/pom.xml b/pom.xml
index 3b47db4e..c2b4ded1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.data
spring-data-keyvalue
- 2.5.0-SNAPSHOT
+ 2.5.0-DATAKV-330-SNAPSHOT
Spring Data KeyValue
@@ -17,7 +17,7 @@
- 2.5.0-SNAPSHOT
+ 2.4.0-DATACMNS-800-SNAPSHOT
spring.data.keyvalue
diff --git a/src/main/java/org/springframework/data/keyvalue/repository/support/SimpleKeyValueRepository.java b/src/main/java/org/springframework/data/keyvalue/repository/support/SimpleKeyValueRepository.java
index f26bae64..80e55d56 100644
--- a/src/main/java/org/springframework/data/keyvalue/repository/support/SimpleKeyValueRepository.java
+++ b/src/main/java/org/springframework/data/keyvalue/repository/support/SimpleKeyValueRepository.java
@@ -216,6 +216,14 @@ public void deleteAll(Iterable extends T> entities) {
entities.forEach(this::delete);
}
+ @Override
+ public void deleteAllById(Iterable extends ID> ids) {
+
+ Assert.notNull(ids, "The given Iterable of Ids must not be null!");
+
+ ids.forEach(this::deleteById);
+ }
+
/*
* (non-Javadoc)
* @see org.springframework.data.repository.CrudRepository#deleteAll()
diff --git a/src/test/java/org/springframework/data/keyvalue/repository/SimpleKeyValueRepositoryUnitTests.java b/src/test/java/org/springframework/data/keyvalue/repository/SimpleKeyValueRepositoryUnitTests.java
index 7920af33..093445d2 100644
--- a/src/test/java/org/springframework/data/keyvalue/repository/SimpleKeyValueRepositoryUnitTests.java
+++ b/src/test/java/org/springframework/data/keyvalue/repository/SimpleKeyValueRepositoryUnitTests.java
@@ -15,6 +15,7 @@
*/
package org.springframework.data.keyvalue.repository;
+import static java.util.Arrays.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
@@ -46,6 +47,7 @@
/**
* @author Christoph Strobl
* @author Eugene Nikiforov
+ * @author Jens Schauder
*/
@RunWith(MockitoJUnitRunner.class)
public class SimpleKeyValueRepositoryUnitTests {
@@ -94,7 +96,7 @@ public void multipleSave() {
Foo one = new Foo("one");
Foo two = new Foo("two");
- repo.saveAll(Arrays.asList(one, two));
+ repo.saveAll(asList(one, two));
verify(opsMock, times(1)).insert(eq(one));
verify(opsMock, times(1)).insert(eq(two));
}
@@ -118,6 +120,15 @@ public void deleteById() {
verify(opsMock, times(1)).delete(eq("one"), eq(Foo.class));
}
+ @Test // DATAKV-330
+ public void deleteAllById() {
+
+ repo.deleteAllById(asList("one", "two"));
+
+ verify(opsMock, times(1)).delete(eq("one"), eq(Foo.class));
+ verify(opsMock, times(1)).delete(eq("two"), eq(Foo.class));
+ }
+
@Test // DATACMNS-525
public void deleteAll() {
@@ -131,7 +142,7 @@ public void deleteAll() {
public void findAllIds() {
when(opsMock.findById(any(), any(Class.class))).thenReturn(Optional.empty());
- repo.findAllById(Arrays.asList("one", "two", "three"));
+ repo.findAllById(asList("one", "two", "three"));
verify(opsMock, times(3)).findById(anyString(), eq(Foo.class));
}
diff --git a/src/test/java/org/springframework/data/map/AbstractRepositoryUnitTests.java b/src/test/java/org/springframework/data/map/AbstractRepositoryUnitTests.java
index a7eb6183..af509e90 100644
--- a/src/test/java/org/springframework/data/map/AbstractRepositoryUnitTests.java
+++ b/src/test/java/org/springframework/data/map/AbstractRepositoryUnitTests.java
@@ -43,6 +43,7 @@
* @author Oliver Gierke
* @author Thomas Darimont
* @author Mark Paluch
+ * @author Jens Schauder
*/
public abstract class AbstractRepositoryUnitTests {