in core/package/src/main/kotlin/io/klibs/core/pckg/service/PackageDescriptionService.kt [24:56]
fun generateUniqueDescriptions() {
logger.info("Starting processing duplicate descriptions")
val newDescriptions = mutableMapOf<Long, String>()
var duplicateDescriptions = packageRepository.findDuplicateDescriptions(limit = 10)
if (duplicateDescriptions.isEmpty()) {
logger.warn("No duplicate descriptions found to process")
return
}
while (duplicateDescriptions.isNotEmpty()) {
for (description in duplicateDescriptions) {
val packages = packageRepository.findAllByDescription(description)
val batchResults = packageDescriptionBatchService.generateUniqueDescriptionsForBatch(description, packages)
newDescriptions.putAll(batchResults)
}
logger.info(
"""
Generated ${newDescriptions.size} unique descriptions for ${duplicateDescriptions.size} descriptions:
${newDescriptions.entries.joinToString("\n") { "${it.key}: ${it.value}" }}
""".trimIndent()
)
newDescriptions.clear()
duplicateDescriptions = packageRepository.findDuplicateDescriptions(limit = 10)
}
logger.info("Finished processing duplicate descriptions")
}