From e651c8225f5e1ad1498823b17fbdcc7d2ee91466 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Thu, 21 Sep 2023 15:39:20 +0200 Subject: [PATCH] DM-285: Change component log --- .../controller/AnalysisLogController.java | 21 +----- .../controller/ComponentControllerV2.java | 71 ++++++++++--------- ...mponentLogCategory.java => Component.java} | 6 +- .../componentlog/ComponentLog.java | 7 +- ...onentLogEntry.java => ComponentValue.java} | 9 +-- ...ityReference.java => EntityReference.java} | 6 +- 6 files changed, 53 insertions(+), 67 deletions(-) rename persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/{ComponentLogCategory.java => Component.java} (77%) rename persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/{ComponentLogEntry.java => ComponentValue.java} (72%) rename persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/{ComponentEntityReference.java => EntityReference.java} (80%) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/AnalysisLogController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/AnalysisLogController.java index 77a232b46..bb58879a1 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/AnalysisLogController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/AnalysisLogController.java @@ -1,7 +1,6 @@ package com.iqser.red.persistence.service.v1.external.api.impl.controller; import static com.iqser.red.service.persistence.management.v1.processor.roles.ActionRoles.READ_REDACTION_LOG; -import static com.iqser.red.service.persistence.management.v1.processor.service.FeignExceptionHandler.processFeignException; import java.util.List; @@ -18,7 +17,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.FilteredEntityLogRequest; -import feign.FeignException; import lombok.RequiredArgsConstructor; @RestController @@ -36,11 +34,7 @@ public class AnalysisLogController implements AnalysisLogResource { @RequestParam(value = "withManualRedactions", required = false, defaultValue = "true") boolean withManualRedactions, @RequestParam(value = "includeFalsePositives", required = false, defaultValue = "false") boolean includeFalsePositives) { - try { - return entityLogService.getEntityLog(dossierId, fileId, excludedTypes); - } catch (FeignException e) { - throw processFeignException(e); - } + return entityLogService.getEntityLog(dossierId, fileId, excludedTypes); } @@ -49,23 +43,14 @@ public class AnalysisLogController implements AnalysisLogResource { @PathVariable(FILE_ID) String fileId, @RequestBody FilteredEntityLogRequest filteredEntityLogRequest) { - try { - return entityLogService.getFilteredEntityLog(dossierId, fileId, filteredEntityLogRequest); - } catch (FeignException e) { - throw processFeignException(e); - } - + return entityLogService.getFilteredEntityLog(dossierId, fileId, filteredEntityLogRequest); } @Override public ComponentLog getComponentLog(String dossierId, String fileId) { - try { - return componentLogService.getComponentLog(dossierId, fileId); - } catch (FeignException e) { - throw processFeignException(e); - } + return componentLogService.getComponentLog(dossierId, fileId); } } diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java index 9d371b240..03a5af6c9 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java @@ -1,29 +1,34 @@ package com.iqser.red.persistence.service.v2.external.api.impl.controller; +import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierResource.DOSSIER_ID_PARAM; +import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource.DOSSIER_TEMPLATE_ID_PARAM; +import static com.iqser.red.service.persistence.service.v2.api.external.resource.FileResource.FILE_ID_PARAM; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + import com.iqser.red.persistence.service.v1.external.api.impl.controller.AnalysisLogController; import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController; import com.iqser.red.persistence.service.v1.external.api.impl.controller.StatusController; import com.iqser.red.service.persistence.management.v1.processor.service.ComponentOverrideService; -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentEntityReference; -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogCategory; -import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.Component; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentValue; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.EntityReference; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentsOverrides; -import com.iqser.red.service.persistence.service.v2.api.external.model.Component; import com.iqser.red.service.persistence.service.v2.api.external.model.Entity; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponents; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList; import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource; + import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.*; - -import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierResource.DOSSIER_ID_PARAM; -import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource.DOSSIER_TEMPLATE_ID_PARAM; -import static com.iqser.red.service.persistence.service.v2.api.external.resource.FileResource.FILE_ID_PARAM; @RestController @RequiredArgsConstructor @@ -48,47 +53,48 @@ public class ComponentControllerV2 implements ComponentResource { var overrides = componentOverrideService.getOverrides(dossierId, fileId); Map> components = new HashMap<>(); - List componentLogCategories = componentLog.getComponentLogCategories(); + List componentLogCategories = componentLog.getComponents(); if (componentLogCategories != null && !componentLogCategories.isEmpty()) { componentLogCategories.forEach(c -> { - if (overrides.getComponentOverrides() != null && overrides.getComponentOverrides().containsKey(c.getCategory())) { - components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).add(overrides.getComponentOverrides().get(c.getCategory())); + if (overrides.getComponentOverrides() != null && overrides.getComponentOverrides().containsKey(c.getName())) { + components.computeIfAbsent(c.getName(), (x) -> new ArrayList<>()).add(overrides.getComponentOverrides().get(c.getName())); } else { - components.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).addAll(c.getComponentLogEntries().stream().map(ComponentLogEntry::getValue).toList()); + components.computeIfAbsent(c.getName(), (x) -> new ArrayList<>()).addAll(c.getComponentValues().stream().map(ComponentValue::getValue).toList()); } }); } - Map> componentsDetails = new HashMap<>(); + Map> componentsDetails = new HashMap<>(); if (includeDetails) { - componentLog.getComponentLogCategories().forEach(c -> { - componentsDetails.computeIfAbsent(c.getCategory(), (x) -> new ArrayList<>()).addAll(c.getComponentLogEntries().stream().map(entry -> convert(entry, overrides, c.getCategory())).toList()); + componentLog.getComponents().forEach(c -> { + componentsDetails.computeIfAbsent(c.getName(), (x) -> new ArrayList<>()) + .addAll(c.getComponentValues().stream().map(entry -> convert(entry, overrides, c.getName())).toList()); }); } return FileComponents.builder().dossierTemplateId(dossierTemplateId).dossierId(dossierId).fileId(fileId).components(components).componentDetails(componentsDetails).build(); } - private Component convert(ComponentLogEntry componentLogEntry, ComponentsOverrides overrides, String category) { - return Component.builder() - .componentRule(componentLogEntry.getMatchedRule()) - .entityReferences(componentLogEntry.getComponentEntityReferences().stream().map(this::convertComponentEntityReference).toList()) - .originalValues(List.of(componentLogEntry.getValue())) - .values(overrides.getComponentOverrides().containsKey(category) ? List.of(overrides.getComponentOverrides().get(category)) : List.of(componentLogEntry.getValue())) + private com.iqser.red.service.persistence.service.v2.api.external.model.Component convert(ComponentValue componentValue, ComponentsOverrides overrides, String category) { + + return com.iqser.red.service.persistence.service.v2.api.external.model.Component.builder() + .componentRule(componentValue.getComponentRuleId()) + .entityReferences(componentValue.getEntityReferences().stream().map(this::convertComponentEntityReference).toList()) + .originalValues(List.of(componentValue.getValue())) + .values(overrides.getComponentOverrides().containsKey(category) ? List.of(overrides.getComponentOverrides().get(category)) : List.of(componentValue.getValue())) .build(); } - private Entity convertComponentEntityReference(ComponentEntityReference componentEntityReference) { + private Entity convertComponentEntityReference(EntityReference entityReference) { return Entity.builder() - .id(componentEntityReference.getId()) - .entityRule(componentEntityReference.getRuleIdentifier()) - .type(componentEntityReference.getType()) - .pages(Set.of(componentEntityReference.getPage())) - .value(componentEntityReference.getValue()) + .id(entityReference.getId()) + .entityRule(entityReference.getEntityRuleId()) + .type(entityReference.getType()) + .pages(Set.of(entityReference.getPage())) .build(); } @@ -103,5 +109,4 @@ public class ComponentControllerV2 implements ComponentResource { return new FileComponentsList(dossierFiles.stream().map(file -> getComponents(dossierTemplateId, dossierId, file.getFileId(), includeDetails)).toList()); } - } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogCategory.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/Component.java similarity index 77% rename from persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogCategory.java rename to persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/Component.java index 6b38e1500..b330e35c7 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogCategory.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/Component.java @@ -12,9 +12,9 @@ import lombok.experimental.FieldDefaults; @AllArgsConstructor @NoArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE) -public class ComponentLogCategory { +public class Component { - String category; - List componentLogEntries; + String name; + List componentValues; } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLog.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLog.java index 65f00cc22..6afc3a1ef 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLog.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLog.java @@ -16,10 +16,7 @@ import lombok.experimental.FieldDefaults; public class ComponentLog { int analysisNumber; - List componentLogCategories = new ArrayList<>(); - - long dictionaryVersion = -1; - long dossierDictionaryVersion = -1; - long rulesVersion = -1; + long componentRulesVersion = -1; + List components = new ArrayList<>(); } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentValue.java similarity index 72% rename from persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java rename to persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentValue.java index c0db3d41c..07f66bb4e 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentValue.java @@ -14,12 +14,13 @@ import lombok.experimental.FieldDefaults; @AllArgsConstructor @NoArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE) -public class ComponentLogEntry { +public class ComponentValue { String value; - String transformation; - String matchedRule; + String originalValue; + String valueDescription; + String componentRuleId; - List componentEntityReferences; + List entityReferences; } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentEntityReference.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/EntityReference.java similarity index 80% rename from persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentEntityReference.java rename to persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/EntityReference.java index 9b4fdd98d..69ddf9b4a 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentEntityReference.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/EntityReference.java @@ -12,13 +12,11 @@ import lombok.experimental.FieldDefaults; @AllArgsConstructor @NoArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE) -public class ComponentEntityReference { +public class EntityReference { String id; - String value; String type; + String entityRuleId; int page; - String ruleIdentifier; - String reason; } -- 2.47.2