refactor(ocr): extract createSingleBlock from createTranscriptionBlocks
Enable per-page block creation during streaming by extracting the loop body into a package-private createSingleBlock() method with an explicit sortOrder parameter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -162,8 +162,12 @@ public class OcrAsyncRunner {
|
|||||||
private void createTranscriptionBlocks(UUID documentId, List<OcrBlockResult> blocks,
|
private void createTranscriptionBlocks(UUID documentId, List<OcrBlockResult> blocks,
|
||||||
UUID userId, String fileHash) {
|
UUID userId, String fileHash) {
|
||||||
for (int i = 0; i < blocks.size(); i++) {
|
for (int i = 0; i < blocks.size(); i++) {
|
||||||
OcrBlockResult block = blocks.get(i);
|
createSingleBlock(documentId, blocks.get(i), userId, fileHash, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void createSingleBlock(UUID documentId, OcrBlockResult block,
|
||||||
|
UUID userId, String fileHash, int sortOrder) {
|
||||||
CreateAnnotationDTO annotationDTO = new CreateAnnotationDTO(
|
CreateAnnotationDTO annotationDTO = new CreateAnnotationDTO(
|
||||||
block.pageNumber(), block.x(), block.y(),
|
block.pageNumber(), block.x(), block.y(),
|
||||||
block.width(), block.height(), OCR_ANNOTATION_COLOR);
|
block.width(), block.height(), OCR_ANNOTATION_COLOR);
|
||||||
@@ -175,7 +179,7 @@ public class OcrAsyncRunner {
|
|||||||
.annotationId(annotation.getId())
|
.annotationId(annotation.getId())
|
||||||
.documentId(documentId)
|
.documentId(documentId)
|
||||||
.text(block.text() != null ? block.text() : "")
|
.text(block.text() != null ? block.text() : "")
|
||||||
.sortOrder(i)
|
.sortOrder(sortOrder)
|
||||||
.source(BlockSource.OCR)
|
.source(BlockSource.OCR)
|
||||||
.createdBy(userId)
|
.createdBy(userId)
|
||||||
.updatedBy(userId)
|
.updatedBy(userId)
|
||||||
@@ -183,4 +187,3 @@ public class OcrAsyncRunner {
|
|||||||
blockRepository.save(transcriptionBlock);
|
blockRepository.save(transcriptionBlock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user