diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java index 30d0a62f..b80a7365 100644 --- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java +++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/AnnotateRequest.java @@ -12,5 +12,6 @@ import lombok.NoArgsConstructor; public class AnnotateRequest { private String dossierId; + private String dossierTemplateId; private String fileId; } diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java index 10a41b05..74e385c0 100644 --- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java +++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionChangeLog.java @@ -15,8 +15,8 @@ public class RedactionChangeLog { private List redactionLogEntry = new ArrayList<>(); private long dictionaryVersion = -1; + private long dossierDictionaryVersion = -1; private long rulesVersion = -1; - - private String dossierTemplateId; + private long legalBasisVersion = -1; } diff --git a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java index 7c916084..71a8413e 100644 --- a/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java +++ b/redaction-service-v1/redaction-service-api-v1/src/main/java/com/iqser/red/service/redaction/v1/model/RedactionLog.java @@ -13,15 +13,9 @@ public class RedactionLog { private List redactionLogEntry; private List legalBasis; - private String dossierTemplateId; - private long dictionaryVersion = -1; - private long rulesVersion = -1; private long dossierDictionaryVersion = -1; + private long rulesVersion = -1; private long legalBasisVersion = -1; - - - - } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java index 12381286..a2e285e4 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/controller/RedactionController.java @@ -50,7 +50,7 @@ public class RedactionController implements RedactionResource { try (PDDocument pdDocument = PDDocument.load(storedObjectStream, MemoryUsageSetting.setupTempFileOnly())) { pdDocument.setAllSecurityToBeRemoved(true); - dictionaryService.updateDictionary(redactionLog.getDossierTemplateId(), annotateRequest.getDossierId()); + dictionaryService.updateDictionary(annotateRequest.getDossierTemplateId(), annotateRequest.getDossierId()); annotationService.annotate(pdDocument, redactionLog, sectionsGrid); try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java index bca42897..6de8a1ee 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DictionaryService.java @@ -27,14 +27,14 @@ public class DictionaryService { private final DictionaryClient dictionaryClient; - private final Map dictionariesByRuleSets = new HashMap<>(); + private final Map dictionariesByDossierTemplate = new HashMap<>(); private final Map dictionariesByDossier = new HashMap<>(); public DictionaryVersion updateDictionary(String dossierTemplateId, String dossierId) { long dossierTemplateDictionaryVersion = dictionaryClient.getVersion(dossierTemplateId, GLOBAL_DOSSIER); - var dossierTemplateDictionary = dictionariesByRuleSets.get(dossierTemplateId); + var dossierTemplateDictionary = dictionariesByDossierTemplate.get(dossierTemplateId); if (dossierTemplateDictionary == null || dossierTemplateDictionaryVersion > dossierTemplateDictionary.getDictionaryVersion()) { updateDictionaryEntry(dossierTemplateId, dossierTemplateDictionaryVersion, GLOBAL_DOSSIER); } @@ -54,10 +54,10 @@ public class DictionaryService { DictionaryVersion version = updateDictionary(dossierTemplateId, dossierId); Set newValues = new HashSet<>(); - List dictionaryModels = dictionariesByRuleSets.get(dossierTemplateId).getDictionary(); + List dictionaryModels = dictionariesByDossierTemplate.get(dossierTemplateId).getDictionary(); dictionaryModels.forEach(dictionaryModel -> { dictionaryModel.getEntries().forEach(dictionaryEntry -> { - if (dictionaryEntry.getVersion() > fromVersion.getRulesetVersion()) { + if (dictionaryEntry.getVersion() > fromVersion.getDossierTemplateVersion()) { newValues.add(new DictionaryIncrementValue(dictionaryEntry.getValue(), dictionaryModel.isCaseInsensitive())); } }); @@ -106,7 +106,7 @@ public class DictionaryService { dictionaryRepresentation.setDictionary(dictionary); if(dossierId.equals(GLOBAL_DOSSIER)) { - dictionariesByRuleSets.put(dossierTemplateId, dictionaryRepresentation); + dictionariesByDossierTemplate.put(dossierTemplateId, dictionaryRepresentation); } else { dictionariesByDossier.put(dossierId, dictionaryRepresentation); } @@ -124,8 +124,8 @@ public class DictionaryService { if (dm.isRecommendation() && !dm.getLocalEntries().isEmpty()) { dictionaryClient.addEntries(dm.getType(), dossierTemplateId, new ArrayList<>(dm.getLocalEntries()), false, GLOBAL_DOSSIER); long externalVersion = dictionaryClient.getVersion(dossierTemplateId, GLOBAL_DOSSIER); - if (externalVersion == dictionary.getVersion().getRulesetVersion() + 1) { - dictionary.getVersion().setRulesetVersion(externalVersion); + if (externalVersion == dictionary.getVersion().getDossierTemplateVersion() + 1) { + dictionary.getVersion().setDossierTemplateVersion(externalVersion); } } }); @@ -153,7 +153,7 @@ public class DictionaryService { public boolean isCaseInsensitiveDictionary(String type, String dossierTemplateId) { - DictionaryModel dictionaryModel = dictionariesByRuleSets.get(dossierTemplateId).getLocalAccessMap().get(type); + DictionaryModel dictionaryModel = dictionariesByDossierTemplate.get(dossierTemplateId).getLocalAccessMap().get(type); if (dictionaryModel != null) { return dictionaryModel.isCaseInsensitive(); } @@ -163,17 +163,17 @@ public class DictionaryService { public float[] getColor(String type, String dossierTemplateId) { - DictionaryModel model = dictionariesByRuleSets.get(dossierTemplateId).getLocalAccessMap().get(type); + DictionaryModel model = dictionariesByDossierTemplate.get(dossierTemplateId).getLocalAccessMap().get(type); if (model != null) { return model.getColor(); } - return dictionariesByRuleSets.get(dossierTemplateId).getDefaultColor(); + return dictionariesByDossierTemplate.get(dossierTemplateId).getDefaultColor(); } public boolean isHint(String type, String dossierTemplateId) { - DictionaryModel model = dictionariesByRuleSets.get(dossierTemplateId).getLocalAccessMap().get(type); + DictionaryModel model = dictionariesByDossierTemplate.get(dossierTemplateId).getLocalAccessMap().get(type); if (model != null) { return model.isHint(); } @@ -183,7 +183,7 @@ public class DictionaryService { public boolean isRecommendation(String type, String dossierTemplateId) { - DictionaryModel model = dictionariesByRuleSets.get(dossierTemplateId).getLocalAccessMap().get(type); + DictionaryModel model = dictionariesByDossierTemplate.get(dossierTemplateId).getLocalAccessMap().get(type); if (model != null) { return model.isRecommendation(); } @@ -195,7 +195,7 @@ public class DictionaryService { List copy = new ArrayList<>(); - var dossierTemplateRepresentation = dictionariesByRuleSets.get(dossierTemplateId); + var dossierTemplateRepresentation = dictionariesByDossierTemplate.get(dossierTemplateId); dossierTemplateRepresentation.getDictionary().forEach(dm -> { copy.add(SerializationUtils.clone(dm)); }); @@ -216,19 +216,19 @@ public class DictionaryService { public float[] getRequestRemoveColor(String dossierTemplateId) { - return dictionariesByRuleSets.get(dossierTemplateId).getRequestAddColor(); + return dictionariesByDossierTemplate.get(dossierTemplateId).getRequestAddColor(); } public float[] getNotRedactedColor(String dossierTemplateId) { - return dictionariesByRuleSets.get(dossierTemplateId).getNotRedactedColor(); + return dictionariesByDossierTemplate.get(dossierTemplateId).getNotRedactedColor(); } public float[] getRequestAddColor(String dossierTemplateId) { - return dictionariesByRuleSets.get(dossierTemplateId).getRequestAddColor(); + return dictionariesByDossierTemplate.get(dossierTemplateId).getRequestAddColor(); } } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java index 9c0d75b8..3872f49f 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/ReanalyzeService.java @@ -67,10 +67,9 @@ public class ReanalyzeService { var legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getDossierTemplateId()); var redactionLog = new RedactionLog(classifiedDoc.getRedactionLogEntities(),legalBasis, - analyzeRequest.getDossierTemplateId(), - classifiedDoc.getDictionaryVersion().getRulesetVersion(), - classifiedDoc.getRulesVersion(), + classifiedDoc.getDictionaryVersion().getDossierTemplateVersion(), classifiedDoc.getDictionaryVersion().getDossierVersion(), + classifiedDoc.getRulesVersion(), legalBasisClient.getVersion(analyzeRequest.getDossierTemplateId())); log.info("Analyzed with rules {} and dictionary {} for dossierTemplate: {}", classifiedDoc.getRulesVersion(), classifiedDoc @@ -253,7 +252,7 @@ public class ReanalyzeService { RedactionLog redactionLog, Text text, DictionaryIncrement dictionaryIncrement) { - redactionLog.setDictionaryVersion(dictionaryIncrement.getDictionaryVersion().getRulesetVersion()); + redactionLog.setDictionaryVersion(dictionaryIncrement.getDictionaryVersion().getDossierTemplateVersion()); redactionLog.setDossierDictionaryVersion(dictionaryIncrement.getDictionaryVersion().getDossierVersion()); var changeLog = redactionChangeLogService.createAndStoreChangeLog(analyzeRequest.getDossierId(), analyzeRequest.getFileId(), redactionLog); diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionChangeLogService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionChangeLogService.java index 1d586ad1..53fc805e 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionChangeLogService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/RedactionChangeLogService.java @@ -57,8 +57,11 @@ public class RedactionChangeLogService { .map(entry -> convert(entry, ChangeType.REMOVED)) .collect(Collectors.toList())); - return new RedactionChangeLog(changeLogEntries, currentRedactionLog.getDictionaryVersion(), currentRedactionLog.getRulesVersion(), currentRedactionLog - .getDossierTemplateId()); + return new RedactionChangeLog(changeLogEntries, + currentRedactionLog.getDictionaryVersion(), + currentRedactionLog.getDossierDictionaryVersion(), + currentRedactionLog.getRulesVersion(), + currentRedactionLog.getLegalBasisVersion()); }