Merge branch 'RED-7141' into 'master'

RED-7141: Fixed overlaps in duplicated and non duplicated blocks

Closes RED-7141

See merge request redactmanager/redaction-service!327
This commit is contained in:
Dominique Eifländer 2024-03-18 14:37:52 +01:00
commit 25015f633e

View File

@ -182,19 +182,25 @@ public class TextEntity implements IEntity {
public boolean containedBy(TextEntity textEntity) {
return this.textRange.containedBy(textEntity.getTextRange());
return this.textRange.containedBy(textEntity.getTextRange())
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> duplicateTextRange.containedBy(textEntity.textRange))
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> textEntity.getDuplicateTextRanges().stream().anyMatch(duplicateTextRange::containedBy));
}
public boolean contains(TextEntity textEntity) {
return this.textRange.contains(textEntity.getTextRange());
return this.textRange.contains(textEntity.getTextRange())
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> duplicateTextRange.contains(textEntity.textRange))
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> textEntity.getDuplicateTextRanges().stream().anyMatch(duplicateTextRange::contains));
}
public boolean intersects(TextEntity textEntity) {
return this.textRange.intersects(textEntity.getTextRange());
return this.textRange.intersects(textEntity.getTextRange())
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> duplicateTextRange.intersects(textEntity.textRange))
|| duplicateTextRanges.stream().anyMatch(duplicateTextRange -> textEntity.getDuplicateTextRanges().stream().anyMatch(duplicateTextRange::intersects));
}