Merge branch 'RED-8971' into 'master'
RED-8971: Changing Vertebrate Study to 'Yes' has no effect Closes RED-8971 See merge request redactmanager/redaction-service!375
This commit is contained in:
commit
5a91b01f92
@ -49,9 +49,12 @@ public class EntityChangeLogService {
|
||||
|
||||
EntityLogEntry previousEntity = optionalPreviousEntity.get();
|
||||
entityLogEntry.getChanges().addAll(previousEntity.getChanges());
|
||||
if (!previousEntity.getState().equals(entityLogEntry.getState())) {
|
||||
ChangeType changeType = calculateChangeType(entityLogEntry.getState(), previousEntity.getState());
|
||||
entityLogEntry.getChanges().add(new Change(analysisNumber, changeType, now));
|
||||
|
||||
if (!previousEntity.equals(entityLogEntry)) {
|
||||
if(!previousEntity.getState().equals(entityLogEntry.getState())) {
|
||||
ChangeType changeType = calculateChangeType(entityLogEntry.getState(), previousEntity.getState());
|
||||
entityLogEntry.getChanges().add(new Change(analysisNumber, changeType, now));
|
||||
}
|
||||
toUpdate.add(entityLogEntry);
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,7 +150,8 @@ public class RedactionIntegrationTest extends RulesIntegrationTest {
|
||||
public void testFludioxonilDuplicatedImageEntries() {
|
||||
|
||||
AnalyzeRequest request = prepareStorage("files/Fludioxonil/Fludioxonil_duplicates.pdf",
|
||||
"files/cv_service_empty_response.json", "files/image_info_fludioxonil_duplicates.json");
|
||||
"files/cv_service_empty_response.json",
|
||||
"files/image_info_fludioxonil_duplicates.json");
|
||||
|
||||
analyzeDocumentStructure(LayoutParsingType.REDACT_MANAGER, request);
|
||||
AnalyzeResult result = analyzeService.analyze(request);
|
||||
@ -1553,6 +1554,85 @@ public class RedactionIntegrationTest extends RulesIntegrationTest {
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testChangeVertebrate() throws IOException {
|
||||
|
||||
String EFSA_SANITISATION_RULES = loadFromClassPath("drools/efsa_sanitisation.drl");
|
||||
when(rulesClient.getRules(TEST_DOSSIER_TEMPLATE_ID, RuleFileType.ENTITY)).thenReturn(JSONPrimitive.of(EFSA_SANITISATION_RULES));
|
||||
String fileName = "files/new/crafted document.pdf";
|
||||
|
||||
ClassPathResource responseJson = new ClassPathResource("files/crafted_document.NER_ENTITIES.json");
|
||||
storageService.storeObject(TenantContext.getTenantId(),
|
||||
RedactionStorageService.StorageIdUtils.getStorageId(TEST_DOSSIER_ID, TEST_FILE_ID, FileType.NER_ENTITIES),
|
||||
responseJson.getInputStream());
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
AnalyzeRequest request = uploadFileToStorage(fileName);
|
||||
|
||||
FileAttribute vertebrateYes = FileAttribute.builder().id("fileAttributeId").label("Vertebrate Study").placeholder("{fileattributes.vertebrateStudy}").value("Yes").build();
|
||||
request.setFileAttributes(List.of(vertebrateYes));
|
||||
|
||||
analyzeDocumentStructure(LayoutParsingType.REDACT_MANAGER, request);
|
||||
request.setAnalysisNumber(1);
|
||||
AnalyzeResult result = analyzeService.analyze(request);
|
||||
|
||||
var entityLog = redactionStorageService.getEntityLog(TEST_DOSSIER_ID, TEST_FILE_ID);
|
||||
|
||||
var listCBI_0_0 = entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.0"))
|
||||
.toList();
|
||||
|
||||
var listCBI_0_1 = entityLog.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.1"))
|
||||
.toList();
|
||||
|
||||
FileAttribute vertebrateNo = FileAttribute.builder().id("fileAttributeId").label("Vertebrate Study").placeholder("{fileattributes.vertebrateStudy}").value("No").build();
|
||||
request.setFileAttributes(List.of(vertebrateNo));
|
||||
|
||||
analyzeDocumentStructure(LayoutParsingType.REDACT_MANAGER, request);
|
||||
request.setAnalysisNumber(2);
|
||||
result = analyzeService.analyze(request);
|
||||
|
||||
var entityLog2 = redactionStorageService.getEntityLog(TEST_DOSSIER_ID, TEST_FILE_ID);
|
||||
|
||||
var list2CBI_0_0 = entityLog2.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.0"))
|
||||
.toList();
|
||||
|
||||
var list2CBI_0_1 = entityLog2.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.1"))
|
||||
.toList();
|
||||
|
||||
assertEquals(listCBI_0_0.size(), list2CBI_0_1.size());
|
||||
assertEquals(listCBI_0_1.size(), list2CBI_0_0.size());
|
||||
|
||||
request.setFileAttributes(List.of(vertebrateYes));
|
||||
|
||||
analyzeDocumentStructure(LayoutParsingType.REDACT_MANAGER, request);
|
||||
request.setAnalysisNumber(3);
|
||||
result = analyzeService.analyze(request);
|
||||
|
||||
var entityLog3 = redactionStorageService.getEntityLog(TEST_DOSSIER_ID, TEST_FILE_ID);
|
||||
|
||||
var list3CBI_0_0 = entityLog3.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.0"))
|
||||
.toList();
|
||||
|
||||
var list3CBI_0_1 = entityLog3.getEntityLogEntry()
|
||||
.stream()
|
||||
.filter(entityLogEntry -> entityLogEntry.getMatchedRule().startsWith("CBI.0.1"))
|
||||
.toList();
|
||||
|
||||
assertEquals(list3CBI_0_0.size(), list2CBI_0_1.size());
|
||||
assertEquals(list3CBI_0_1.size(), list2CBI_0_0.size());
|
||||
}
|
||||
|
||||
|
||||
private IdRemoval getIdRemoval(String id) {
|
||||
|
||||
return IdRemoval.builder()
|
||||
|
||||
@ -2,6 +2,8 @@ image-service.url: "http://image-service-v1:8080"
|
||||
persistence-service.url: "http://persistence-service-v1:8080"
|
||||
entity-recognition-service.url: "localhost:8080"
|
||||
|
||||
logging.type: ${LOGGING_TYPE:CONSOLE}
|
||||
|
||||
ribbon:
|
||||
ConnectTimeout: 600000
|
||||
ReadTimeout: 600000
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user