Created CRUD for ApplicationEvaluation Entity

This commit is contained in:
harish
2024-10-26 13:53:21 +05:30
parent 863e2db68d
commit f152241e15
27 changed files with 1070 additions and 2 deletions

View File

@@ -0,0 +1,554 @@
package net.gepafin.tendermanagement.dao;
import com.fasterxml.jackson.core.type.TypeReference;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.*;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.DocumentSourceTypeEnum;
import net.gepafin.tendermanagement.enums.DocumentTypeEnum;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
import net.gepafin.tendermanagement.model.request.ChecklistRequest;
import net.gepafin.tendermanagement.model.request.CriteriaRequest;
import net.gepafin.tendermanagement.model.request.FieldRequest;
import net.gepafin.tendermanagement.model.response.*;
import net.gepafin.tendermanagement.repositories.*;
import net.gepafin.tendermanagement.service.ApplicationService;
import net.gepafin.tendermanagement.service.UserService;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import static net.gepafin.tendermanagement.util.Utils.setIfUpdated;
@Component
public class ApplicationEvaluationDao {
@Autowired
private ApplicationEvaluationRepository applicationEvaluationRepository;
@Autowired
private ApplicationService applicationService;
@Autowired
private CallRepository callRepository;
@Autowired
private ApplicationRepository applicationRepository;
@Autowired
private UserService userService;
@Autowired
private EvaluationCriteriaRepository evaluationCriteriaRepository;
@Autowired
private FormRepository formRepository;
@Autowired
private CallTargetAudienceChecklistRepository callTargetAudienceChecklistRepository;
@Autowired
private DocumentRepository documentRepository;
@Autowired
private ApplicationFormRepository applicationFormRepository;
@Autowired
private ApplicationFormFieldRepository applicationFormFieldRepository;
private ApplicationEvaluationEntity convertToEntity(UserEntity user, ApplicationEvaluationRequest req) {
ApplicationEvaluationEntity entity = new ApplicationEvaluationEntity();
ApplicationEntity application = applicationService.validateApplication(req.getApplicationId());
entity.setApplication(application);
entity.setUserId(user.getId());
entity.setCriteria(Utils.convertObjectToJson(req.getCriteria()));
entity.setChecklist(Utils.convertObjectToJson(req.getChecklist()));
entity.setFile(Utils.convertObjectToJson(req.getField()));
entity.setNote(req.getNote());
entity.setIsDeleted(false);
entity.setStatus(ApplicationEvaluationStatusTypeEnum.DRAFT.getValue());
return entity;
}
private ApplicationEvaluationResponse convertToResponse(ApplicationEvaluationEntity entity) {
ApplicationEvaluationResponse response = new ApplicationEvaluationResponse();
populateBasicDetails(entity, response);
CallEntity call = callRepository.findCallEntityByApplicationId(entity.getApplication().getId());
List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId());
List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId());
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(entity.getApplication().getId());
setCriteriaResponses(entity, response, evaluationCriterias);
setChecklistResponses(entity, response, checklistEntities);
setFieldResponses(entity, response, applicationFormEntities);
setApplicationDetails(response, entity);
return response;
}
private void populateBasicDetails(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response) {
response.setId(entity.getId());
response.setApplicationId(entity.getApplication().getId());
response.setNote(entity.getNote());
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(entity.getStatus()));
response.setCreatedDate(entity.getCreatedDate());
response.setUpdatedDate(entity.getUpdatedDate());
}
private void setCriteriaResponses(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response, List<EvaluationCriteriaEntity> evaluationCriterias) {
List<CriteriaResponse> criteriaResponsesFromEntity = entity.getCriteria() != null
? Utils.convertJsonToList(entity.getCriteria(), new TypeReference<List<CriteriaResponse>>() {})
: new ArrayList<>();
List<CriteriaResponse> criteriaResponsesFromDB = getCriteriaResponse(entity.getApplication().getId());
addMissingCriteriaResponses(criteriaResponsesFromEntity, criteriaResponsesFromDB);
criteriaResponsesFromEntity.forEach(criteriaResponse -> {
EvaluationCriteriaEntity matchingEvaluationCriteria = evaluationCriterias.stream()
.filter(evaluationCriteria -> evaluationCriteria.getId().equals(criteriaResponse.getId()))
.findFirst()
.orElse(null);
if (matchingEvaluationCriteria != null) {
criteriaResponse.setLabel(matchingEvaluationCriteria.getLookupData().getValue());
criteriaResponse.setMaxScore(matchingEvaluationCriteria.getScore());
}
});
response.setCriteria(criteriaResponsesFromEntity);
}
private void addMissingCriteriaResponses(List<CriteriaResponse> criteriaResponsesFromEntity, List<CriteriaResponse> criteriaResponsesFromDB) {
Set<Long> existingCriteriaIds = criteriaResponsesFromEntity.stream()
.map(CriteriaResponse::getId)
.collect(Collectors.toSet());
for (CriteriaResponse dbResponse : criteriaResponsesFromDB) {
if (!existingCriteriaIds.contains(dbResponse.getId())) {
criteriaResponsesFromEntity.add(dbResponse);
}
}
}
private void setChecklistResponses(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response, List<CallTargetAudienceChecklistEntity> checklistEntities) {
List<ChecklistResponse> checklistResponsesFromEntity = entity.getChecklist() != null
? Utils.convertJsonToList(entity.getChecklist(), new TypeReference<List<ChecklistResponse>>() {})
: new ArrayList<>();
List<ChecklistResponse> checklistResponsesFromDB = getChecklistResponse(entity.getApplication().getId());
addMissingChecklistResponses(checklistResponsesFromEntity, checklistResponsesFromDB);
checklistResponsesFromEntity.forEach(checklistResponse -> {
CallTargetAudienceChecklistEntity matchingChecklist = checklistEntities.stream()
.filter(checklistEntity -> checklistEntity.getId().equals(checklistResponse.getId()))
.findFirst()
.orElse(null);
if (matchingChecklist != null) {
checklistResponse.setLabel(matchingChecklist.getLookupData().getValue());
}
});
response.setChecklist(checklistResponsesFromEntity);
}
private void addMissingChecklistResponses(List<ChecklistResponse> checklistResponsesFromEntity, List<ChecklistResponse> checklistResponsesFromDB) {
Set<Long> existingChecklistIds = checklistResponsesFromEntity.stream()
.map(ChecklistResponse::getId)
.collect(Collectors.toSet());
for (ChecklistResponse dbResponse : checklistResponsesFromDB) {
if (!existingChecklistIds.contains(dbResponse.getId())) {
checklistResponsesFromEntity.add(dbResponse);
}
}
}
private void setFieldResponses(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response, List<ApplicationFormEntity> applicationFormEntities) {
List<FieldResponse> fieldResponsesFromEntity = entity.getFile() != null
? Utils.convertJsonToList(entity.getFile(), new TypeReference<List<FieldResponse>>() {})
: new ArrayList<>();
List<FieldResponse> fieldResponsesFromDB = getFieldResponses(entity.getApplication().getId());
addMissingFieldResponses(fieldResponsesFromEntity, fieldResponsesFromDB);
fieldResponsesFromEntity.forEach(fieldResponse -> {
applicationFormEntities.forEach(applicationForm -> {
FormEntity formEntity = applicationForm.getForm();
if (formEntity != null) {
List<ContentResponseBean> contentResponseBeans = Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class);
contentResponseBeans.forEach(contentResponseBean -> {
if ("fileupload".equals(contentResponseBean.getName()) && contentResponseBean.getId().equals(fieldResponse.getId())) {
fieldResponse.setLabel(contentResponseBean.getLabel());
}
});
}
});
});
response.setFiles(fieldResponsesFromEntity);
}
private void addMissingFieldResponses(List<FieldResponse> fieldResponsesFromEntity, List<FieldResponse> fieldResponsesFromDB) {
Set<String> existingFieldIds = fieldResponsesFromEntity.stream()
.map(FieldResponse::getId)
.collect(Collectors.toSet());
for (FieldResponse dbResponse : fieldResponsesFromDB) {
if (!existingFieldIds.contains(dbResponse.getId())) {
fieldResponsesFromEntity.add(dbResponse);
}
}
}
private void setApplicationDetails(ApplicationEvaluationResponse response, ApplicationEvaluationEntity entity) {
ApplicationEntity application = applicationService.validateApplication(entity.getApplication() != null ? entity.getApplication().getId() : null);
UserEntity user = userService.validateUser(application.getUserId());
String firstName = user.getFirstName() != null ? user.getFirstName() : "";
String lastName = user.getLastName() != null ? user.getLastName() : "";
String beneficiary = String.join(" ", firstName, lastName).trim();
response.setBeneficiary(beneficiary);
response.setCallName(application.getCall().getName());
response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null);
response.setSubmissionDate(application.getSubmissionDate());
response.setEvaluationDate(LocalDateTime.now());
}
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(UserEntity user, ApplicationEvaluationRequest req) {
Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByApplicationId(req.getApplicationId());
ApplicationEvaluationEntity entity;
if (existingEntityOptional.isPresent()) {
entity = existingEntityOptional.get();
entity.setCriteria(Utils.convertObjectToJson(processCriteria(entity, req)));
entity.setChecklist(Utils.convertObjectToJson(processChecklist(entity, req)));
entity.setFile(Utils.convertObjectToJson(processField(entity, req)));
entity.setIsDeleted(false);
setIfUpdated(entity::getNote, entity::setNote, req.getNote());
} else {
entity = convertToEntity(user, req);
}
ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity);
return convertToResponse(savedEntity);
}
private List<CriteriaRequest> processCriteria(ApplicationEvaluationEntity entity, ApplicationEvaluationRequest req) {
List<CriteriaResponse> existingCriteriaList = entity.getCriteria() != null ?
Utils.convertJsonToList(entity.getCriteria(), new TypeReference<List<CriteriaResponse>>() {}) : new ArrayList<>();
Map<Long, CriteriaResponse> existingCriteriaMap = existingCriteriaList.stream()
.collect(Collectors.toMap(CriteriaResponse::getId, criteria -> criteria));
List<CriteriaRequest> updatedCriteriaList = req.getCriteria().stream()
.map(incoming -> {
CriteriaRequest request = new CriteriaRequest();
request.setId(incoming.getId());
request.setScore(incoming.getScore());
request.setValid(incoming.getValid());
CriteriaResponse existingCriteria = existingCriteriaMap.get(incoming.getId());
if (existingCriteria != null) {
request.setScore(incoming.getScore() != null ? incoming.getScore() : existingCriteria.getScore());
request.setValid(incoming.getValid() != null ? incoming.getValid() : existingCriteria.getValid());
}
return request;
})
.collect(Collectors.toList());
List<CriteriaRequest> missingCriteriaRequests = existingCriteriaList.stream()
.filter(existing -> !updatedCriteriaList.stream()
.map(CriteriaRequest::getId)
.toList()
.contains(existing.getId()))
.map(existing -> {
CriteriaRequest request = new CriteriaRequest();
request.setId(existing.getId());
request.setScore(existing.getScore());
request.setValid(existing.getValid());
return request;
})
.toList();
updatedCriteriaList.addAll(missingCriteriaRequests);
return updatedCriteriaList;
}
private List<ChecklistRequest> processChecklist(ApplicationEvaluationEntity entity, ApplicationEvaluationRequest req) {
List<ChecklistResponse> existingChecklistList = entity.getChecklist() != null ?
Utils.convertJsonToList(entity.getChecklist(), new TypeReference<List<ChecklistResponse>>() {}) : new ArrayList<>();
Map<Long, ChecklistResponse> existingChecklistMap = existingChecklistList.stream()
.collect(Collectors.toMap(ChecklistResponse::getId, checklist -> checklist));
List<ChecklistRequest> updatedChecklistList = req.getChecklist().stream()
.map(incoming -> {
ChecklistRequest request = new ChecklistRequest();
request.setId(incoming.getId());
request.setValid(incoming.getValid());
ChecklistResponse existingChecklist = existingChecklistMap.get(incoming.getId());
if (existingChecklist != null) {
request.setValid(incoming.getValid() != null ? incoming.getValid() : existingChecklist.getValid());
}
return request;
})
.collect(Collectors.toList());
List<ChecklistRequest> missingChecklistRequests = existingChecklistList.stream()
.filter(existing -> !updatedChecklistList.stream()
.map(ChecklistRequest::getId)
.toList()
.contains(existing.getId()))
.map(existing -> {
ChecklistRequest request = new ChecklistRequest();
request.setId(existing.getId());
request.setValid(existing.getValid());
return request;
})
.toList();
updatedChecklistList.addAll(missingChecklistRequests);
return updatedChecklistList;
}
private List<FieldRequest> processField(ApplicationEvaluationEntity entity, ApplicationEvaluationRequest req) {
List<FieldResponse> existingFieldList = entity.getFile() != null ?
Utils.convertJsonToList(entity.getFile(), new TypeReference<List<FieldResponse>>() {}) : new ArrayList<>();
Map<String, FieldResponse> existingFieldMap = existingFieldList.stream()
.collect(Collectors.toMap(FieldResponse::getId, field -> field));
List<FieldRequest> updatedFieldList = req.getField().stream()
.map(incoming -> {
FieldRequest request = new FieldRequest();
request.setId(incoming.getId());
request.setValid(incoming.getValid());
FieldResponse existingField = existingFieldMap.get(incoming.getId());
if (existingField != null) {
request.setValid(incoming.getValid() != null ? incoming.getValid() : existingField.getValid());
}
return request;
})
.collect(Collectors.toList());
List<FieldRequest> missingFieldRequests = existingFieldList.stream()
.filter(existing -> !updatedFieldList.stream()
.map(FieldRequest::getId)
.toList()
.contains(existing.getId()))
.map(existing -> {
FieldRequest request = new FieldRequest();
request.setId(existing.getId());
request.setValid(existing.getValid());
return request;
})
.toList();
updatedFieldList.addAll(missingFieldRequests);
return updatedFieldList;
}
private ApplicationEvaluationEntity validateApplicationEvaluation(Long id) {
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findById(id);
if (entityOptional.isEmpty()) {
throw new ResourceNotFoundException(Status.NOT_FOUND,
Translator.toLocale(GepafinConstant.APPLICATION_EVALUATION_NOT_FOUND, id));
}
return entityOptional.get();
}
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(UserEntity user, Long applicationId) {
applicationService.validateApplication(applicationId);
Optional<ApplicationEvaluationEntity> entityOptional = applicationEvaluationRepository.findByApplicationId(applicationId);
return entityOptional.map(this::convertToResponse).orElseGet(() -> getEvaluationResponseByApplicationid(user, applicationId));
}
public ApplicationEvaluationResponse getEvaluationResponseByApplicationid(UserEntity user, Long applicationId) {
ApplicationEvaluationEntity entity = new ApplicationEvaluationEntity();
ApplicationEvaluationResponse response = new ApplicationEvaluationResponse();
CallEntity call = callRepository.findCallEntityByApplicationId(applicationId);
List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId());
List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId());
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationId);
response.setApplicationId(applicationId);
response.setNote(null);
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(ApplicationEvaluationStatusTypeEnum.DRAFT.getValue()));
setCriteriaResponses(entity, applicationId, response, evaluationCriterias);
setChecklistResponses(entity, applicationId, response, checklistEntities);
setFileResponses(entity, applicationId, response, applicationFormEntities);
setApplicationDetails(response, applicationId, user);
return response;
}
private void setCriteriaResponses(ApplicationEvaluationEntity entity, Long applicationId, ApplicationEvaluationResponse response, List<EvaluationCriteriaEntity> evaluationCriterias) {
List<CriteriaResponse> criteriaResponses = entity.getCriteria() != null
? Utils.convertJsonToList(entity.getCriteria(), new TypeReference<List<CriteriaResponse>>() {})
: getCriteriaResponse(applicationId);
criteriaResponses.forEach(criteriaResponse -> {
EvaluationCriteriaEntity matchingEvaluationCriteria = evaluationCriterias.stream()
.filter(evaluationCriteria -> evaluationCriteria.getId().equals(criteriaResponse.getId()))
.findFirst()
.orElse(null);
if (matchingEvaluationCriteria != null) {
criteriaResponse.setLabel(matchingEvaluationCriteria.getLookupData().getValue());
criteriaResponse.setMaxScore(matchingEvaluationCriteria.getScore());
}
});
response.setCriteria(criteriaResponses);
}
private void setChecklistResponses(ApplicationEvaluationEntity entity, Long applicationId, ApplicationEvaluationResponse response, List<CallTargetAudienceChecklistEntity> checklistEntities) {
List<ChecklistResponse> checklistResponses = entity.getChecklist() != null
? Utils.convertJsonToList(entity.getChecklist(), new TypeReference<List<ChecklistResponse>>() {})
: getChecklistResponse(applicationId);
checklistResponses.forEach(checklistResponse -> {
CallTargetAudienceChecklistEntity matchingChecklist = checklistEntities.stream()
.filter(checklistEntity -> checklistEntity.getId().equals(checklistResponse.getId()))
.findFirst()
.orElse(null);
if (matchingChecklist != null) {
checklistResponse.setLabel(matchingChecklist.getLookupData().getValue());
}
});
response.setChecklist(checklistResponses);
}
private void setFileResponses(ApplicationEvaluationEntity entity, Long applicationId, ApplicationEvaluationResponse response, List<ApplicationFormEntity> applicationFormEntities) {
List<FieldResponse> fieldResponses = entity.getFile() != null
? Utils.convertJsonToList(entity.getFile(), new TypeReference<List<FieldResponse>>() {})
: getFieldResponses(applicationId);
fieldResponses.forEach(fieldResponse -> {
applicationFormEntities.forEach(applicationForm -> {
FormEntity formEntity = applicationForm.getForm();
if (formEntity != null) {
List<ContentResponseBean> contentResponseBeans = Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class);
contentResponseBeans.forEach(contentResponseBean -> {
if ("fileupload".equals(contentResponseBean.getName()) && contentResponseBean.getId().equals(fieldResponse.getId())) {
fieldResponse.setLabel(contentResponseBean.getLabel());
}
});
}
});
});
response.setFiles(fieldResponses);
}
private void setApplicationDetails(ApplicationEvaluationResponse response, Long applicationId, UserEntity user) {
ApplicationEntity application = applicationService.validateApplication(applicationId);
userService.validateUser(application.getUserId());
String firstName = user.getFirstName() != null ? user.getFirstName() : "";
String lastName = user.getLastName() != null ? user.getLastName() : "";
String beneficiary = String.join(" ", firstName, lastName).trim();
response.setBeneficiary(beneficiary);
response.setCallName(application.getCall().getName());
response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null);
response.setSubmissionDate(application.getSubmissionDate());
response.setEvaluationDate(LocalDateTime.now());
}
List<CriteriaResponse> getCriteriaResponse(Long applicationId){ CallEntity call = callRepository.findCallEntityByApplicationId(applicationId);
List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId());
List<CriteriaResponse> criteriaResponses = evaluationCriterias.stream().map(criteria -> {
CriteriaResponse response = new CriteriaResponse();
response.setId(criteria.getId());
response.setLabel(criteria.getLookupData().getValue());
response.setScore(null);
response.setMaxScore(criteria.getScore());
response.setValid(null);
return response;
}).collect(Collectors.toList());
return criteriaResponses;
}
List<ChecklistResponse> getChecklistResponse(Long applicationId){ CallEntity call = callRepository.findCallEntityByApplicationId(applicationId);
List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId());
List<ChecklistResponse> checklistResponses = checklistEntities.stream().map(checklist -> {
ChecklistResponse response = new ChecklistResponse();
response.setId(checklist.getId());
response.setLabel(checklist.getLookupData().getValue());
response.setValid(null);
return response;
}).collect(Collectors.toList());
return checklistResponses;
}
public List<FieldResponse> getFieldResponses(Long applicationId) {
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationId);
List<FieldResponse> fieldResponses = new ArrayList<>();
for (ApplicationFormEntity applicationForm : applicationFormEntities) {
FormEntity formEntity = applicationForm.getForm();
if (formEntity != null) {
List<ContentResponseBean> contentResponseBeans = Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class);
for (ContentResponseBean contentResponseBean : contentResponseBeans) {
if ("fileupload".equals(contentResponseBean.getName())) {
String fieldId = contentResponseBean.getId();
Long formId = applicationForm.getId();
Optional<ApplicationFormFieldEntity> optionalFormField = applicationFormFieldRepository
.findByFieldIdAndApplicationFormIdAndApplicationFormApplicationId(fieldId, formId, applicationId);
if (optionalFormField.isPresent()) {
ApplicationFormFieldEntity formField = optionalFormField.get();
if (formField.getFieldValue() != null) {
FieldResponse fieldResponse = new FieldResponse();
fieldResponse.setId(fieldId);
fieldResponse.setLabel(contentResponseBean.getLabel());
fieldResponse.setValid(null);
fieldResponses.add(fieldResponse);
}
}
}
}
}
}
return fieldResponses;
}
public void deleteById(Long id) {
ApplicationEvaluationEntity applicationEvaluationEntity= validateApplicationEvaluation(id);
applicationEvaluationEntity.setIsDeleted(true);
applicationEvaluationEntity=saveApplicationEvaluationEntity(applicationEvaluationEntity);
}
public ApplicationEvaluationEntity saveApplicationEvaluationEntity(ApplicationEvaluationEntity applicationEvaluationEntityData){
return applicationEvaluationRepository.save(applicationEvaluationEntityData);
}
public ApplicationEvaluationResponse updateApplicationEvaluationStatus(Long applicationId, ApplicationEvaluationStatusTypeEnum status) {
ApplicationEvaluationEntity existingEntity = validateApplicationEvaluation(applicationId);
if (status != null && !status.getValue().equals(existingEntity.getStatus())) {
existingEntity.setStatus(status.getValue());
}
ApplicationEvaluationEntity updatedEntity = applicationEvaluationRepository.save(existingEntity);
return convertToResponse(updatedEntity);
}
}