Merge branch 'RED-8828-fix-npe' into 'master'
RED-8828 - Fix error when resizing dict based redaction Closes RED-8828 See merge request redactmanager/redaction-service!353
This commit is contained in:
commit
7b520ee0ab
@ -682,6 +682,8 @@ public class EntityCreationService {
|
|||||||
|
|
||||||
addEntityToGraph(mergedEntity, node);
|
addEntityToGraph(mergedEntity, node);
|
||||||
insertToKieSession(mergedEntity);
|
insertToKieSession(mergedEntity);
|
||||||
|
|
||||||
|
entitiesToMerge.stream().filter(e -> !e.equals(mergedEntity)).forEach(node.getEntities()::remove);
|
||||||
return mergedEntity;
|
return mergedEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -766,24 +768,36 @@ public class EntityCreationService {
|
|||||||
try {
|
try {
|
||||||
if (node.getEntities().contains(entity)) {
|
if (node.getEntities().contains(entity)) {
|
||||||
// If entity already exists and it has a different text range, we add the text range to the list of duplicated text ranges
|
// If entity already exists and it has a different text range, we add the text range to the list of duplicated text ranges
|
||||||
node.getEntities()
|
Optional<TextEntity> optionalTextEntity = node.getEntities()
|
||||||
.stream()//
|
.stream()//
|
||||||
.filter(e -> e.equals(entity))//
|
.filter(e -> e.equals(entity))//
|
||||||
.filter(e -> !e.getTextRange().equals(entity.getTextRange()))//
|
.filter(e -> !e.getTextRange().equals(entity.getTextRange()))//
|
||||||
.findAny()//
|
.findAny();
|
||||||
.ifPresent(entityToDuplicate -> addDuplicateEntityToGraph(entityToDuplicate, entity.getTextRange(), node));
|
if (optionalTextEntity.isPresent()) {
|
||||||
|
addDuplicateEntityToGraph(optionalTextEntity.get(), entity.getTextRange(), node);
|
||||||
|
} else {
|
||||||
|
node.getEntities().remove(entity);
|
||||||
|
addNewEntityToGraph(entity, documentTree);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
entity.addIntersectingNode(documentTree.getRoot().getNode());
|
entity.addIntersectingNode(documentTree.getRoot().getNode());
|
||||||
addEntityToGraph(entity, documentTree);
|
addEntityToGraph(entity, documentTree);
|
||||||
}
|
}
|
||||||
} catch (NoSuchElementException e) {
|
} catch (NoSuchElementException e) {
|
||||||
|
addNewEntityToGraph(entity, documentTree);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void addNewEntityToGraph(TextEntity entity, DocumentTree documentTree) {
|
||||||
|
|
||||||
entity.setDeepestFullyContainingNode(documentTree.getRoot().getNode());
|
entity.setDeepestFullyContainingNode(documentTree.getRoot().getNode());
|
||||||
entityEnrichmentService.enrichEntity(entity, entity.getDeepestFullyContainingNode().getTextBlock());
|
entityEnrichmentService.enrichEntity(entity, entity.getDeepestFullyContainingNode().getTextBlock());
|
||||||
entity.addIntersectingNode(documentTree.getRoot().getNode());
|
entity.addIntersectingNode(documentTree.getRoot().getNode());
|
||||||
addToPages(entity);
|
addToPages(entity);
|
||||||
addEntityToNodeEntitySets(entity);
|
addEntityToNodeEntitySets(entity);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void addDuplicateEntityToGraph(TextEntity entityToDuplicate, TextRange newTextRange, SemanticNode node) {
|
private void addDuplicateEntityToGraph(TextEntity entityToDuplicate, TextRange newTextRange, SemanticNode node) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user