diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index 37cb88b5..e59ff236 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -18,7 +18,7 @@ public class GepafinConstant { public static final String ROLE_FETCH_SUCCESS_MSG = "role.fetch.success"; public static final String ROLE_NOT_FOUND = "role.not.found"; - + public static final String VALUE_CANNOT_BE_EMPTY = "lookupdata.value.cannot.be.empty"; public static final String REGION_CREATED_SUCCESS_MSG = "region.created.success"; public static final String REGION_UPDATED_SUCCESS_MSG = "region.updated.success"; public static final String GET_REGION_SUCCESS_MSG = "get.region.success"; diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java index 6c671129..33260c52 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java @@ -8,6 +8,7 @@ import java.util.Objects; import java.util.stream.Collectors; import net.gepafin.tendermanagement.model.response.*; +import net.gepafin.tendermanagement.service.LookUpDataService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; @@ -65,7 +66,8 @@ public class CallDao { @Autowired private RegionRepository regionRepository; - + @Autowired + private LookUpDataService lookUpDataService; @Autowired private LookUpDataRepository lookUpDataRepository; @@ -405,6 +407,7 @@ public class CallDao { LookUpDataEntity newEntity = new LookUpDataEntity(); newEntity.setValue(req.getValue()); newEntity.setType(type.getValue()); + lookUpDataService.validateLookUpDataEntity(newEntity); return lookUpDataRepository.save(newEntity); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/LookUpDataDao.java b/src/main/java/net/gepafin/tendermanagement/dao/LookUpDataDao.java index 612b1d7b..4d6c8455 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/LookUpDataDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/LookUpDataDao.java @@ -5,6 +5,7 @@ import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum import net.gepafin.tendermanagement.model.request.LookUpDataRequest; import net.gepafin.tendermanagement.model.response.LookUpDataResponseBean; import net.gepafin.tendermanagement.repositories.LookUpDataRepository; +import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException; import net.gepafin.tendermanagement.web.rest.api.errors.Status; import net.gepafin.tendermanagement.config.Translator; @@ -30,10 +31,18 @@ public class LookUpDataDao { entity.setTitle(lookUpDataReq.getTitle()); entity.setType(lookUpDataReq.getType().getValue()); entity.setValue(lookUpDataReq.getValue()); + validateLookUpDataEntity(entity); lookUpDataRepository.save(entity); return entity; } + public void validateLookUpDataEntity(LookUpDataEntity entity) { + if (entity.getValue() == null || entity.getValue().trim().isEmpty()) { + throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.VALUE_CANNOT_BE_EMPTY)); + } + } + + public LookUpDataResponseBean getLookUpDataById(Long id) { return lookUpDataRepository.findById(id) .map(this::convertLookUpDataEntityToResponseBean) diff --git a/src/main/java/net/gepafin/tendermanagement/service/LookUpDataService.java b/src/main/java/net/gepafin/tendermanagement/service/LookUpDataService.java index 2a0ff7dc..29c18203 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/LookUpDataService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/LookUpDataService.java @@ -1,5 +1,6 @@ package net.gepafin.tendermanagement.service; +import net.gepafin.tendermanagement.entities.LookUpDataEntity; import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum; import net.gepafin.tendermanagement.model.request.LookUpDataRequest; import net.gepafin.tendermanagement.model.response.LookUpDataResponseBean; @@ -15,6 +16,7 @@ public interface LookUpDataService { LookUpDataResponseBean updateLookUpData(Long id, LookUpDataRequest lookUpDataReq); void deleteLookUpData(Long id); + void validateLookUpDataEntity(LookUpDataEntity lookUpDataEntity); List getLookUpDataByType(List type); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/LookUpDataServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/LookUpDataServiceImpl.java index a8f28d07..f6381e59 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/LookUpDataServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/LookUpDataServiceImpl.java @@ -1,6 +1,7 @@ package net.gepafin.tendermanagement.service.impl; import net.gepafin.tendermanagement.dao.LookUpDataDao; +import net.gepafin.tendermanagement.entities.LookUpDataEntity; import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum; import net.gepafin.tendermanagement.model.request.LookUpDataRequest; import net.gepafin.tendermanagement.model.response.LookUpDataResponseBean; @@ -31,6 +32,10 @@ public class LookUpDataServiceImpl implements LookUpDataService { return lookUpDataDao.updateLookUpData(id, lookUpDataReq); } + public void validateLookUpDataEntity(LookUpDataEntity lookUpDataEntity) + { + lookUpDataDao.validateLookUpDataEntity(lookUpDataEntity); + } @Override public void deleteLookUpData(Long id) { lookUpDataDao.deleteLookUpData(id); diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 369b16f0..b154e270 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -128,6 +128,7 @@ lookupdata.created.successfully=LookUpData created successfully. lookupdata.fetched.successfully=LookUpData fetched successfully. lookupdata.updated.successfully=LookUpData updated successfully. lookupdata.deleted.successfully=LookUpData deleted successfully. +lookupdata.value.cannot.be.empty=Value field cannot be empty #Document-related message document.updated.successfully=Document updated successfully. diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index c4d1ee77..d73e36c1 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -115,6 +115,7 @@ lookupdata.created.successfully=LookUpData creato correttamente. lookupdata.fetched.successfully=LookUpData recuperato correttamente. lookupdata.updated.successfully=LookUpData aggiornato correttamente. lookupdata.deleted.successfully=LookUpData eliminato correttamente. +lookupdata.value.cannot.be.empty=Il campo valore non puņ essere vuoto #Document-related message document.updated.successfully=Documento aggiornato con successo.