From 2d890d1189225135228fe79a7fa86aa98474e7ec Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Tue, 23 Jan 2024 16:55:39 +0100 Subject: [PATCH] hotfix: analysisNumber not set in reanalysis --- .../redaction/v1/server/service/AnalyzeService.java | 12 +++++++----- .../v1/server/service/EntityChangeLogService.java | 8 +++----- .../v1/server/service/EntityLogCreatorService.java | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java index d82a4e06..fbda3175 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java @@ -107,16 +107,18 @@ public class AnalyzeService { log.info("{} Sections to reanalyze found for file {} in dossier {}", sectionsToReanalyseIds.size(), analyzeRequest.getFileId(), analyzeRequest.getDossierId()); if (sectionsToReAnalyse.isEmpty()) { - importedRedactionService.processImportedRedactions(previousEntityLog, analyzeRequest); // do this only to update the imported redactions with unprocessed manual changes if there are changes + importedRedactionService.processImportedRedactions(previousEntityLog, analyzeRequest); + + EntityLogChanges entityLogChanges = entityLogCreatorService.updateVersionsAndReturnChanges(previousEntityLog, + dictionaryIncrement.getDictionaryVersion(), + analyzeRequest, + false); return finalizeAnalysis(analyzeRequest, startTime, kieContainerCreationService.getLatestKieContainer(analyzeRequest.getDossierTemplateId(), RuleFileType.COMPONENT), - entityLogCreatorService.updateVersionsAndReturnChanges(previousEntityLog, - dictionaryIncrement.getDictionaryVersion(), - analyzeRequest.getDossierTemplateId(), - false), + entityLogChanges, document, previousRedactionLog, document.getNumberOfPages(), diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java index 0d867f37..cb967c15 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityChangeLogService.java @@ -46,9 +46,7 @@ public class EntityChangeLogService { if (!previousEntity.getState().equals(entityLogEntry.getState())) { hasChanges = true; ChangeType changeType = calculateChangeType(entityLogEntry.getState(), previousEntity.getState()); - if (changeType != null) { - entityLogEntry.getChanges().add(new Change(analysisNumber, changeType, now)); - } + entityLogEntry.getChanges().add(new Change(analysisNumber, changeType, now)); } } addRemovedEntriesAsRemoved(previousEntityLogEntries, newEntityLogEntries, analysisNumber, now); @@ -64,7 +62,8 @@ public class EntityChangeLogService { Set existingIds = newEntityLogEntries.stream().map(EntityLogEntry::getId).collect(Collectors.toSet()); // no need to check imported redactions because they will be added with the merged changes after this step List removedEntries = previousEntityLogEntries.stream() - .filter(entry -> !entry.getType().equals(ImportedRedactionService.IMPORTED_REDACTION_TYPE) && !existingIds.contains(entry.getId())).toList(); + .filter(entry -> !entry.getType().equals(ImportedRedactionService.IMPORTED_REDACTION_TYPE) && !existingIds.contains(entry.getId())) + .toList(); removedEntries.forEach(entry -> entry.getChanges().add(new Change(analysisNumber, ChangeType.REMOVED, now))); removedEntries.forEach(entry -> entry.setState(EntryState.REMOVED)); newEntityLogEntries.addAll(removedEntries); @@ -91,5 +90,4 @@ public class EntityChangeLogService { return (state.equals(EntryState.REMOVED) || state.equals(EntryState.IGNORED)); } - } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java index d5edaa84..d0271272 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/EntityLogCreatorService.java @@ -76,7 +76,6 @@ public class EntityLogCreatorService { rulesVersion, legalBasisClient.getVersion(analyzeRequest.getDossierTemplateId())); - List previousExistingEntityLogEntries = getPreviousEntityLogEntries(analyzeRequest.getDossierId(), analyzeRequest.getFileId()); // compute changes will be done for the new entries without the imported redactions, since previous imported redactions are present in // previousExistingEntityLogEntries and have to be ignored in this calculation because the changes will be merged in the next step (processImportedRedactions) @@ -99,13 +98,14 @@ public class EntityLogCreatorService { } - public EntityLogChanges updateVersionsAndReturnChanges(EntityLog entityLog, DictionaryVersion dictionaryVersion, String dossierTemplateId, boolean hasChanges) { + public EntityLogChanges updateVersionsAndReturnChanges(EntityLog entityLog, DictionaryVersion dictionaryVersion, AnalyzeRequest analyzeRequest, boolean hasChanges) { - List legalBasis = legalBasisClient.getLegalBasisMapping(dossierTemplateId); - entityLog.setLegalBasisVersion(legalBasisClient.getVersion(dossierTemplateId)); + List legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getDossierTemplateId()); + entityLog.setLegalBasisVersion(legalBasisClient.getVersion(analyzeRequest.getDossierTemplateId())); entityLog.setLegalBasis(toEntityLogLegalBasis(legalBasis)); entityLog.setDictionaryVersion(dictionaryVersion.getDossierTemplateVersion()); entityLog.setDossierDictionaryVersion(dictionaryVersion.getDossierVersion()); + entityLog.setAnalysisNumber(analyzeRequest.getAnalysisNumber()); return new EntityLogChanges(entityLog, hasChanges); } @@ -135,7 +135,7 @@ public class EntityLogCreatorService { importedRedactionService.processImportedRedactions(previousEntityLog, analyzeRequest); - return updateVersionsAndReturnChanges(previousEntityLog, dictionaryVersion, analyzeRequest.getDossierTemplateId(), hasChanges); + return updateVersionsAndReturnChanges(previousEntityLog, dictionaryVersion, analyzeRequest, hasChanges); }