refactor(ocr): move ocr domain to package org.raddatz.familienarchiv.ocr

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-05 11:41:19 +02:00
parent b41e1335d2
commit c0a1c9ff5f
53 changed files with 163 additions and 120 deletions

View File

@@ -36,7 +36,7 @@ import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.Document; import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.dto.DocumentSort; import org.raddatz.familienarchiv.dto.DocumentSort;
import org.raddatz.familienarchiv.model.DocumentStatus; import org.raddatz.familienarchiv.model.DocumentStatus;
import org.raddatz.familienarchiv.model.TrainingLabel; import org.raddatz.familienarchiv.ocr.TrainingLabel;
import org.raddatz.familienarchiv.model.DocumentVersion; import org.raddatz.familienarchiv.model.DocumentVersion;
import org.raddatz.familienarchiv.model.AppUser; import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.security.Permission; import org.raddatz.familienarchiv.security.Permission;

View File

@@ -5,7 +5,7 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
import lombok.Data; import lombok.Data;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
@Data @Data
public class DocumentUpdateDTO { public class DocumentUpdateDTO {

View File

@@ -9,6 +9,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import org.raddatz.familienarchiv.ocr.ScriptType;
import org.raddatz.familienarchiv.ocr.TrainingLabel;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.tag.Tag; import org.raddatz.familienarchiv.tag.Tag;
import java.net.URLEncoder; import java.net.URLEncoder;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;

View File

@@ -1,11 +1,15 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.dto.CreateAnnotationDTO; import org.raddatz.familienarchiv.dto.CreateAnnotationDTO;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import org.raddatz.familienarchiv.service.AnnotationService;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.TranscriptionService;
import org.raddatz.familienarchiv.service.FileService;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,12 +1,12 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

View File

@@ -1,6 +1,6 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -1,25 +1,25 @@
package org.raddatz.familienarchiv.controller; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.dto.BatchOcrDTO; import org.raddatz.familienarchiv.ocr.BatchOcrDTO;
import org.raddatz.familienarchiv.dto.OcrStatusDTO; import org.raddatz.familienarchiv.ocr.OcrStatusDTO;
import org.raddatz.familienarchiv.dto.TrainingHistoryResponse; import org.raddatz.familienarchiv.ocr.TrainingHistoryResponse;
import org.raddatz.familienarchiv.dto.TrainingInfoResponse; import org.raddatz.familienarchiv.ocr.TrainingInfoResponse;
import org.raddatz.familienarchiv.dto.TriggerOcrDTO; import org.raddatz.familienarchiv.ocr.TriggerOcrDTO;
import org.raddatz.familienarchiv.dto.TriggerSenderTrainingDTO; import org.raddatz.familienarchiv.ocr.TriggerSenderTrainingDTO;
import org.raddatz.familienarchiv.model.AppUser; import org.raddatz.familienarchiv.model.AppUser;
import org.raddatz.familienarchiv.model.OcrJob; import org.raddatz.familienarchiv.ocr.OcrJob;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.security.Permission; import org.raddatz.familienarchiv.security.Permission;
import org.raddatz.familienarchiv.security.RequirePermission; import org.raddatz.familienarchiv.security.RequirePermission;
import org.raddatz.familienarchiv.service.OcrBatchService; import org.raddatz.familienarchiv.ocr.OcrBatchService;
import org.raddatz.familienarchiv.service.OcrProgressService; import org.raddatz.familienarchiv.ocr.OcrProgressService;
import org.raddatz.familienarchiv.service.OcrService; import org.raddatz.familienarchiv.ocr.OcrService;
import org.raddatz.familienarchiv.service.OcrTrainingService; import org.raddatz.familienarchiv.ocr.OcrTrainingService;
import org.raddatz.familienarchiv.service.SegmentationTrainingExportService; import org.raddatz.familienarchiv.ocr.SegmentationTrainingExportService;
import org.raddatz.familienarchiv.service.SenderModelService; import org.raddatz.familienarchiv.ocr.SenderModelService;
import org.raddatz.familienarchiv.service.TrainingDataExportService; import org.raddatz.familienarchiv.ocr.TrainingDataExportService;
import org.raddatz.familienarchiv.service.UserService; import org.raddatz.familienarchiv.service.UserService;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
public enum OcrDocumentStatus { public enum OcrDocumentStatus {
PENDING, PENDING,

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
public interface OcrHealthClient { public interface OcrHealthClient {
boolean isHealthy(); boolean isHealthy();

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.*; import jakarta.persistence.*;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.*; import jakarta.persistence.*;

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.repository; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.OcrDocumentStatus; import org.raddatz.familienarchiv.ocr.OcrDocumentStatus;
import org.raddatz.familienarchiv.model.OcrJobDocument; import org.raddatz.familienarchiv.ocr.OcrJobDocument;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List; import java.util.List;

View File

@@ -1,6 +1,6 @@
package org.raddatz.familienarchiv.repository; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.OcrJob; import org.raddatz.familienarchiv.ocr.OcrJob;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.UUID; import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
public enum OcrJobStatus { public enum OcrJobStatus {
PENDING, PENDING,

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@@ -1,13 +1,15 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.dto.OcrStatusDTO; import org.raddatz.familienarchiv.ocr.OcrStatusDTO;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.FileService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.*; import jakarta.persistence.*;

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.repository; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.model.TrainingStatus; import org.raddatz.familienarchiv.ocr.TrainingStatus;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List; import java.util.List;

View File

@@ -1,16 +1,17 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.dto.TrainingHistoryResponse; import org.raddatz.familienarchiv.ocr.TrainingHistoryResponse;
import org.raddatz.familienarchiv.dto.TrainingInfoResponse; import org.raddatz.familienarchiv.ocr.TrainingInfoResponse;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import org.raddatz.familienarchiv.model.TrainingStatus; import org.raddatz.familienarchiv.ocr.TrainingStatus;
import org.raddatz.familienarchiv.repository.OcrTrainingRunRepository; import org.raddatz.familienarchiv.ocr.OcrTrainingRunRepository;
import org.raddatz.familienarchiv.person.PersonService; import org.raddatz.familienarchiv.person.PersonService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.ParameterizedTypeReference; import org.springframework.core.ParameterizedTypeReference;
import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.ByteArrayResource;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
public enum ScriptType { public enum ScriptType {
UNKNOWN, UNKNOWN,

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -8,6 +8,10 @@ import org.apache.pdfbox.rendering.PDFRenderer;
import org.raddatz.familienarchiv.model.Document; import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.model.DocumentAnnotation; import org.raddatz.familienarchiv.model.DocumentAnnotation;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.service.AnnotationService;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.raddatz.familienarchiv.service.FileService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;

View File

@@ -1,6 +1,6 @@
package org.raddatz.familienarchiv.repository; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional; import java.util.Optional;

View File

@@ -1,15 +1,16 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import org.raddatz.familienarchiv.model.TrainingStatus; import org.raddatz.familienarchiv.ocr.TrainingStatus;
import org.raddatz.familienarchiv.repository.OcrTrainingRunRepository; import org.raddatz.familienarchiv.ocr.OcrTrainingRunRepository;
import org.raddatz.familienarchiv.repository.SenderModelRepository; import org.raddatz.familienarchiv.ocr.SenderModelRepository;
import org.raddatz.familienarchiv.person.PersonService; import org.raddatz.familienarchiv.person.PersonService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -8,6 +8,10 @@ import org.apache.pdfbox.rendering.PDFRenderer;
import org.raddatz.familienarchiv.model.Document; import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.model.DocumentAnnotation; import org.raddatz.familienarchiv.model.DocumentAnnotation;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.service.AnnotationService;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.raddatz.familienarchiv.service.FileService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;

View File

@@ -1,6 +1,6 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
public enum TrainingLabel { public enum TrainingLabel {
KURRENT_RECOGNITION, KURRENT_RECOGNITION,

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.model; package org.raddatz.familienarchiv.ocr;
public enum TrainingStatus { public enum TrainingStatus {
QUEUED, QUEUED,

View File

@@ -1,9 +1,9 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
@Data @Data
@NoArgsConstructor @NoArgsConstructor

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.dto; package org.raddatz.familienarchiv.ocr;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;

View File

@@ -20,8 +20,8 @@ import org.raddatz.familienarchiv.dto.SearchMatchData;
import org.raddatz.familienarchiv.tag.TagOperator; import org.raddatz.familienarchiv.tag.TagOperator;
import org.raddatz.familienarchiv.model.Document; import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.model.DocumentStatus; import org.raddatz.familienarchiv.model.DocumentStatus;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import org.raddatz.familienarchiv.model.TrainingLabel; import org.raddatz.familienarchiv.ocr.TrainingLabel;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.tag.Tag; import org.raddatz.familienarchiv.tag.Tag;
import org.raddatz.familienarchiv.repository.DocumentRepository; import org.raddatz.familienarchiv.repository.DocumentRepository;

View File

@@ -13,11 +13,12 @@ import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.BlockSource; import org.raddatz.familienarchiv.model.BlockSource;
import org.raddatz.familienarchiv.model.Document; import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.model.DocumentAnnotation; import org.raddatz.familienarchiv.model.DocumentAnnotation;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.model.TranscriptionBlockVersion; import org.raddatz.familienarchiv.model.TranscriptionBlockVersion;
import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository;
import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@@ -7,8 +7,14 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import org.raddatz.familienarchiv.dto.CreateAnnotationDTO; import org.raddatz.familienarchiv.dto.CreateAnnotationDTO;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.TranscriptionService;
import org.raddatz.familienarchiv.service.AnnotationService;
import org.raddatz.familienarchiv.service.FileService;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
@@ -8,8 +8,8 @@ import org.mockito.junit.jupiter.MockitoExtension;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;

View File

@@ -1,7 +1,7 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@@ -1,13 +1,13 @@
package org.raddatz.familienarchiv.controller; package org.raddatz.familienarchiv.ocr;
import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.raddatz.familienarchiv.config.SecurityConfig; import org.raddatz.familienarchiv.config.SecurityConfig;
import org.raddatz.familienarchiv.dto.BatchOcrDTO; import org.raddatz.familienarchiv.ocr.BatchOcrDTO;
import org.raddatz.familienarchiv.dto.OcrStatusDTO; import org.raddatz.familienarchiv.ocr.OcrStatusDTO;
import org.raddatz.familienarchiv.dto.TrainingHistoryResponse; import org.raddatz.familienarchiv.ocr.TrainingHistoryResponse;
import org.raddatz.familienarchiv.dto.TrainingInfoResponse; import org.raddatz.familienarchiv.ocr.TrainingInfoResponse;
import org.raddatz.familienarchiv.dto.TriggerOcrDTO; import org.raddatz.familienarchiv.ocr.TriggerOcrDTO;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

View File

@@ -1,16 +1,18 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import org.raddatz.familienarchiv.dto.OcrStatusDTO; import org.raddatz.familienarchiv.ocr.OcrStatusDTO;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.OcrJobDocumentRepository; import org.raddatz.familienarchiv.ocr.OcrJobDocumentRepository;
import org.raddatz.familienarchiv.repository.OcrJobRepository; import org.raddatz.familienarchiv.ocr.OcrJobRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@@ -1,17 +1,20 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.raddatz.familienarchiv.dto.TrainingHistoryResponse; import org.raddatz.familienarchiv.ocr.TrainingHistoryResponse;
import org.raddatz.familienarchiv.dto.TrainingInfoResponse; import org.raddatz.familienarchiv.ocr.TrainingInfoResponse;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import org.raddatz.familienarchiv.model.TrainingStatus; import org.raddatz.familienarchiv.ocr.TrainingStatus;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.repository.OcrTrainingRunRepository; import org.raddatz.familienarchiv.ocr.OcrTrainingRunRepository;
import org.raddatz.familienarchiv.person.PersonService; import org.raddatz.familienarchiv.person.PersonService;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate; import org.springframework.transaction.support.TransactionTemplate;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpServer;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@@ -1,18 +1,21 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import org.raddatz.familienarchiv.model.OcrTrainingRun; import org.raddatz.familienarchiv.ocr.OcrTrainingRun;
import org.raddatz.familienarchiv.model.SenderModel; import org.raddatz.familienarchiv.ocr.SenderModel;
import org.raddatz.familienarchiv.model.TrainingStatus; import org.raddatz.familienarchiv.ocr.TrainingStatus;
import org.raddatz.familienarchiv.exception.DomainException; import org.raddatz.familienarchiv.exception.DomainException;
import org.raddatz.familienarchiv.exception.ErrorCode; import org.raddatz.familienarchiv.exception.ErrorCode;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.repository.OcrTrainingRunRepository; import org.raddatz.familienarchiv.ocr.OcrTrainingRunRepository;
import org.raddatz.familienarchiv.repository.SenderModelRepository; import org.raddatz.familienarchiv.ocr.SenderModelRepository;
import org.raddatz.familienarchiv.person.PersonService; import org.raddatz.familienarchiv.person.PersonService;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate; import org.springframework.transaction.support.TransactionTemplate;

View File

@@ -1,4 +1,4 @@
package org.raddatz.familienarchiv.service; package org.raddatz.familienarchiv.ocr;
import org.apache.pdfbox.Loader; import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
@@ -12,6 +12,12 @@ import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.repository.AnnotationRepository; import org.raddatz.familienarchiv.repository.AnnotationRepository;
import org.raddatz.familienarchiv.repository.DocumentRepository; import org.raddatz.familienarchiv.repository.DocumentRepository;
import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository;
import org.raddatz.familienarchiv.service.DocumentService;
import org.raddatz.familienarchiv.service.AnnotationService;
import org.raddatz.familienarchiv.service.FileService;
import org.raddatz.familienarchiv.service.TranscriptionBlockQueryService;
import org.raddatz.familienarchiv.ocr.TrainingLabel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase;
import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;

View File

@@ -7,6 +7,8 @@ import org.raddatz.familienarchiv.config.FlywayConfig;
import org.raddatz.familienarchiv.model.*; import org.raddatz.familienarchiv.model.*;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.person.PersonRepository; import org.raddatz.familienarchiv.person.PersonRepository;
import org.raddatz.familienarchiv.ocr.TrainingLabel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase; import org.springframework.boot.jdbc.test.autoconfigure.AutoConfigureTestDatabase;
import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest; import org.springframework.boot.data.jpa.test.autoconfigure.DataJpaTest;

View File

@@ -7,6 +7,7 @@ import org.raddatz.familienarchiv.model.BlockSource;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository;
import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import java.util.Optional; import java.util.Optional;
import java.util.UUID; import java.util.UUID;

View File

@@ -18,11 +18,12 @@ import org.raddatz.familienarchiv.model.Document;
import org.raddatz.familienarchiv.model.DocumentAnnotation; import org.raddatz.familienarchiv.model.DocumentAnnotation;
import org.raddatz.familienarchiv.person.Person; import org.raddatz.familienarchiv.person.Person;
import org.raddatz.familienarchiv.model.PersonMention; import org.raddatz.familienarchiv.model.PersonMention;
import org.raddatz.familienarchiv.model.ScriptType; import org.raddatz.familienarchiv.ocr.ScriptType;
import org.raddatz.familienarchiv.model.TranscriptionBlock; import org.raddatz.familienarchiv.model.TranscriptionBlock;
import org.raddatz.familienarchiv.model.TranscriptionBlockVersion; import org.raddatz.familienarchiv.model.TranscriptionBlockVersion;
import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockRepository;
import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository; import org.raddatz.familienarchiv.repository.TranscriptionBlockVersionRepository;
import org.raddatz.familienarchiv.ocr.SenderModelService;
import java.util.Map; import java.util.Map;