RED-2439: Calculate surrounding text for manual redactions
This commit is contained in:
parent
62b47b094c
commit
a6c3cc864a
@ -34,4 +34,8 @@ public interface ManualRedactionRepository extends JpaRepository<ManualRedaction
|
|||||||
|
|
||||||
@Query("select m from ManualRedactionEntryEntity m where m.id.fileId = :fileId and (:includeDeletions = true or m.softDeletedTime is null)")
|
@Query("select m from ManualRedactionEntryEntity m where m.id.fileId = :fileId and (:includeDeletions = true or m.softDeletedTime is null)")
|
||||||
List<ManualRedactionEntryEntity> findByFileIdIncludeDeletions(String fileId, boolean includeDeletions);
|
List<ManualRedactionEntryEntity> findByFileIdIncludeDeletions(String fileId, boolean includeDeletions);
|
||||||
|
|
||||||
|
@Modifying
|
||||||
|
@Query("update ManualRedactionEntryEntity m set m.textBefore = :textBefore, m.textAfter = :textAfter where m.id = :id")
|
||||||
|
void updateSurroundingText(AnnotationEntityId id, String textBefore, String textAfter);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,13 +3,16 @@ package com.iqser.red.service.peristence.v1.server.service;
|
|||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.google.common.hash.HashFunction;
|
import com.google.common.hash.HashFunction;
|
||||||
import com.google.common.hash.Hashing;
|
import com.google.common.hash.Hashing;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.client.RedactionClient;
|
||||||
import com.iqser.red.service.peristence.v1.server.controller.DictionaryController;
|
import com.iqser.red.service.peristence.v1.server.controller.DictionaryController;
|
||||||
|
import com.iqser.red.service.peristence.v1.server.utils.ManualRedactionMapper;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.*;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.*;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ManualRedactionRepository;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.*;
|
import com.iqser.red.service.persistence.service.v1.api.model.annotations.*;
|
||||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||||
import com.iqser.red.service.redaction.v1.model.RedactionLogEntry;
|
import com.iqser.red.service.redaction.v1.model.RedactionLogEntry;
|
||||||
@ -23,7 +26,9 @@ import java.time.OffsetDateTime;
|
|||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert;
|
||||||
import static com.iqser.red.service.persistence.management.v1.processor.utils.TypeIdUtils.toTypeId;
|
import static com.iqser.red.service.persistence.management.v1.processor.utils.TypeIdUtils.toTypeId;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -46,6 +51,8 @@ public class ManualRedactionService {
|
|||||||
private final ManualRedactionProviderService manualRedactionProviderService;
|
private final ManualRedactionProviderService manualRedactionProviderService;
|
||||||
private final AnalysisFlagsCalculationService analysisFlagsCalculationService;
|
private final AnalysisFlagsCalculationService analysisFlagsCalculationService;
|
||||||
private final StopwordService stopwordService;
|
private final StopwordService stopwordService;
|
||||||
|
private final RedactionClient redactionClient;
|
||||||
|
private final ManualRedactionRepository manualRedactionRepository;
|
||||||
|
|
||||||
private final HashFunction hashFunction = Hashing.murmur3_128();
|
private final HashFunction hashFunction = Hashing.murmur3_128();
|
||||||
|
|
||||||
@ -93,6 +100,19 @@ public class ManualRedactionService {
|
|||||||
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
analysisFlagsCalculationService.calculateFlags(dossierId, fileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO This is just a proof of concept.
|
||||||
|
var loaded = convert(getAddRedaction(fileId, annotationId), ManualRedactionEntry.class, new ManualRedactionMapper());
|
||||||
|
ManualRedactions manualRedactions = ManualRedactions.builder()
|
||||||
|
.entriesToAdd(Set.of(loaded))
|
||||||
|
.build();
|
||||||
|
var withSurroundingText = redactionClient.addSurroundingText(dossierId, fileId, manualRedactions);
|
||||||
|
if(withSurroundingText != null) {
|
||||||
|
withSurroundingText.getEntriesToAdd().forEach(e -> {
|
||||||
|
manualRedactionRepository.updateSurroundingText(new AnnotationEntityId(annotationId, fileId), e.getTextBefore(), e
|
||||||
|
.getTextAfter());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return ManualAddResponse.builder().annotationId(annotationId).commentId(commentId).build();
|
return ManualAddResponse.builder().annotationId(annotationId).commentId(commentId).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<redaction-service.version>3.36.0</redaction-service.version>
|
<redaction-service.version>3.40.0</redaction-service.version>
|
||||||
<search-service.version>2.10.0</search-service.version>
|
<search-service.version>2.10.0</search-service.version>
|
||||||
<pdftron-redaction-service.version>3.17.0</pdftron-redaction-service.version>
|
<pdftron-redaction-service.version>3.17.0</pdftron-redaction-service.version>
|
||||||
<redaction-report-service.version>3.19.0</redaction-report-service.version>
|
<redaction-report-service.version>3.19.0</redaction-report-service.version>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user