Class DonationEntityServiceImpl
- All Implemented Interfaces:
DonationEntityService
Essa classe manipula principalmente operações de conversão e persistência de doações, além de garantir que todas as doações criadas sejam válidas.
O fluxo de trabalho principal desta classe envolve a conversão de objetos de transferência de dados (DTOs) para Entidades de doação e a posterior salvamento dos mesmos no repositório.
O processo de conversão é realizado por métodos específicos da classe, que transformam um DonationDTO em uma Entidade de doação (DonationEntity) e então em uma doação (Donation).
Durante esse processo, os dados da doação são validados por meio do utilitário ValidationUtils.
Além disso, a classe também gerencia exceções que podem surgir durante o procedimento de criação de uma doação. Caso qualquer anormalidade ocorra, um registro é adicionado ao log do sistema e uma DonationEntityFailuresException é lançada.
- Since:
- 1.1.0
- Author:
- diegoneves
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringstatic final Stringprivate final DonationServiceContractstatic final Stringprivate final DonationRepository -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconvertAndSaveDonationDTO(DonationDTO donationDTO) Este método é responsável por converter uma instância deDonationDTOpara a entidadeDonatione persistir essa informação no banco de dados.private DonationEntityconvertDonationDTOToDonationEntity(DonationDTO donationDTO) Converte um objetoDonationDTOem um objetoDonationEntity.private DonationcreateDonation(DonationDTO donationDTO) Cria uma entidade de Doação a partir de um objetoDonationDTOusando a Factory de Doação.private DonationEntityMapperEsta função é responsável por instanciar e retornar uma nova instância deDonationEntityMapper.
-
Field Details
-
INVALID_DONATION_INFO_ERROR
- See Also:
-
DONATION_CREATION_FAILURE
- See Also:
-
DONATION_CREATION_ERROR_LOG
- See Also:
-
repository
-
donationServiceContract
-
-
Constructor Details
-
DonationEntityServiceImpl
-
-
Method Details
-
convertAndSaveDonationDTO
Description copied from interface:DonationEntityServiceEste método é responsável por converter uma instância deDonationDTOpara a entidadeDonatione persistir essa informação no banco de dados.Primeiro, ele valida se a instância de
DonationDTOdada não é nula e contém todas as informações necessárias.Após a conversão, o método persiste a instância de
Donationconvertida no banco de dados usando o repositório e, em seguida, retorna a instância persistida.- Specified by:
convertAndSaveDonationDTOin interfaceDonationEntityService- Parameters:
donationDTO- Uma instância deDonationDTOque precisa ser convertida e persistida.- Returns:
- A instância da entidade
DonationEntityque foi convertida doDonationDTOe persistida no banco de dados.
-
convertDonationDTOToDonationEntity
Converte um objetoDonationDTOem um objetoDonationEntity.Este método primeiro cria um objeto
Donationa partir do DTO do objeto de doação fornecido. Em seguida, ele mapeia o objetoDonationpara um objetoDonationEntityusando o mapeador de entities de doação.- Parameters:
donationDTO- O objeto de doação na forma de um Data Transfer Object (DTO) a ser convertido.- Returns:
- A entity de doação resultante que foi convertida e mapeada a partir do objeto DTO de doação fornecido.
- Throws:
DonationEntityFailuresException- se não foi possível criar uma instância da entityDonation.
-
createDonation
Cria uma entidade de Doação a partir de um objetoDonationDTOusando a Factory de Doação.Este método leva um objeto
DonationDTOcomo argumento. Usando os dados do objetoDonationDTO, isto irá criar uma nova entidade de Doação através daDonationService. A nova entidade de Doação é então retornada.- Parameters:
donationDTO- objeto que contém as informações para a criação da entidade de Doação- Returns:
- uma entidade de Doação
- Throws:
DonationEntityFailuresException- se a criação da entidade de Doação falhar, a exceçãoDonationEntityFailuresExceptioné lançada e uma mensagem de erro é registrada com detalhes do erro.
-
getDonationEntityMapperInstance
Esta função é responsável por instanciar e retornar uma nova instância deDonationEntityMapper.O
DonationEntityMapperé uma classe utilizada para mapear uma entidade de doação em outra representação ou formato. Esta função é utilizada quando uma nova instância dessa classe mapeadora é necessária.- Returns:
- Uma nova instância de
DonationEntityMapper. Cada chamada a esta função irá gerar uma nova instância. - See Also:
-