From 2fdc43ea5d4de75e6e13e9d8cfa8b523a5692f9d Mon Sep 17 00:00:00 2001 From: Loganathan Sekar Date: Tue, 17 Oct 2023 16:12:55 +0530 Subject: [PATCH 1/3] Fix to log bdb info and bir info Signed-off-by: Loganathan Sekar --- .../io/mosip/biosdk/services/utils/Utils.java | 93 +++++++++++++++++-- 1 file changed, 85 insertions(+), 8 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index a57111a0..e850f3f2 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -22,7 +22,9 @@ import io.mosip.biosdk.services.impl.spec_1_0.dto.request.InitRequestDto; import io.mosip.biosdk.services.impl.spec_1_0.dto.request.MatchRequestDto; import io.mosip.biosdk.services.impl.spec_1_0.dto.request.SegmentRequestDto; +import io.mosip.kernel.biometrics.entities.BDBInfo; import io.mosip.kernel.biometrics.entities.BIR; +import io.mosip.kernel.biometrics.entities.BIRInfo; import io.mosip.kernel.biometrics.entities.BiometricRecord; import io.mosip.kernel.core.util.DateUtils; @@ -62,7 +64,7 @@ private void appendString(BiometricRecord biometricRecord, StringBuilder stringB stringBuilder.append("{"); stringBuilder.append(" \"_modelClass\": \"BiometricRecord\""); stringBuilder.append(", \"birInfo\": "); - stringBuilder.append(stringOf(biometricRecord.getBirInfo())); + stringBuilder.append(toString(biometricRecord.getBirInfo())); stringBuilder.append(", \"cbeffversion\":"); stringBuilder.append(stringOf(biometricRecord.getCbeffversion())); stringBuilder.append(", \"version\":"); @@ -79,11 +81,11 @@ private void appendString(BiometricRecord biometricRecord, StringBuilder stringB } private String surroundWithQuote(String str) { - return String.format("\"%s\"", gson.toJson(str)); + return str == null ? "null" : String.format("\"%s\"", gson.toJson(str)); } private String stringOf(Object obj) { - return gson.toJson(obj); + return obj == null ? "null" : gson.toJson(obj); } private void appendString(Iterator iterator, StringBuilder stringBuilder, BiConsumer appendBiConsumer) { @@ -105,24 +107,28 @@ private void appendString(BIR bir, StringBuilder stringBuilder) { stringBuilder.append("{"); stringBuilder.append(" \"_modelClass\": \"BIR\""); stringBuilder.append(", \"bdbInfo\": "); - stringBuilder.append(stringOf(bir.getBdbInfo())); + stringBuilder.append(toString(bir.getBdbInfo())); stringBuilder.append(", \"birInfo\": "); stringBuilder.append(stringOf(bir.getBirInfo())); stringBuilder.append(", \"cbeffversion\": "); stringBuilder.append(stringOf(bir.getCbeffversion())); stringBuilder.append(", \"others\": "); stringBuilder.append(stringOf(bir.getOthers())); - stringBuilder.append(", \"sb\": "); - stringBuilder.append(stringOf(bir.getSb())); + stringBuilder.append(", \"sbHash\": "); + stringBuilder.append(getHashOfBytes(bir.getSb())); stringBuilder.append(", \"sbInfo\": "); stringBuilder.append(stringOf(bir.getSbInfo())); stringBuilder.append(", \"version\": "); stringBuilder.append(stringOf(bir.getVersion())); stringBuilder.append(", \"bdbHash\": "); - stringBuilder.append(bir.getBdb() == null ? "null" : "\""+ DigestUtils.sha256Hex(bir.getBdb()) + "\""); + stringBuilder.append(getHashOfBytes(bir.getBdb())); stringBuilder.append(" }"); } } + + private static String getHashOfBytes(byte[] ba) { + return ba == null ? "null" : "\""+ DigestUtils.sha256Hex(ba) + "\""; + } public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) { if(extractTemplateRequestDto == null) { @@ -131,7 +137,7 @@ public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("{"); stringBuilder.append(" \"_modelClass\": \"ExtractTemplateRequestDto\""); - stringBuilder.append(", \"flags:\""); + stringBuilder.append(", \"flags\":"); stringBuilder.append(stringOf(extractTemplateRequestDto.getFlags())); stringBuilder.append(", \"modalitiesToExtract\": "); stringBuilder.append(stringOf(extractTemplateRequestDto.getModalitiesToExtract())); @@ -221,6 +227,7 @@ public String toString(ConvertFormatRequestDto convertFormatRequestDto) { stringBuilder.append(", \"modalitiesToConvert\": "); stringBuilder.append(stringOf(convertFormatRequestDto.getModalitiesToConvert())); stringBuilder.append(", \"sample\": "); + appendString(convertFormatRequestDto.getSample(), stringBuilder); stringBuilder.append(", \"sourceParams\":"); stringBuilder.append(stringOf(convertFormatRequestDto.getSourceParams())); stringBuilder.append(", \"targetParams\": "); @@ -229,4 +236,74 @@ public String toString(ConvertFormatRequestDto convertFormatRequestDto) { stringBuilder.append(" }"); return stringBuilder.toString(); } + + public String toString(BDBInfo bdbInfo) { + if(bdbInfo == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BDBInfo\""); + stringBuilder.append(", \"challengeResponseHash\":"); + stringBuilder.append(getHashOfBytes(bdbInfo.getChallengeResponse())); + stringBuilder.append(", \"index\": "); + stringBuilder.append(surroundWithQuote(bdbInfo.getIndex())); + stringBuilder.append(", \"format\": "); + stringBuilder.append(stringOf(bdbInfo.getFormat())); + stringBuilder.append(", \"encryption\":"); + stringBuilder.append(Boolean.toString(bdbInfo.getEncryption())); + stringBuilder.append(", \"creationDate\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(bdbInfo.getCreationDate()))); + stringBuilder.append(", \"notValidBefore\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(bdbInfo.getNotValidBefore()))); + stringBuilder.append(", \"notValidAfter\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(bdbInfo.getNotValidAfter()))); + stringBuilder.append(", \"type\": "); + stringBuilder.append(stringOf(bdbInfo.getType())); + stringBuilder.append(", \"subtype\": "); + stringBuilder.append(stringOf(bdbInfo.getSubtype())); + stringBuilder.append(", \"level\": "); + stringBuilder.append(stringOf(bdbInfo.getLevel())); + stringBuilder.append(", \"product\": "); + stringBuilder.append(stringOf(bdbInfo.getProduct())); + stringBuilder.append(", \"captureDevice\": "); + stringBuilder.append(stringOf(bdbInfo.getCaptureDevice())); + stringBuilder.append(", \"featureExtractionAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getFeatureExtractionAlgorithm())); + stringBuilder.append(", \"comparisonAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getComparisonAlgorithm())); + stringBuilder.append(", \"compressionAlgorithm\": "); + stringBuilder.append(stringOf(bdbInfo.getCompressionAlgorithm())); + stringBuilder.append(", \"purpose\": "); + stringBuilder.append(stringOf(bdbInfo.getPurpose())); + stringBuilder.append(", \"quality\": "); + stringBuilder.append(stringOf(bdbInfo.getQuality())); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } + + public String toString(BIRInfo birInfo) { + if(birInfo == null) { + return "null"; + } + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("{"); + stringBuilder.append(" \"_modelClass\": \"BIRInfo\""); + stringBuilder.append(", \"creator\": "); + stringBuilder.append(surroundWithQuote(birInfo.getCreator())); + stringBuilder.append(", \"index\": "); + stringBuilder.append(surroundWithQuote(birInfo.getIndex())); + stringBuilder.append(", \"payload\":"); + stringBuilder.append(getHashOfBytes(birInfo.getPayload())); + stringBuilder.append(", \"integrity\":"); + stringBuilder.append(Boolean.toString(birInfo.getIntegrity())); + stringBuilder.append(", \"creationDate\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(birInfo.getCreationDate()))); + stringBuilder.append(", \"notValidBefore\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(birInfo.getNotValidBefore()))); + stringBuilder.append(", \"notValidAfter\": "); + stringBuilder.append(surroundWithQuote(DateUtils.formatToISOString(birInfo.getNotValidAfter()))); + stringBuilder.append(" }"); + return stringBuilder.toString(); + } } From 182ff329eba3d01e9caff35a09c79b2e4c895622 Mon Sep 17 00:00:00 2001 From: Loganathan Sekar Date: Tue, 17 Oct 2023 16:32:10 +0530 Subject: [PATCH 2/3] Minor correction Signed-off-by: Loganathan Sekar --- .../src/main/java/io/mosip/biosdk/services/utils/Utils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index e850f3f2..87131e2f 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -293,7 +293,7 @@ public String toString(BIRInfo birInfo) { stringBuilder.append(surroundWithQuote(birInfo.getCreator())); stringBuilder.append(", \"index\": "); stringBuilder.append(surroundWithQuote(birInfo.getIndex())); - stringBuilder.append(", \"payload\":"); + stringBuilder.append(", \"payloadHash\":"); stringBuilder.append(getHashOfBytes(birInfo.getPayload())); stringBuilder.append(", \"integrity\":"); stringBuilder.append(Boolean.toString(birInfo.getIntegrity())); From e72135ae956a543d2b804b262d8be2d7ccd29075 Mon Sep 17 00:00:00 2001 From: Loganathan Sekar Date: Tue, 17 Oct 2023 18:10:40 +0530 Subject: [PATCH 3/3] Correction to variable based on review comment Signed-off-by: Loganathan Sekar --- .../src/main/java/io/mosip/biosdk/services/utils/Utils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java index 87131e2f..2efcfb3a 100644 --- a/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java +++ b/biosdk-services/src/main/java/io/mosip/biosdk/services/utils/Utils.java @@ -126,8 +126,8 @@ private void appendString(BIR bir, StringBuilder stringBuilder) { } } - private static String getHashOfBytes(byte[] ba) { - return ba == null ? "null" : "\""+ DigestUtils.sha256Hex(ba) + "\""; + private static String getHashOfBytes(byte[] byteArray) { + return byteArray == null ? "null" : "\""+ DigestUtils.sha256Hex(byteArray) + "\""; } public String toString(ExtractTemplateRequestDto extractTemplateRequestDto) {