Merge branch 'RED-9487-4.1' into 'release/2.465.x'

RED-9487: Fixed resizing of manual redactions when auto analysis is disabled

See merge request redactmanager/persistence-service!570
This commit is contained in:
Dominique Eifländer 2024-07-01 12:24:40 +02:00
commit 31c2d48371
2 changed files with 18 additions and 1 deletions

View File

@ -36,7 +36,7 @@ public class EntityLogMongoWrapperService {
List<EntityLogEntry> entityLogEntries = entityLogMongoService.findEntityLogEntriesByIds(dossierId, fileId, ids); List<EntityLogEntry> entityLogEntries = entityLogMongoService.findEntityLogEntriesByIds(dossierId, fileId, ids);
if (includeUnprocessed) { if (includeUnprocessed) {
DossierEntity dossier = dossierService.getDossierById(dossierId); DossierEntity dossier = dossierService.getDossierById(dossierId);
ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly()); ManualRedactions unprocessedManualRedactions = manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.unprocessedOnly(), ids);
entityLogEntries = entityLogMergeService.mergeEntityLogEntries(unprocessedManualRedactions, entityLogEntries.stream().map(EntityLogEntry::getId).toList(), dossier, fileId); entityLogEntries = entityLogMergeService.mergeEntityLogEntries(unprocessedManualRedactions, entityLogEntries.stream().map(EntityLogEntry::getId).toList(), dossier, fileId);
} }
return entityLogEntries; return entityLogEntries;

View File

@ -4,7 +4,9 @@ import static com.knecon.fforesight.databasetenantcommons.providers.utils.MagicC
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -63,6 +65,12 @@ public class ManualRedactionProviderService {
@Transactional @Transactional
public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options) { public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options) {
return getManualRedactions(fileId, options, Collections.emptyList());
}
@Transactional
public ManualRedactions getManualRedactions(String fileId, ManualChangesQueryOptions options, List<String> annotationIds) {
Set<ManualRedactionEntry> entriesToAdd; Set<ManualRedactionEntry> entriesToAdd;
Set<IdRemoval> removals; Set<IdRemoval> removals;
@ -113,6 +121,15 @@ public class ManualRedactionProviderService {
legalBasisChanges = Collections.emptySet(); legalBasisChanges = Collections.emptySet();
} }
if(!annotationIds.isEmpty()){
return new ManualRedactions(removals.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
entriesToAdd.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
forceRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
recategorizations.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
legalBasisChanges.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()),
resizeRedactions.stream().filter(r -> annotationIds.contains(r.getAnnotationId())).collect(Collectors.toSet()));
}
return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, resizeRedactions); return new ManualRedactions(removals, entriesToAdd, forceRedactions, recategorizations, legalBasisChanges, resizeRedactions);
} }