RED-372: Suffix cross page annotations with -1, -2, etc., to avoid duplicate annotation ids
This commit is contained in:
parent
107dbe1910
commit
ecdfd29803
@ -136,9 +136,11 @@ public class SearchableText {
|
|||||||
|
|
||||||
private List<EntityPositionSequence> buildEntityPositionSequence(List<TextPositionSequence> crossSequenceParts) {
|
private List<EntityPositionSequence> buildEntityPositionSequence(List<TextPositionSequence> crossSequenceParts) {
|
||||||
|
|
||||||
String id = IdBuilder.buildId(crossSequenceParts);
|
String plainId = IdBuilder.buildId(crossSequenceParts);
|
||||||
|
String id = plainId;
|
||||||
List<EntityPositionSequence> result = new ArrayList<>();
|
List<EntityPositionSequence> result = new ArrayList<>();
|
||||||
int currentPage = -1;
|
int currentPage = -1;
|
||||||
|
int idDiffentPageSuffix = 1;
|
||||||
EntityPositionSequence entityPositionSequence = new EntityPositionSequence(id);
|
EntityPositionSequence entityPositionSequence = new EntityPositionSequence(id);
|
||||||
for (TextPositionSequence textPositionSequence : crossSequenceParts) {
|
for (TextPositionSequence textPositionSequence : crossSequenceParts) {
|
||||||
if (currentPage == -1) {
|
if (currentPage == -1) {
|
||||||
@ -148,9 +150,13 @@ public class SearchableText {
|
|||||||
} else if (currentPage == textPositionSequence.getPage()) {
|
} else if (currentPage == textPositionSequence.getPage()) {
|
||||||
entityPositionSequence.getSequences().add(textPositionSequence);
|
entityPositionSequence.getSequences().add(textPositionSequence);
|
||||||
} else {
|
} else {
|
||||||
|
id = plainId + "-" + idDiffentPageSuffix;
|
||||||
|
idDiffentPageSuffix++;
|
||||||
result.add(entityPositionSequence);
|
result.add(entityPositionSequence);
|
||||||
entityPositionSequence = new EntityPositionSequence(id);
|
entityPositionSequence = new EntityPositionSequence(id);
|
||||||
entityPositionSequence.setPageNumber(textPositionSequence.getPage());
|
entityPositionSequence.setPageNumber(textPositionSequence.getPage());
|
||||||
|
entityPositionSequence.getSequences().add(textPositionSequence);
|
||||||
|
currentPage = textPositionSequence.getPage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result.add(entityPositionSequence);
|
result.add(entityPositionSequence);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user