From e8d49c9beefc1e78ccdc2f8c9aba19ac8790a323 Mon Sep 17 00:00:00 2001 From: nisha Date: Thu, 13 Feb 2025 17:57:48 +0530 Subject: [PATCH 1/3] Fixed validation issue for table --- .../tendermanagement/util/FieldValidator.java | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java index d311547a..7a4e24b8 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java +++ b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java @@ -224,32 +224,32 @@ public class FieldValidator { return; } - for (int rowIndex = 0; rowIndex < fieldValueList.size(); rowIndex++) { - Map field = fieldValueList.get(rowIndex); - - boolean hasSingleNonNullPredefinedFalse = false; - - for (Map.Entry entry : stateFieldMap.entrySet()) { - String stateKey = entry.getKey(); - Boolean isPredefinedFalse = Boolean.FALSE.equals(entry.getValue()); - - if (isPredefinedFalse) { - Object fieldValue = field.get(stateKey); - if (fieldValue != null && !StringUtils.isEmpty(fieldValue.toString())) { - hasSingleNonNullPredefinedFalse = true; - break; - } - } - } - - if (!hasSingleNonNullPredefinedFalse) { - errors.add(MessageFormat.format( - Translator.toLocale(GepafinConstant.VALIDATION_IN_TABLE), - fieldId)); - break; - } - - } +// for (int rowIndex = 0; rowIndex < fieldValueList.size(); rowIndex++) { +// Map field = fieldValueList.get(rowIndex); +// +// boolean hasSingleNonNullPredefinedFalse = false; +// +// for (Map.Entry entry : stateFieldMap.entrySet()) { +// String stateKey = entry.getKey(); +// Boolean isPredefinedFalse = Boolean.FALSE.equals(entry.getValue()); +// +// if (isPredefinedFalse) { +// Object fieldValue = field.get(stateKey); +// if (fieldValue != null && !StringUtils.isEmpty(fieldValue.toString())) { +// hasSingleNonNullPredefinedFalse = true; +// break; +// } +// } +// } +// +// if (!hasSingleNonNullPredefinedFalse) { +// errors.add(MessageFormat.format( +// Translator.toLocale(GepafinConstant.VALIDATION_IN_TABLE), +// fieldId)); +// break; +// } +// +// } } catch (Exception e) { } From e79b4a00616db59b902d943f90070276a6db0218 Mon Sep 17 00:00:00 2001 From: rajesh Date: Fri, 14 Feb 2025 10:14:39 +0530 Subject: [PATCH 2/3] Fixed table validation issue --- .../tendermanagement/util/FieldValidator.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java index 7a4e24b8..edde130a 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java +++ b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java @@ -251,6 +251,22 @@ public class FieldValidator { // // } + + boolean hasAtLeastOneNonEmptyPredefinedFalse = fieldValueList.stream() + .anyMatch(field -> stateFieldMap.entrySet().stream() + .filter(entry -> Boolean.FALSE.equals(entry.getValue())) // Check only predefined: false fields + .anyMatch(entry -> { + Object fieldValue = field.get(entry.getKey()); + return fieldValue != null && !StringUtils.isEmpty(fieldValue.toString()); + }) + ); + + if (!hasAtLeastOneNonEmptyPredefinedFalse) { + errors.add(MessageFormat.format( + Translator.toLocale(GepafinConstant.VALIDATION_IN_TABLE), + fieldId)); + } + } catch (Exception e) { } } From 0677364a3b993db663bb12a7a959b7e650e26f72 Mon Sep 17 00:00:00 2001 From: nisha Date: Fri, 14 Feb 2025 13:57:39 +0530 Subject: [PATCH 3/3] Updated code for table validation --- .../net/gepafin/tendermanagement/util/FieldValidator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java index edde130a..2cf40d4b 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java +++ b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java @@ -160,7 +160,7 @@ public class FieldValidator { public FieldValidator validateCustomTableValidation(String value, String customRule, String fieldId, ContentResponseBean contentResponseBean) { - if (customRule == null || value == null) { + if (customRule == null ) { return this; // No custom rule to validate } @@ -168,6 +168,7 @@ public class FieldValidator { case GepafinConstant.NON_EMPTY_TABLES: try { + checkTableValidation(value, fieldId, contentResponseBean, errors); } catch (Exception e) { throw new RuntimeException(e); @@ -186,6 +187,7 @@ public class FieldValidator { .findFirst() // Get the first matching result .orElse(null); // Default to null if no match + if (tableType!=null){ try { Object object = PdfUtils.extractRows(value);;