refactor(i18n): 공급자 식별자를 enum으로 통일한다
This commit is contained in:
+5
-4
@@ -17,6 +17,7 @@ import kr.co.vividnext.sodalive.i18n.LangContext
|
||||
import kr.co.vividnext.sodalive.i18n.SodaMessageSource
|
||||
import kr.co.vividnext.sodalive.i18n.translation.DetectedLanguage
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageDetectionProvider
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageProviderId
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageProviderProperties
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageTranslationTargetType
|
||||
import kr.co.vividnext.sodalive.i18n.translation.PapagoTranslationService
|
||||
@@ -730,7 +731,7 @@ class ControlledLanguageDetectionCacheService(
|
||||
) : LanguageDetectionCacheService(
|
||||
languageDetectionResultRepository,
|
||||
listOf(object : LanguageDetectionProvider {
|
||||
override val providerName = "papago"
|
||||
override val providerId = LanguageProviderId.PAPAGO
|
||||
override fun detect(query: String): String? = null
|
||||
}),
|
||||
LanguageProviderProperties()
|
||||
@@ -759,15 +760,15 @@ class ControlledLanguageDetectionCacheService(
|
||||
queries.add(query)
|
||||
val concurrentDetection = concurrentDetections[query]
|
||||
if (concurrentDetection != null) {
|
||||
return DetectedLanguage(concurrentDetection.detect(), "papago")
|
||||
return DetectedLanguage(concurrentDetection.detect(), LanguageProviderId.PAPAGO)
|
||||
}
|
||||
val blockingDetection = blockingDetections[query]
|
||||
if (blockingDetection != null) {
|
||||
blockingDetection.started.countDown()
|
||||
check(blockingDetection.release.await(5, TimeUnit.SECONDS))
|
||||
return DetectedLanguage(blockingDetection.detectedLanguage, "papago")
|
||||
return DetectedLanguage(blockingDetection.detectedLanguage, LanguageProviderId.PAPAGO)
|
||||
}
|
||||
return detections[query]?.let { DetectedLanguage(it, "papago") }
|
||||
return detections[query]?.let { DetectedLanguage(it, LanguageProviderId.PAPAGO) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-3
@@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.content
|
||||
|
||||
import kr.co.vividnext.sodalive.i18n.translation.DetectedLanguage
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageDetectionProvider
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageProviderId
|
||||
import kr.co.vividnext.sodalive.i18n.translation.LanguageProviderProperties
|
||||
import kr.co.vividnext.sodalive.i18n.translation.SourceTextNormalizer
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
@@ -36,7 +37,7 @@ class LanguageDetectionCacheServiceTest {
|
||||
|
||||
val detected = service.detectWithCache("Hello world")
|
||||
|
||||
assertEquals(DetectedLanguage("en", "papago"), detected)
|
||||
assertEquals(DetectedLanguage("en", LanguageProviderId.PAPAGO), detected)
|
||||
assertEquals(0, providerCalls)
|
||||
Mockito.verify(repository).findBySourceHashAndProviderAndNormalizationVersion(
|
||||
sourceHash = sourceHash,
|
||||
@@ -80,7 +81,7 @@ class LanguageDetectionCacheServiceTest {
|
||||
|
||||
val detected = service.detectWithCache("Hello world")
|
||||
|
||||
assertEquals(DetectedLanguage("ko", "papago"), detected)
|
||||
assertEquals(DetectedLanguage("ko", LanguageProviderId.PAPAGO), detected)
|
||||
Mockito.verify(repository).findBySourceHashAndProviderAndNormalizationVersion(
|
||||
sourceHash = sourceHash,
|
||||
provider = "papago",
|
||||
@@ -104,7 +105,7 @@ class LanguageDetectionCacheServiceTest {
|
||||
|
||||
private fun service(repository: LanguageDetectionResultRepository, detect: () -> String?): LanguageDetectionCacheService {
|
||||
val provider = object : LanguageDetectionProvider {
|
||||
override val providerName = "papago"
|
||||
override val providerId = LanguageProviderId.PAPAGO
|
||||
override fun detect(query: String) = detect()
|
||||
}
|
||||
return LanguageDetectionCacheService(repository, listOf(provider), LanguageProviderProperties())
|
||||
|
||||
Reference in New Issue
Block a user