Class DonationEntityServiceImpl

java.lang.Object
diegosneves.github.conectardoacoes.adapters.rest.service.impl.DonationEntityServiceImpl
All Implemented Interfaces:
DonationEntityService

@Service public class DonationEntityServiceImpl extends Object implements DonationEntityService
Serviço responsável pela lógica de negócios relacionada à gestão de doações.

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 Details

  • Constructor Details

    • DonationEntityServiceImpl

      @Autowired public DonationEntityServiceImpl(DonationRepository repository)
  • Method Details

    • convertAndSaveDonationDTO

      public DonationEntity convertAndSaveDonationDTO(DonationDTO donationDTO)
      Description copied from interface: DonationEntityService
      Este método é responsável por converter uma instância de DonationDTO para a entidade Donation e persistir essa informação no banco de dados.

      Primeiro, ele valida se a instância de DonationDTO dada 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 Donation convertida no banco de dados usando o repositório e, em seguida, retorna a instância persistida.

      Specified by:
      convertAndSaveDonationDTO in interface DonationEntityService
      Parameters:
      donationDTO - Uma instância de DonationDTO que precisa ser convertida e persistida.
      Returns:
      A instância da entidade DonationEntity que foi convertida do DonationDTO e persistida no banco de dados.
    • convertDonationDTOToDonationEntity

      private DonationEntity convertDonationDTOToDonationEntity(DonationDTO donationDTO)
      Converte um objeto DonationDTO em um objeto DonationEntity.

      Este método primeiro cria um objeto Donation a partir do DTO do objeto de doação fornecido. Em seguida, ele mapeia o objeto Donation para um objeto DonationEntity usando 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 entity Donation.
    • createDonation

      private Donation createDonation(DonationDTO donationDTO) throws DonationEntityFailuresException
      Cria uma entidade de Doação a partir de um objeto DonationDTO usando a Factory de Doação.

      Este método leva um objeto DonationDTO como argumento. Usando os dados do objeto DonationDTO, isto irá criar uma nova entidade de Doação através da DonationService. 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ção DonationEntityFailuresException é lançada e uma mensagem de erro é registrada com detalhes do erro.
    • getDonationEntityMapperInstance

      private DonationEntityMapper getDonationEntityMapperInstance()
      Esta função é responsável por instanciar e retornar uma nova instância de DonationEntityMapper.

      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: