From a0c7d88767290d0683b4897dc7da1bd9c8cc9287 Mon Sep 17 00:00:00 2001 From: Corina Olariu Date: Thu, 22 Jun 2023 11:06:46 +0300 Subject: [PATCH] RED-6912 - Entries not sorted correctly in the dossier dictionary -backport to 3.6.2 - sort entries and falsePositives and falseRecommendations in endpoint getDictionaryForType - add junit tests --- .../v1/server/controller/DictionaryController.java | 11 ++++++++--- .../v1/server/integration/tests/DictionaryTest.java | 10 ++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java index 27a250a8d..3af7e3815 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DictionaryController.java @@ -2,7 +2,9 @@ package com.iqser.red.service.peristence.v1.server.controller; import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; +import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; import javax.transaction.Transactional; @@ -98,9 +100,12 @@ public class DictionaryController implements DictionaryResource { var entity = dictionaryPersistenceService.getType(typeId); var target = convert(entity, Type.class); - target.setEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.ENTRY, fromVersion), DictionaryEntry.class)); - target.setFalsePositiveEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.FALSE_POSITIVE, fromVersion), DictionaryEntry.class)); - target.setFalseRecommendationEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.FALSE_RECOMMENDATION, fromVersion), DictionaryEntry.class)); + target.setEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.ENTRY, fromVersion), DictionaryEntry.class) + .stream().sorted(Comparator.comparing(DictionaryEntry::getValue)).collect(Collectors.toList())); + target.setFalsePositiveEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.FALSE_POSITIVE, fromVersion), DictionaryEntry.class) + .stream().sorted(Comparator.comparing(DictionaryEntry::getValue)).collect(Collectors.toList())); + target.setFalseRecommendationEntries(convert(entryPersistenceService.getEntries(typeId, DictionaryEntryType.FALSE_RECOMMENDATION, fromVersion), DictionaryEntry.class) + .stream().sorted(Comparator.comparing(DictionaryEntry::getValue)).collect(Collectors.toList())); return target; } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java index 7a2f07407..67f1fb918 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DictionaryTest.java @@ -376,6 +376,16 @@ public class DictionaryTest extends AbstractPersistenceServerServiceTest { var existingEntries = dictionaryClient.getEntriesForType(createdType.getTypeId(), 0L, DictionaryEntryType.ENTRY); assertThat(existingEntries.stream().filter(f -> !f.isDeleted()).count()).isEqualTo(5); + + var dictionary = dictionaryClient.getDictionaryForType(createdType.getTypeId(), 0L); + var dictEntries = dictionary.getEntries(); + assertThat(dictEntries).hasSize(5); + assertThat(dictEntries.get(0).getValue()).isEqualTo(word2); + assertThat(dictEntries.get(1).getValue()).isEqualTo(word1); + assertThat(dictEntries.get(2).getValue()).isEqualTo(word5); + assertThat(dictEntries.get(3).getValue()).isEqualTo(word4); + assertThat(dictEntries.get(4).getValue()).isEqualTo(word3); + } } -- 2.47.2