From dd68bb3ed26c9cc2fc5844e0ba4a840145aca866 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Fri, 17 Nov 2023 20:05:32 +0530 Subject: [PATCH 1/3] MOSIP-30301 Signed-off-by: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> --- .../BioSdkServiceProviderImpl_V_1_0.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index e9dda958..c94c096c 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -134,6 +134,18 @@ public Object extractTemplate(RequestDto request) { extractTemplateRequestDto.getModalitiesToExtract(), extractTemplateRequestDto.getFlags() ); + if(!validateExtractTemplateResponse(request, response)) + { + StringBuilder info = new StringBuilder(); + info.append("*********************************************************\n"); + info.append("\nRequest \t\t:: " + request.getRequest()); + info.append("\nResponse Code \t\t:: " + response.getStatusCode()); + info.append("\nResponse Status\t\t:: " + response.getStatusMessage()); + info.append("\nResponse \t\t:: " + response.getResponse()); + info.append("\n*********************************************************\n"); + logger.info(LOGGER_SESSIONID, LOGGER_IDTYPE, "extractTemplate: Invalid Info :: ", info.toString()); + response.setStatusCode(ResponseStatus.UNKNOWN_ERROR.getStatusCode()); + } logResponse(response); } catch (Throwable e){ e.printStackTrace(); @@ -239,7 +251,21 @@ private void logBiometricRecord(BiometricRecord biometricRecord) { logger.debug(Utils.toString(biometricRecord)); } } - + private boolean validateExtractTemplateResponse(RequestDto request, Response response) + { + //Validation + if (response != null && response.getResponse() != null) + { + BiometricRecord biometricRecord = (BiometricRecord)response.getResponse(); + //Should have Valid BIR Segments + List segments = biometricRecord.getSegments(); + if (segments == null || (segments != null && segments.size() == 0)) + return false; + return true; + } + return false; + } + private String decode(String data){ try { return Utils.base64Decode(data); From b8cde78c3941f72a69bc10145539cf2be84b0e06 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Fri, 17 Nov 2023 20:16:00 +0530 Subject: [PATCH 2/3] MOSIP-30301 Signed-off-by: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> --- .../impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index c94c096c..beb55aac 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -134,7 +134,7 @@ public Object extractTemplate(RequestDto request) { extractTemplateRequestDto.getModalitiesToExtract(), extractTemplateRequestDto.getFlags() ); - if(!validateExtractTemplateResponse(request, response)) + if(!validateExtractTemplateResponse(response)) { StringBuilder info = new StringBuilder(); info.append("*********************************************************\n"); @@ -251,7 +251,7 @@ private void logBiometricRecord(BiometricRecord biometricRecord) { logger.debug(Utils.toString(biometricRecord)); } } - private boolean validateExtractTemplateResponse(RequestDto request, Response response) + private boolean validateExtractTemplateResponse(Response response) { //Validation if (response != null && response.getResponse() != null) From fdc9f9f529a888d1ccc30d2366b930c0c93bfe78 Mon Sep 17 00:00:00 2001 From: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> Date: Fri, 17 Nov 2023 20:22:13 +0530 Subject: [PATCH 3/3] MOSIP-30301 Signed-off-by: JanardhanBS-SyncByte <72377118+JanardhanBS-SyncByte@users.noreply.github.com> --- .../impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java index beb55aac..d1e57b07 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/impl/spec_1_0/BioSdkServiceProviderImpl_V_1_0.java @@ -144,7 +144,9 @@ public Object extractTemplate(RequestDto request) { info.append("\nResponse \t\t:: " + response.getResponse()); info.append("\n*********************************************************\n"); logger.info(LOGGER_SESSIONID, LOGGER_IDTYPE, "extractTemplate: Invalid Info :: ", info.toString()); - response.setStatusCode(ResponseStatus.UNKNOWN_ERROR.getStatusCode()); + response.setStatusCode(ResponseStatus.UNKNOWN_ERROR.getStatusCode()); + response.setStatusMessage("Extract Template validation failed on response from sdk"); + } logResponse(response); } catch (Throwable e){