From 7697d567f24940bfcab3a7dad4842d2a5949c317 Mon Sep 17 00:00:00 2001 From: Sergejs Luhmirins Date: Thu, 26 Jun 2025 16:34:29 +0300 Subject: [PATCH] Fix SimFace initialisation in latest version --- .../simprints/face/infra/biosdkresolver/SimFaceBioSdk.kt | 8 +++++--- .../com/simprints/face/infra/biosdkresolver/FaceBioSDK.kt | 8 +++++--- .../infra/biosdkresolver/ResolveRankOneVersionUseCase.kt | 2 +- .../simprints/face/infra/biosdkresolver/RocV1BioSdk.kt | 8 +++++--- .../simprints/face/infra/biosdkresolver/RocV3BioSdk.kt | 8 +++++--- .../biosdkresolver/ResolveRankOneVersionUseCaseTest.kt | 4 ++-- .../com/simprints/matcher/usecases/FaceMatcherUseCase.kt | 8 ++++---- 7 files changed, 27 insertions(+), 19 deletions(-) diff --git a/face/infra/bio-sdk-resolver/src/debug/java/com/simprints/face/infra/biosdkresolver/SimFaceBioSdk.kt b/face/infra/bio-sdk-resolver/src/debug/java/com/simprints/face/infra/biosdkresolver/SimFaceBioSdk.kt index fcc514600b..d20c47607c 100644 --- a/face/infra/bio-sdk-resolver/src/debug/java/com/simprints/face/infra/biosdkresolver/SimFaceBioSdk.kt +++ b/face/infra/bio-sdk-resolver/src/debug/java/com/simprints/face/infra/biosdkresolver/SimFaceBioSdk.kt @@ -15,9 +15,11 @@ class SimFaceBioSdk @Inject constructor( override val detector: SimFaceDetector, private val simFace: SimFace, ) : FaceBioSDK { - override val version: String = "1" - override val templateFormat: String = simFace.getTemplateVersion() - override val matcherName: String = "SIM_FACE" + override fun version(): String = "1" + + override fun templateFormat(): String = simFace.getTemplateVersion() + + override fun matcherName(): String = "SIM_FACE" override fun createMatcher(probeSamples: List): FaceMatcher = SimFaceMatcher(simFace, probeSamples) } diff --git a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/FaceBioSDK.kt b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/FaceBioSDK.kt index 2918f4ec3a..130ff8eb25 100644 --- a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/FaceBioSDK.kt +++ b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/FaceBioSDK.kt @@ -9,9 +9,11 @@ interface FaceBioSDK { val initializer: FaceBioSdkInitializer val detector: FaceDetector - val version: String - val templateFormat: String - val matcherName: String + fun version(): String + + fun templateFormat(): String + + fun matcherName(): String fun createMatcher(probeSamples: List): FaceMatcher } diff --git a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCase.kt b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCase.kt index a34322b592..902e73a323 100644 --- a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCase.kt +++ b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCase.kt @@ -16,6 +16,6 @@ internal class ResolveRankOneVersionUseCase @Inject constructor( ?.version ?.takeIf { it.isNotBlank() } // Ensures version is not null or empty requireNotNull(version) { "FaceBioSDK version is null or empty" } - return if (version == rocV3BioSdk.version) rocV3BioSdk else rocV1BioSdk + return if (version == rocV3BioSdk.version()) rocV3BioSdk else rocV1BioSdk } } diff --git a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV1BioSdk.kt b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV1BioSdk.kt index d515368562..16ed495d4e 100644 --- a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV1BioSdk.kt +++ b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV1BioSdk.kt @@ -14,9 +14,11 @@ class RocV1BioSdk @Inject constructor( override val initializer: RocV1Initializer, override val detector: RocV1Detector, ) : FaceBioSDK { - override val version: String = "1.23" - override val templateFormat: String = RANK_ONE_TEMPLATE_FORMAT_1_23 - override val matcherName: String = "RANK_ONE" + override fun version(): String = "1.23" + + override fun templateFormat(): String = RANK_ONE_TEMPLATE_FORMAT_1_23 + + override fun matcherName(): String = "RANK_ONE" override fun createMatcher(probeSamples: List): FaceMatcher = RocV1Matcher(probeSamples) } diff --git a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV3BioSdk.kt b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV3BioSdk.kt index f382030133..474370ef96 100644 --- a/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV3BioSdk.kt +++ b/face/infra/bio-sdk-resolver/src/main/java/com/simprints/face/infra/biosdkresolver/RocV3BioSdk.kt @@ -14,9 +14,11 @@ class RocV3BioSdk @Inject constructor( override val initializer: RocV3Initializer, override val detector: RocV3Detector, ) : FaceBioSDK { - override val version: String = "3.1" - override val templateFormat: String = RANK_ONE_TEMPLATE_FORMAT_3_1 - override val matcherName: String = "RANK_ONE" + override fun version(): String = "3.1" + + override fun templateFormat(): String = RANK_ONE_TEMPLATE_FORMAT_3_1 + + override fun matcherName(): String = "RANK_ONE" override fun createMatcher(probeSamples: List): FaceMatcher = RocV3Matcher(probeSamples) } diff --git a/face/infra/bio-sdk-resolver/src/test/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCaseTest.kt b/face/infra/bio-sdk-resolver/src/test/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCaseTest.kt index 25624f7576..06542e3743 100644 --- a/face/infra/bio-sdk-resolver/src/test/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCaseTest.kt +++ b/face/infra/bio-sdk-resolver/src/test/java/com/simprints/face/infra/biosdkresolver/ResolveRankOneVersionUseCaseTest.kt @@ -70,7 +70,7 @@ class ResolveRankOneVersionUseCaseTest { .face ?.rankOne ?.version - } returns rocV3BioSdk.version + } returns rocV3BioSdk.version() // When val result = resolveTheVersionUseCase.invoke() @@ -89,7 +89,7 @@ class ResolveRankOneVersionUseCaseTest { .face ?.rankOne ?.version - } returns rocV1BioSdk.version + } returns rocV1BioSdk.version() // When val result = resolveTheVersionUseCase.invoke() diff --git a/feature/matcher/src/main/java/com/simprints/matcher/usecases/FaceMatcherUseCase.kt b/feature/matcher/src/main/java/com/simprints/matcher/usecases/FaceMatcherUseCase.kt index 70157fc190..9ce5a68785 100644 --- a/feature/matcher/src/main/java/com/simprints/matcher/usecases/FaceMatcherUseCase.kt +++ b/feature/matcher/src/main/java/com/simprints/matcher/usecases/FaceMatcherUseCase.kt @@ -43,19 +43,19 @@ internal class FaceMatcherUseCase @Inject constructor( val bioSdk = resolveFaceBioSdk(matchParams.faceSDK) if (matchParams.probeFaceSamples.isEmpty()) { - send(MatcherState.Success(emptyList(), 0, bioSdk.matcherName)) + send(MatcherState.Success(emptyList(), 0, bioSdk.matcherName())) return@channelFlow } val samples = mapSamples(matchParams.probeFaceSamples) val queryWithSupportedFormat = matchParams.queryForCandidates.copy( - faceSampleFormat = bioSdk.templateFormat, + faceSampleFormat = bioSdk.templateFormat(), ) val expectedCandidates = enrolmentRecordRepository.count( queryWithSupportedFormat, dataSource = matchParams.biometricDataSource, ) if (expectedCandidates == 0) { - send(MatcherState.Success(emptyList(), 0, bioSdk.matcherName)) + send(MatcherState.Success(emptyList(), 0, bioSdk.matcherName())) return@channelFlow } @@ -81,7 +81,7 @@ internal class FaceMatcherUseCase @Inject constructor( } consumeAndMatch(candidatesChannel, samples, resultSet, bioSdk) - send(MatcherState.Success(resultSet.toList(), loadedCandidates.get(), bioSdk.matcherName)) + send(MatcherState.Success(resultSet.toList(), loadedCandidates.get(), bioSdk.matcherName())) }.flowOn(dispatcherBG) suspend fun consumeAndMatch(