Refactor BundeslandRepository, implement V012 migration for Reiter master data changes, harmonize domain models, resolve repository interface inconsistencies, and enhance ZNS import with relational mapping improvements.

This commit is contained in:
2026-04-06 16:51:14 +02:00
parent 0ae9a1f1b8
commit 1b6f8e7c59
8 changed files with 75 additions and 28 deletions
@@ -1,32 +1,57 @@
package at.mocode.zns.import.service
import at.mocode.masterdata.domain.repository.FunktionaerRepository
import at.mocode.masterdata.domain.repository.HorseRepository
import at.mocode.masterdata.domain.repository.ReiterRepository
import at.mocode.masterdata.domain.repository.VereinRepository
import at.mocode.masterdata.domain.repository.*
import at.mocode.masterdata.infrastructure.persistence.*
import at.mocode.masterdata.infrastructure.persistence.funktionaer.FunktionaerExposedRepository
import at.mocode.masterdata.infrastructure.persistence.pferd.HorseExposedRepository
import at.mocode.masterdata.infrastructure.persistence.reiter.ReiterExposedRepository
import at.mocode.masterdata.infrastructure.persistence.verein.VereinExposedRepository
import at.mocode.zns.importer.ZnsImportService
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.ComponentScan
@SpringBootApplication
@ComponentScan(
basePackages = [
"at.mocode.zns.import.service",
"at.mocode.masterdata.infrastructure"
]
)
class ZnsImportServiceApplication {
// Manuelle Bean-Definitionen für die Repositories, da diese in der Infrastruktur
// keine @Repository-Annotationen haben und wir MasterdataConfiguration nicht importieren wollen.
@Bean
fun landRepository(): LandRepository = LandRepositoryImpl()
@Bean
fun bundeslandRepository(): BundeslandRepository = BundeslandRepositoryImpl()
@Bean
fun vereinRepository(): VereinRepository = VereinExposedRepository()
@Bean
fun reiterRepository(): ReiterRepository = ReiterExposedRepository()
@Bean
fun horseRepository(): HorseRepository = HorseExposedRepository()
@Bean
fun funktionaerRepository(): FunktionaerRepository = FunktionaerExposedRepository()
@Bean
fun znsImportService(
vereinRepository: VereinRepository,
reiterRepository: ReiterRepository,
horseRepository: HorseRepository,
funktionaerRepository: FunktionaerRepository
funktionaerRepository: FunktionaerRepository,
landRepository: LandRepository,
bundeslandRepository: BundeslandRepository
): ZnsImportService {
return ZnsImportService(vereinRepository, reiterRepository, horseRepository, funktionaerRepository)
return ZnsImportService(
vereinRepository,
reiterRepository,
horseRepository,
funktionaerRepository,
landRepository,
bundeslandRepository
)
}
}