From 6e915a0c58c07d3495bf736069c30003ac0ba65e Mon Sep 17 00:00:00 2001 From: kanishq-egov Date: Mon, 17 Jun 2024 18:21:21 +0530 Subject: [PATCH] HLM-6196: updated @component in validators for client reference id validation --- .../validators/HmExistentEntityValidator.java | 6 +++ .../HmNonExistentEntityValidator.java | 8 +--- .../household/HExistentEntityValidator.java | 6 +++ .../validators/IExistentEntityValidator.java | 6 +++ .../INonExistentEntityValidator.java | 3 +- .../NonExistentEntityValidator.java | 27 +++++++++-- .../PbExistentEntityValidator.java | 6 +++ .../PbNonExistentEntityValidator.java | 42 ++++++++++++----- .../task/PtExistentEntityValidator.java | 6 +++ .../task/PtNonExistentEntityValidator.java | 43 ++++++++++++----- .../validator/RmExistentEntityValidator.java | 6 +++ .../RmNonExistentEntityValidator.java | 45 +++++++++++++----- .../HfrExistentEntityValidator.java | 6 +++ .../HfrNonExistentEntityValidator.java | 27 +++++++++-- .../sideeffect/SeExistentEntityValidator.java | 6 +++ .../SeNonExistentEntityValidator.java | 46 +++++++++++++------ .../stock/SExistentEntityValidator.java | 6 +++ .../stock/SNonExistentValidator.java | 41 ++++++++++++----- .../SrExistentEntityValidator.java | 6 +++ .../SrNonExistentValidator.java | 41 ++++++++++++----- 20 files changed, 298 insertions(+), 85 deletions(-) diff --git a/health-services/household/src/main/java/org/egov/household/household/member/validators/HmExistentEntityValidator.java b/health-services/household/src/main/java/org/egov/household/household/member/validators/HmExistentEntityValidator.java index 609001e7c71..1e335cd753e 100644 --- a/health-services/household/src/main/java/org/egov/household/household/member/validators/HmExistentEntityValidator.java +++ b/health-services/household/src/main/java/org/egov/household/household/member/validators/HmExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.household.HouseholdMember; import org.egov.common.models.household.HouseholdMemberBulkRequest; import org.egov.common.models.household.HouseholdMemberSearch; import org.egov.common.validator.Validator; import org.egov.household.repository.HouseholdMemberRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class HmExistentEntityValidator implements Validator { private final HouseholdMemberRepository householdMemberRepository; diff --git a/health-services/household/src/main/java/org/egov/household/household/member/validators/HmNonExistentEntityValidator.java b/health-services/household/src/main/java/org/egov/household/household/member/validators/HmNonExistentEntityValidator.java index e7b195dd694..07aa29873c6 100644 --- a/health-services/household/src/main/java/org/egov/household/household/member/validators/HmNonExistentEntityValidator.java +++ b/health-services/household/src/main/java/org/egov/household/household/member/validators/HmNonExistentEntityValidator.java @@ -9,11 +9,9 @@ import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; -import org.egov.common.models.household.Household; import org.egov.common.models.household.HouseholdMember; import org.egov.common.models.household.HouseholdMemberBulkRequest; import org.egov.common.models.household.HouseholdMemberSearch; -import org.egov.common.models.household.HouseholdSearch; import org.egov.common.validator.Validator; import org.egov.household.repository.HouseholdMemberRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +19,6 @@ import org.springframework.stereotype.Component; import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; @@ -73,7 +70,6 @@ public Map> validate(HouseholdMemberBulkRequest req // Create a map of household members with their IDs as keys Map iMap = getIdToObjMap(householdMembers .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); - // Check if the map is not empty // Lists to store IDs and client reference IDs List idList = new ArrayList<>(); @@ -84,9 +80,9 @@ public Map> validate(HouseholdMemberBulkRequest req clientReferenceIdList.add(householdMember.getClientReferenceId()); }); + // Check if the map is not empty if (!iMap.isEmpty()) { - // Extract IDs from the map - List householdMemberIds = new ArrayList<>(iMap.keySet()); + // Create a search object for querying existing entities HouseholdMemberSearch householdMemberSearch = HouseholdMemberSearch.builder() .clientReferenceId(clientReferenceIdList) diff --git a/health-services/household/src/main/java/org/egov/household/validators/household/HExistentEntityValidator.java b/health-services/household/src/main/java/org/egov/household/validators/household/HExistentEntityValidator.java index 980702a693d..57162432093 100644 --- a/health-services/household/src/main/java/org/egov/household/validators/household/HExistentEntityValidator.java +++ b/health-services/household/src/main/java/org/egov/household/validators/household/HExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.household.Household; import org.egov.common.models.household.HouseholdBulkRequest; import org.egov.common.models.household.HouseholdSearch; import org.egov.common.validator.Validator; import org.egov.household.repository.HouseholdRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -23,6 +26,9 @@ * This validator checks if the provided household entities already exist in the database based on their client reference IDs. * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class HExistentEntityValidator implements Validator { private final HouseholdRepository householdRepository; diff --git a/health-services/individual/src/main/java/org/egov/individual/validators/IExistentEntityValidator.java b/health-services/individual/src/main/java/org/egov/individual/validators/IExistentEntityValidator.java index 8e3b40a0843..a5f75eaa0b8 100644 --- a/health-services/individual/src/main/java/org/egov/individual/validators/IExistentEntityValidator.java +++ b/health-services/individual/src/main/java/org/egov/individual/validators/IExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.individual.Individual; import org.egov.common.models.individual.IndividualBulkRequest; import org.egov.common.models.individual.IndividualSearch; import org.egov.common.validator.Validator; import org.egov.individual.repository.IndividualRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -23,6 +26,9 @@ * This validator checks if the provided individual entities already exist in the database based on their client reference IDs. * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class IExistentEntityValidator implements Validator { private final IndividualRepository individualRepository; diff --git a/health-services/individual/src/main/java/org/egov/individual/validators/INonExistentEntityValidator.java b/health-services/individual/src/main/java/org/egov/individual/validators/INonExistentEntityValidator.java index ce2946ab8c9..c4222ab0e55 100644 --- a/health-services/individual/src/main/java/org/egov/individual/validators/INonExistentEntityValidator.java +++ b/health-services/individual/src/main/java/org/egov/individual/validators/INonExistentEntityValidator.java @@ -72,8 +72,7 @@ public Map> validate(IndividualBulkRequest request) { }); // Check if the entity map is not empty if (!eMap.isEmpty()) { - // Extract entity IDs - List entityIds = new ArrayList<>(eMap.keySet()); + // Create a search object for querying existing entities IndividualSearch individualSearch = IndividualSearch.builder() .id(idList) diff --git a/health-services/individual/src/main/java/org/egov/individual/validators/NonExistentEntityValidator.java b/health-services/individual/src/main/java/org/egov/individual/validators/NonExistentEntityValidator.java index 03c091d385d..40277710bd1 100644 --- a/health-services/individual/src/main/java/org/egov/individual/validators/NonExistentEntityValidator.java +++ b/health-services/individual/src/main/java/org/egov/individual/validators/NonExistentEntityValidator.java @@ -4,6 +4,7 @@ import org.egov.common.models.Error; import org.egov.common.models.individual.Individual; import org.egov.common.models.individual.IndividualBulkRequest; +import org.egov.common.models.individual.IndividualSearch; import org.egov.common.validator.Validator; import org.egov.individual.repository.IndividualRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -56,10 +57,30 @@ public Map> validate(IndividualBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map iMap = getIdToObjMap(individuals .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from individual entities + individuals.forEach(individual -> { + idList.add(individual.getId()); + clientReferenceIdList.add(individual.getClientReferenceId()); + }); if (!iMap.isEmpty()) { - List individualIds = new ArrayList<>(iMap.keySet()); - List existingIndividuals = individualRepository.findById(individualIds, - getIdFieldName(idMethod), false).getResponse(); + // Create a search object for querying existing entities + IndividualSearch individualSearch = IndividualSearch.builder() + .id(idList) + .clientReferenceId(clientReferenceIdList) + .build(); + + List existingIndividuals; + try { + // Query the repository to find existing entities + existingIndividuals = individualRepository.find(individualSearch, individuals.size(), 0, + individuals.get(0).getTenantId(), null, false).getResponse(); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentIndividuals = checkNonExistentEntities(iMap, existingIndividuals, idMethod); nonExistentIndividuals.forEach(individual -> { diff --git a/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbExistentEntityValidator.java b/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbExistentEntityValidator.java index 73a622a6d1e..167969d09e3 100644 --- a/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbExistentEntityValidator.java +++ b/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.project.BeneficiaryBulkRequest; import org.egov.common.models.project.ProjectBeneficiary; import org.egov.common.models.project.ProjectBeneficiarySearch; import org.egov.common.validator.Validator; import org.egov.project.repository.ProjectBeneficiaryRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class PbExistentEntityValidator implements Validator { private final ProjectBeneficiaryRepository projectBeneficiaryRepository; diff --git a/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbNonExistentEntityValidator.java b/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbNonExistentEntityValidator.java index 4f4c4e72cb1..a0f6066eb13 100644 --- a/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbNonExistentEntityValidator.java +++ b/health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbNonExistentEntityValidator.java @@ -1,24 +1,24 @@ package org.egov.project.validator.beneficiary; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.project.BeneficiaryBulkRequest; import org.egov.common.models.project.ProjectBeneficiary; +import org.egov.common.models.project.ProjectBeneficiarySearch; import org.egov.common.validator.Validator; import org.egov.project.repository.ProjectBeneficiaryRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; @@ -49,10 +49,30 @@ public Map> validate(BeneficiaryBulkRequest requ Method idMethod = getMethod(GET_ID, objClass); Map iMap = getIdToObjMap(projectBeneficiaries .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from Project Beneficiary entities + projectBeneficiaries.forEach(entity -> { + idList.add(entity.getId()); + clientReferenceIdList.add(entity.getClientReferenceId()); + }); if (!iMap.isEmpty()) { - List beneficiaryIds = new ArrayList<>(iMap.keySet()); - List existingProjectBeneficiaries = projectBeneficiaryRepository - .findById(beneficiaryIds, false, getIdFieldName(idMethod)); + ProjectBeneficiarySearch projectBeneficiarySearch = ProjectBeneficiarySearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingProjectBeneficiaries; + try { + // Query the repository to find existing entities + existingProjectBeneficiaries = projectBeneficiaryRepository.find(projectBeneficiarySearch, projectBeneficiaries.size(), 0, + projectBeneficiaries.get(0).getTenantId(), null, false).getResponse(); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } + List nonExistentIndividuals = checkNonExistentEntities(iMap, existingProjectBeneficiaries, idMethod); nonExistentIndividuals.forEach(projectBeneficiary -> { diff --git a/health-services/project/src/main/java/org/egov/project/validator/task/PtExistentEntityValidator.java b/health-services/project/src/main/java/org/egov/project/validator/task/PtExistentEntityValidator.java index 3a65cc6acc9..c3cb60b2b8c 100644 --- a/health-services/project/src/main/java/org/egov/project/validator/task/PtExistentEntityValidator.java +++ b/health-services/project/src/main/java/org/egov/project/validator/task/PtExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.project.Task; import org.egov.common.models.project.TaskBulkRequest; import org.egov.common.models.project.TaskSearch; import org.egov.common.validator.Validator; import org.egov.project.repository.ProjectTaskRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author: kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class PtExistentEntityValidator implements Validator { private final ProjectTaskRepository projectTaskRepository; diff --git a/health-services/project/src/main/java/org/egov/project/validator/task/PtNonExistentEntityValidator.java b/health-services/project/src/main/java/org/egov/project/validator/task/PtNonExistentEntityValidator.java index 5342d6ff90a..0677fe5d44b 100644 --- a/health-services/project/src/main/java/org/egov/project/validator/task/PtNonExistentEntityValidator.java +++ b/health-services/project/src/main/java/org/egov/project/validator/task/PtNonExistentEntityValidator.java @@ -1,9 +1,18 @@ package org.egov.project.validator.task; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.project.Task; import org.egov.common.models.project.TaskBulkRequest; +import org.egov.common.models.project.TaskSearch; import org.egov.common.validator.Validator; import org.egov.project.repository.ProjectTaskRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -11,16 +20,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.ReflectionUtils; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdMethod; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; @@ -55,10 +55,29 @@ public Map> validate(TaskBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map eMap = getIdToObjMap(entities .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from Project Task entities + entities.forEach(entity -> { + idList.add(entity.getId()); + clientReferenceIdList.add(entity.getClientReferenceId()); + }); if (!eMap.isEmpty()) { - List entityIds = new ArrayList<>(eMap.keySet()); - List existingEntities = projectTaskRepository.findById(entityIds, - getIdFieldName(idMethod), false).getResponse(); + TaskSearch taskSearch = TaskSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingEntities; + try { + // Query the repository to find existing entities + existingEntities = projectTaskRepository.find(taskSearch, entities.size(), 0, + entities.get(0).getTenantId(), null, false).getResponse(); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentEntities = checkNonExistentEntities(eMap, existingEntities, idMethod); nonExistentEntities.forEach(task -> { diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmExistentEntityValidator.java index 6b760985b92..8725344af7d 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.Referral; import org.egov.common.models.referralmanagement.ReferralBulkRequest; import org.egov.common.models.referralmanagement.ReferralSearch; import org.egov.common.validator.Validator; import org.egov.referralmanagement.repository.ReferralRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -23,6 +26,9 @@ * This validator checks if the provided referral entities already exist in the database based on their client reference IDs. * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class RmExistentEntityValidator implements Validator { private final ReferralRepository referralRepository; diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmNonExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmNonExistentEntityValidator.java index 8189c560ef1..c385cae4acf 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmNonExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/RmNonExistentEntityValidator.java @@ -1,32 +1,32 @@ package org.egov.referralmanagement.validator; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.Referral; import org.egov.common.models.referralmanagement.ReferralBulkRequest; +import org.egov.common.models.referralmanagement.ReferralSearch; import org.egov.common.validator.Validator; import org.egov.referralmanagement.repository.ReferralRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static org.egov.referralmanagement.Constants.GET_ID; import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; import static org.egov.common.utils.CommonUtils.notHavingErrors; import static org.egov.common.utils.CommonUtils.populateErrorDetails; import static org.egov.common.utils.ValidatorUtils.getErrorForNonExistentEntity; +import static org.egov.referralmanagement.Constants.GET_ID; @Component @Order(value = 4) @@ -53,10 +53,31 @@ public Map> validate(ReferralBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map iMap = getIdToObjMap(referrals .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from referral entities + referrals.forEach(referral -> { + idList.add(referral.getId()); + clientReferenceIdList.add(referral.getClientReferenceId()); + }); if (!iMap.isEmpty()) { - List referralIds = new ArrayList<>(iMap.keySet()); - List existingReferrals = referralRepository - .findById(referralIds, getIdFieldName(idMethod),false).getResponse(); + + // Create a search object for querying existing entities + ReferralSearch referralSearch = ReferralSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingReferrals; + try { + // Query the repository to find existing entities + existingReferrals = referralRepository.find(referralSearch, referrals.size(), 0, + referrals.get(0).getTenantId(), null, false).getResponse(); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentReferrals = checkNonExistentEntities(iMap, existingReferrals, idMethod); nonExistentReferrals.forEach(sideEffect -> { diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrExistentEntityValidator.java index 2eaebb8d5c2..33e3e750911 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.hfreferral.HFReferral; import org.egov.common.models.referralmanagement.hfreferral.HFReferralBulkRequest; import org.egov.common.models.referralmanagement.hfreferral.HFReferralSearch; import org.egov.common.validator.Validator; import org.egov.referralmanagement.repository.HFReferralRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class HfrExistentEntityValidator implements Validator { private final HFReferralRepository hfReferralRepository; diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java index 515d37624a4..2b414130229 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java @@ -12,6 +12,7 @@ import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.hfreferral.HFReferral; import org.egov.common.models.referralmanagement.hfreferral.HFReferralBulkRequest; +import org.egov.common.models.referralmanagement.hfreferral.HFReferralSearch; import org.egov.common.validator.Validator; import org.egov.referralmanagement.repository.HFReferralRepository; import org.springframework.beans.factory.annotation.Autowired; @@ -19,7 +20,6 @@ import org.springframework.stereotype.Component; import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; @@ -63,10 +63,29 @@ public Map> validate(HFReferralBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map iMap = getIdToObjMap(hfReferrals .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from HfReferral entities + hfReferrals.forEach(entity -> { + idList.add(entity.getId()); + clientReferenceIdList.add(entity.getClientReferenceId()); + }); if (!iMap.isEmpty()) { - List referralIds = new ArrayList<>(iMap.keySet()); - List existingReferrals = hfReferralRepository - .findById(referralIds, false, getIdFieldName(idMethod)); + HFReferralSearch hfReferralSearch = HFReferralSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingReferrals; + try { + // Query the repository to find existing entities + existingReferrals = hfReferralRepository.find(hfReferralSearch, hfReferrals.size(), 0, + hfReferrals.get(0).getTenantId(), null, false); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentReferrals = checkNonExistentEntities(iMap, existingReferrals, idMethod); nonExistentReferrals.forEach(sideEffect -> { diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeExistentEntityValidator.java index 87b93e06920..9ed78e8db17 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.sideeffect.SideEffect; import org.egov.common.models.referralmanagement.sideeffect.SideEffectBulkRequest; import org.egov.common.models.referralmanagement.sideeffect.SideEffectSearch; import org.egov.common.validator.Validator; import org.egov.referralmanagement.repository.SideEffectRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class SeExistentEntityValidator implements Validator { private final SideEffectRepository sideEffectRepository; diff --git a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeNonExistentEntityValidator.java b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeNonExistentEntityValidator.java index 5f70cd0fef5..edea22a9da6 100644 --- a/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeNonExistentEntityValidator.java +++ b/health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/sideeffect/SeNonExistentEntityValidator.java @@ -1,32 +1,32 @@ package org.egov.referralmanagement.validator.sideeffect; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; -import org.egov.referralmanagement.repository.SideEffectRepository; import org.egov.common.models.Error; import org.egov.common.models.referralmanagement.sideeffect.SideEffect; import org.egov.common.models.referralmanagement.sideeffect.SideEffectBulkRequest; +import org.egov.common.models.referralmanagement.sideeffect.SideEffectSearch; import org.egov.common.validator.Validator; +import org.egov.referralmanagement.repository.SideEffectRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static org.egov.referralmanagement.Constants.GET_ID; import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; import static org.egov.common.utils.CommonUtils.notHavingErrors; import static org.egov.common.utils.CommonUtils.populateErrorDetails; import static org.egov.common.utils.ValidatorUtils.getErrorForNonExistentEntity; +import static org.egov.referralmanagement.Constants.GET_ID; @Component @Order(value = 4) @@ -53,10 +53,30 @@ public Map> validate(SideEffectBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map iMap = getIdToObjMap(sideEffects .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from Side Effect entities + sideEffects.forEach(sideEffect -> { + idList.add(sideEffect.getId()); + clientReferenceIdList.add(sideEffect.getClientReferenceId()); + }); if (!iMap.isEmpty()) { - List sideEffectIds = new ArrayList<>(iMap.keySet()); - List existingSideEffects = sideEffectRepository - .findById(sideEffectIds, false, getIdFieldName(idMethod)); + SideEffectSearch sideEffectSearch = SideEffectSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingSideEffects; + try { + // Query the repository to find existing entities + existingSideEffects = sideEffectRepository.find(sideEffectSearch, sideEffects.size(), 0, + sideEffects.get(0).getTenantId(), null, false).getResponse(); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } + List nonExistentIndividuals = checkNonExistentEntities(iMap, existingSideEffects, idMethod); nonExistentIndividuals.forEach(sideEffect -> { diff --git a/health-services/stock/src/main/java/org/egov/stock/validator/stock/SExistentEntityValidator.java b/health-services/stock/src/main/java/org/egov/stock/validator/stock/SExistentEntityValidator.java index 2db82a921ac..7ad90579428 100644 --- a/health-services/stock/src/main/java/org/egov/stock/validator/stock/SExistentEntityValidator.java +++ b/health-services/stock/src/main/java/org/egov/stock/validator/stock/SExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.stock.Stock; import org.egov.common.models.stock.StockBulkRequest; import org.egov.common.models.stock.StockSearch; import org.egov.common.validator.Validator; import org.egov.stock.repository.StockRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class SExistentEntityValidator implements Validator { private final StockRepository stockRepository; diff --git a/health-services/stock/src/main/java/org/egov/stock/validator/stock/SNonExistentValidator.java b/health-services/stock/src/main/java/org/egov/stock/validator/stock/SNonExistentValidator.java index 47288df7848..f753302caa1 100644 --- a/health-services/stock/src/main/java/org/egov/stock/validator/stock/SNonExistentValidator.java +++ b/health-services/stock/src/main/java/org/egov/stock/validator/stock/SNonExistentValidator.java @@ -1,23 +1,23 @@ package org.egov.stock.validator.stock; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.stock.Stock; import org.egov.common.models.stock.StockBulkRequest; +import org.egov.common.models.stock.StockSearch; import org.egov.common.validator.Validator; import org.egov.stock.repository.StockRepository; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; @@ -46,10 +46,29 @@ public Map> validate(StockBulkRequest request) { Method idMethod = getMethod(GET_ID, objClass); Map eMap = getIdToObjMap(entities .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from stock entities + entities.forEach(entity -> { + idList.add(entity.getId()); + clientReferenceIdList.add(entity.getClientReferenceId()); + }); if (!eMap.isEmpty()) { - List entityIds = new ArrayList<>(eMap.keySet()); - List existingEntities = stockRepository.findById(entityIds,false, - getIdFieldName(idMethod)); + StockSearch stockSearch = StockSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingEntities; + try { + // Query the repository to find existing entities + existingEntities = stockRepository.find(stockSearch, entities.size(), 0, + entities.get(0).getTenantId(), null, false); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentEntities = checkNonExistentEntities(eMap, existingEntities, idMethod); nonExistentEntities.forEach(task -> { diff --git a/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrExistentEntityValidator.java b/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrExistentEntityValidator.java index e804a150db2..e7c0ec35d16 100644 --- a/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrExistentEntityValidator.java +++ b/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrExistentEntityValidator.java @@ -5,12 +5,15 @@ import java.util.Map; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.stock.StockReconciliation; import org.egov.common.models.stock.StockReconciliationBulkRequest; import org.egov.common.models.stock.StockReconciliationSearch; import org.egov.common.validator.Validator; import org.egov.stock.repository.StockReconciliationRepository; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import static org.egov.common.utils.CommonUtils.getIdFieldName; @@ -24,6 +27,9 @@ * * @author kanishq-egov */ +@Component +@Order(value = 1) +@Slf4j public class SrExistentEntityValidator implements Validator { private final StockReconciliationRepository stockReconciliationRepository; diff --git a/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrNonExistentValidator.java b/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrNonExistentValidator.java index d1975a10872..d6d1508779e 100644 --- a/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrNonExistentValidator.java +++ b/health-services/stock/src/main/java/org/egov/stock/validator/stockreconciliation/SrNonExistentValidator.java @@ -1,23 +1,23 @@ package org.egov.stock.validator.stockreconciliation; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + import lombok.extern.slf4j.Slf4j; import org.egov.common.models.Error; import org.egov.common.models.stock.StockReconciliation; import org.egov.common.models.stock.StockReconciliationBulkRequest; +import org.egov.common.models.stock.StockReconciliationSearch; import org.egov.common.validator.Validator; import org.egov.stock.repository.StockReconciliationRepository; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - import static org.egov.common.utils.CommonUtils.checkNonExistentEntities; -import static org.egov.common.utils.CommonUtils.getIdFieldName; import static org.egov.common.utils.CommonUtils.getIdToObjMap; import static org.egov.common.utils.CommonUtils.getMethod; import static org.egov.common.utils.CommonUtils.getObjClass; @@ -46,10 +46,29 @@ public Map> validate(StockReconciliationBulkReq Method idMethod = getMethod(GET_ID, objClass); Map eMap = getIdToObjMap(entities .stream().filter(notHavingErrors()).collect(Collectors.toList()), idMethod); + // Lists to store IDs and client reference IDs + List idList = new ArrayList<>(); + List clientReferenceIdList = new ArrayList<>(); + // Extract IDs and client reference IDs from StockReconciliation entities + entities.forEach(entity -> { + idList.add(entity.getId()); + clientReferenceIdList.add(entity.getClientReferenceId()); + }); if (!eMap.isEmpty()) { - List entityIds = new ArrayList<>(eMap.keySet()); - List existingEntities = stockReconciliationRepository.findById(entityIds,false, - getIdFieldName(idMethod)); + StockReconciliationSearch stockReconciliationSearch = StockReconciliationSearch.builder() + .clientReferenceId(clientReferenceIdList) + .id(idList) + .build(); + + List existingEntities; + try { + // Query the repository to find existing entities + existingEntities = stockReconciliationRepository.find(stockReconciliationSearch, entities.size(), 0, + entities.get(0).getTenantId(), null, false); + } catch (Exception e) { + // Handle query builder exception + throw new RuntimeException(e); + } List nonExistentEntities = checkNonExistentEntities(eMap, existingEntities, idMethod); nonExistentEntities.forEach(task -> {