From c4c8c147909ec9ab39788d43558d21601fcb3f52 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Wed, 11 Nov 2020 11:14:06 +0100 Subject: [PATCH 1/2] DATAKV-330 - Prepare branch --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From ade7602620917e708edc2cc1bb75602d2bebf0c1 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Wed, 11 Nov 2020 11:46:49 +0100 Subject: [PATCH 2/2] DATAKV-330 - Implement CrudRepository.delete(Iterable ids). --- .../support/SimpleKeyValueRepository.java | 8 ++++++++ .../SimpleKeyValueRepositoryUnitTests.java | 15 +++++++++++++-- .../data/map/AbstractRepositoryUnitTests.java | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) 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 entities) { entities.forEach(this::delete); } + @Override + public void deleteAllById(Iterable 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 {