From 0dc890f7f75669fd64f33e789356bb01e03e93cb Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Wed, 3 Jan 2018 13:14:11 +0100 Subject: [PATCH] #21 - removed intermediate step of creating a Pair. Avoids an exception, since Pair can not have a null values. --- .../support/EnversRevisionRepositoryImpl.java | 4 +-- .../support/RepositoryIntegrationTests.java | 32 +++++++++++++++++-- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java index 4db0914..9780e5a 100755 --- a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java +++ b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java @@ -52,6 +52,7 @@ import org.springframework.util.Assert; * @author Oliver Gierke * @author Philipp Huegelmeyer * @author Michael Igler + * @author Jens Schauder */ public class EnversRevisionRepositoryImpl> extends SimpleJpaRepository implements RevisionRepository { @@ -215,8 +216,7 @@ public class EnversRevisionRepositoryImpl> toRevisions(Map source, Map revisionEntities) { return source.entrySet().stream()// - .map(entry -> Pair.of(revisionEntities.get(entry.getKey()), entry.getValue()))// - .map(pair -> Revision.of((RevisionMetadata) getRevisionMetadata(pair.getFirst()), pair.getSecond()))// + .map(entry -> Revision.of((RevisionMetadata) getRevisionMetadata(revisionEntities.get(entry.getKey())), entry.getValue()))// .sorted()// .collect(StreamUtils.toUnmodifiableList()); } diff --git a/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java b/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java index 42e06b5..a68aa4d 100755 --- a/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/envers/repository/support/RepositoryIntegrationTests.java @@ -41,15 +41,18 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * Integration tests for repositories. - * + * * @author Oliver Gierke + * @author Jens Schauder */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = Config.class) public class RepositoryIntegrationTests { - @Autowired LicenseRepository licenseRepository; - @Autowired CountryRepository countryRepository; + @Autowired + LicenseRepository licenseRepository; + @Autowired + CountryRepository countryRepository; @Before public void setUp() { @@ -157,4 +160,27 @@ public class RepositoryIntegrationTests { assertThat(page.getContent().get(0).getRequiredRevisionNumber()) .isGreaterThan(page.getContent().get(1).getRequiredRevisionNumber()); } + + /** + * @see #21 + */ + @Test + public void findsDeletedRevisions() { + + Country de = new Country(); + de.code = "de"; + de.name = "Deutschland"; + + countryRepository.save(de); + + countryRepository.delete(de); + + Revisions revisions = countryRepository.findRevisions(de.id); + + assertThat(revisions).hasSize(2); + assertThat(revisions.getLatestRevision().getEntity()) // + .isNotNull() // + .extracting(c -> c.name, c -> c.code) // + .containsExactly(null, null); + } }