RED-9297: When removing annotation with dictionary and manual always add a local remove as well #547

Merged
dominique.eiflaender1 merged 1 commits from RED-9297 into master 2024-06-17 15:10:56 +02:00

View File

@ -49,6 +49,7 @@ import com.iqser.red.service.persistence.management.v1.processor.utils.TypeIdUti
import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.MessageType;
import com.iqser.red.service.persistence.service.v1.api.shared.model.RequestEntryPair;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Engine;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogEntry;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position;
@ -69,6 +70,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations
import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualResizeRedaction;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.Dossier;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.type.DictionaryEntryType;
import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.AddRedactionRequestModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.ForceRedactionRequestModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.LegalBasisChangeRequestModel;
@ -213,6 +215,13 @@ public class ManualRedactionService {
log.info("add removeRedaction for file {} and annotation {}", fileId, removeRedactionRequest.getAnnotationId());
IdRemovalEntity idRemoval = removeRedactionPersistenceService.insert(fileId, removeRedactionRequest);
if ((entityLogEntry.isDictionaryEntry() || entityLogEntry.isDossierDictionaryEntry())
&& (entityLogEntry.getEngines().contains(Engine.DICTIONARY)
|| entityLogEntry.getEngines().contains(Engine.DOSSIER_DICTIONARY))
&& entityLogEntry.getEngines().contains(Engine.MANUAL)) {
insertLocalRemove(fileId, removeRedactionRequest);
}
Long commentId = commentService.addCommentAndGetId(fileId,
removeRedactionRequest.getAnnotationId(),
removeRedactionRequest.getComment(),
@ -240,6 +249,24 @@ public class ManualRedactionService {
}
private void insertLocalRemove(String fileId, RemoveRedactionRequest removeRedactionRequest) {
removeRedactionPersistenceService.insert(fileId,
RemoveRedactionRequest.builder()
.annotationId(removeRedactionRequest.getAnnotationId())
.value(removeRedactionRequest.getValue())
.dictionaryEntryType(removeRedactionRequest.getDictionaryEntryType())
.user(removeRedactionRequest.getUser())
.dossierId(removeRedactionRequest.getDossierId())
.dossierTemplateId(removeRedactionRequest.getDossierTemplateId())
.typeToRemove(removeRedactionRequest.getTypeToRemove())
.removeFromDictionary(false)
.removeFromAllDossiers(false)
.page(removeRedactionRequest.getPage())
.build());
}
@Transactional
public List<ManualAddResponse> addForceRedaction(String dossierId, String fileId, Set<ForceRedactionRequestModel> forceRedactionRequests) {