Pull request #155: RED-785
Merge in RED/redaction-service from RED-785 to master * commit '513501abf476dc7f08446bb3035da888d2fd30a2': save legal basis version on redaction log adjusted tests legal basis is now stored in redaction log
This commit is contained in:
commit
be92e3c036
@ -17,5 +17,16 @@
|
|||||||
<artifactId>spring-web</artifactId>
|
<artifactId>spring-web</artifactId>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.iqser.red.service</groupId>
|
||||||
|
<artifactId>configuration-service-api-v1</artifactId>
|
||||||
|
<version>2.7.0</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.iqser.red.service</groupId>
|
||||||
|
<artifactId>file-management-service-api-v1</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@ -1,32 +1,27 @@
|
|||||||
package com.iqser.red.service.redaction.v1.model;
|
package com.iqser.red.service.redaction.v1.model;
|
||||||
|
|
||||||
|
import com.iqser.red.service.configuration.v1.api.model.LegalBasisMapping;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RedactionLog {
|
public class RedactionLog {
|
||||||
|
|
||||||
private List<RedactionLogEntry> redactionLogEntry;
|
private List<RedactionLogEntry> redactionLogEntry;
|
||||||
|
private List<LegalBasisMapping> legalBasis;
|
||||||
private long dictionaryVersion = -1;
|
|
||||||
private long rulesVersion = -1;
|
|
||||||
|
|
||||||
private String ruleSetId;
|
private String ruleSetId;
|
||||||
|
|
||||||
|
private long dictionaryVersion = -1;
|
||||||
|
private long rulesVersion = -1;
|
||||||
private long dossierDictionaryVersion = -1;
|
private long dossierDictionaryVersion = -1;
|
||||||
|
private long legalBasisVersion = -1;
|
||||||
|
|
||||||
|
|
||||||
public RedactionLog(List<RedactionLogEntry> redactionLogEntry, long dictionaryVersion, long rulesVersion, String ruleSetId, long dossierDictionaryVersion) {
|
|
||||||
|
|
||||||
this.redactionLogEntry = redactionLogEntry;
|
|
||||||
this.dictionaryVersion = dictionaryVersion;
|
|
||||||
this.rulesVersion = rulesVersion;
|
|
||||||
this.ruleSetId = ruleSetId;
|
|
||||||
this.dossierDictionaryVersion = dossierDictionaryVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package com.iqser.red.service.redaction.v1.model;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -12,6 +13,7 @@ import java.util.List;
|
|||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@EqualsAndHashCode(of = "id")
|
||||||
public class RedactionLogEntry {
|
public class RedactionLogEntry {
|
||||||
|
|
||||||
private String id;
|
private String id;
|
||||||
|
|||||||
@ -21,11 +21,6 @@
|
|||||||
<artifactId>redaction-service-api-v1</artifactId>
|
<artifactId>redaction-service-api-v1</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.iqser.red.service</groupId>
|
|
||||||
<artifactId>configuration-service-api-v1</artifactId>
|
|
||||||
<version>2.5.6</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.iqser.red.service</groupId>
|
<groupId>com.iqser.red.service</groupId>
|
||||||
<artifactId>file-management-service-api-v1</artifactId>
|
<artifactId>file-management-service-api-v1</artifactId>
|
||||||
@ -35,6 +30,10 @@
|
|||||||
<groupId>com.iqser.red.service</groupId>
|
<groupId>com.iqser.red.service</groupId>
|
||||||
<artifactId>redaction-service-api-v1</artifactId>
|
<artifactId>redaction-service-api-v1</artifactId>
|
||||||
</exclusion>
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>com.iqser.red.service</groupId>
|
||||||
|
<artifactId>configuration-service-api-v1</artifactId>
|
||||||
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.iqser.red.service.redaction.v1.server.client;
|
||||||
|
|
||||||
|
import com.iqser.red.service.configuration.v1.api.resource.LegalBasisMappingResource;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
|
||||||
|
@FeignClient(name = "LegalBasisMappingResource", url = "${configuration-service.url}")
|
||||||
|
public interface LegalBasisClient extends LegalBasisMappingResource {
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.iqser.red.service.redaction.v1.model.*;
|
|||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Text;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.exception.RedactionException;
|
import com.iqser.red.service.redaction.v1.server.exception.RedactionException;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.Dictionary;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.*;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.*;
|
||||||
@ -38,7 +39,7 @@ public class ReanalyzeService {
|
|||||||
private final PdfSegmentationService pdfSegmentationService;
|
private final PdfSegmentationService pdfSegmentationService;
|
||||||
private final RedactionChangeLogService redactionChangeLogService;
|
private final RedactionChangeLogService redactionChangeLogService;
|
||||||
private final AnalyzeResponseService analyzeResponseService;
|
private final AnalyzeResponseService analyzeResponseService;
|
||||||
|
private final LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
public AnalyzeResult analyze(AnalyzeRequest analyzeRequest) {
|
public AnalyzeResult analyze(AnalyzeRequest analyzeRequest) {
|
||||||
|
|
||||||
@ -64,9 +65,13 @@ public class ReanalyzeService {
|
|||||||
|
|
||||||
log.info("Redaction analysis successful...");
|
log.info("Redaction analysis successful...");
|
||||||
|
|
||||||
var redactionLog = new RedactionLog(classifiedDoc.getRedactionLogEntities(), classifiedDoc.getDictionaryVersion()
|
var legalBasis = legalBasisClient.getLegalBasisMapping(analyzeRequest.getRuleSetId());
|
||||||
.getRulesetVersion(), classifiedDoc.getRulesVersion(), analyzeRequest.getRuleSetId(), classifiedDoc.getDictionaryVersion()
|
var redactionLog = new RedactionLog(classifiedDoc.getRedactionLogEntities(),legalBasis,
|
||||||
.getDossierVersion());
|
analyzeRequest.getRuleSetId(),
|
||||||
|
classifiedDoc.getDictionaryVersion().getRulesetVersion(),
|
||||||
|
classifiedDoc.getRulesVersion(),
|
||||||
|
classifiedDoc.getDictionaryVersion().getDossierVersion(),
|
||||||
|
legalBasisClient.getVersion(analyzeRequest.getRuleSetId()));
|
||||||
|
|
||||||
log.info("Analyzed with rules {} and dictionary {} for ruleSet: {}", classifiedDoc.getRulesVersion(), classifiedDoc
|
log.info("Analyzed with rules {} and dictionary {} for ruleSet: {}", classifiedDoc.getRulesVersion(), classifiedDoc
|
||||||
.getDictionaryVersion(), analyzeRequest.getRuleSetId());
|
.getDictionaryVersion(), analyzeRequest.getRuleSetId());
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.iqser.red.service.redaction.v1.model.*;
|
|||||||
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
import com.iqser.red.service.redaction.v1.server.classification.model.SectionText;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.ImageClassificationClient;
|
import com.iqser.red.service.redaction.v1.server.client.ImageClassificationClient;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.controller.RedactionController;
|
import com.iqser.red.service.redaction.v1.server.controller.RedactionController;
|
||||||
import com.iqser.red.service.redaction.v1.server.memory.MemoryStats;
|
import com.iqser.red.service.redaction.v1.server.memory.MemoryStats;
|
||||||
@ -114,6 +115,9 @@ public class RedactionIntegrationTest {
|
|||||||
@MockBean
|
@MockBean
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
private final Map<String, List<String>> dictionary = new HashMap<>();
|
private final Map<String, List<String>> dictionary = new HashMap<>();
|
||||||
private final Map<String, List<String>> dossierDictionary = new HashMap<>();
|
private final Map<String, List<String>> dossierDictionary = new HashMap<>();
|
||||||
private final Map<String, String> typeColorMap = new HashMap<>();
|
private final Map<String, String> typeColorMap = new HashMap<>();
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import com.iqser.red.service.redaction.v1.server.Application;
|
|||||||
import com.iqser.red.service.redaction.v1.server.FileSystemBackedStorageService;
|
import com.iqser.red.service.redaction.v1.server.FileSystemBackedStorageService;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
import com.iqser.red.service.redaction.v1.server.client.DictionaryClient;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
import com.iqser.red.service.redaction.v1.server.client.RulesClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.Entity;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.Entity;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.utils.EntitySearchUtils;
|
import com.iqser.red.service.redaction.v1.server.redaction.utils.EntitySearchUtils;
|
||||||
@ -78,6 +79,9 @@ public class EntityRedactionServiceTest {
|
|||||||
@MockBean
|
@MockBean
|
||||||
private AmazonS3 amazonS3;
|
private AmazonS3 amazonS3;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
private final static String TEST_RULESET_ID = "123";
|
private final static String TEST_RULESET_ID = "123";
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import com.iqser.red.service.redaction.v1.server.Application;
|
|||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Document;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.model.Page;
|
import com.iqser.red.service.redaction.v1.server.classification.model.Page;
|
||||||
import com.iqser.red.service.redaction.v1.server.classification.service.BlockificationService;
|
import com.iqser.red.service.redaction.v1.server.classification.service.BlockificationService;
|
||||||
|
import com.iqser.red.service.redaction.v1.server.client.LegalBasisClient;
|
||||||
import com.iqser.red.service.redaction.v1.server.redaction.model.PdfImage;
|
import com.iqser.red.service.redaction.v1.server.redaction.model.PdfImage;
|
||||||
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Cell;
|
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Cell;
|
||||||
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Table;
|
import com.iqser.red.service.redaction.v1.server.tableextraction.model.Table;
|
||||||
@ -62,6 +63,9 @@ public class PdfSegmentationServiceTest {
|
|||||||
@MockBean
|
@MockBean
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
@MockBean
|
||||||
|
private LegalBasisClient legalBasisClient;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableAutoConfiguration(exclude = { RabbitAutoConfiguration.class})
|
@EnableAutoConfiguration(exclude = { RabbitAutoConfiguration.class})
|
||||||
public static class TestConfiguration {
|
public static class TestConfiguration {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user