BankAccountMapperImpl.java

package io.github.jhipster.sample.service.mapper;

import io.github.jhipster.sample.domain.BankAccount;
import io.github.jhipster.sample.domain.User;
import io.github.jhipster.sample.service.dto.BankAccountDTO;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.Generated;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2017-12-14T19:40:11+0000",
    comments = "version: 1.2.0.Final, compiler: javac, environment: Java 1.8.0_151 (Oracle Corporation)"
)
@Component
public class BankAccountMapperImpl implements BankAccountMapper {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<BankAccount> toEntity(List<BankAccountDTO> dtoList) {
        if ( dtoList == null ) {
            return null;
        }

        List<BankAccount> list = new ArrayList<BankAccount>( dtoList.size() );
        for ( BankAccountDTO bankAccountDTO : dtoList ) {
            list.add( toEntity( bankAccountDTO ) );
        }

        return list;
    }

    @Override
    public List<BankAccountDTO> toDto(List<BankAccount> entityList) {
        if ( entityList == null ) {
            return null;
        }

        List<BankAccountDTO> list = new ArrayList<BankAccountDTO>( entityList.size() );
        for ( BankAccount bankAccount : entityList ) {
            list.add( toDto( bankAccount ) );
        }

        return list;
    }

    @Override
    public BankAccountDTO toDto(BankAccount bankAccount) {
        if ( bankAccount == null ) {
            return null;
        }

        BankAccountDTO bankAccountDTO = new BankAccountDTO();

        String login = bankAccountUserLogin( bankAccount );
        if ( login != null ) {
            bankAccountDTO.setUserLogin( login );
        }
        Long id = bankAccountUserId( bankAccount );
        if ( id != null ) {
            bankAccountDTO.setUserId( id );
        }
        bankAccountDTO.setId( bankAccount.getId() );
        bankAccountDTO.setName( bankAccount.getName() );
        bankAccountDTO.setBankNumber( bankAccount.getBankNumber() );
        bankAccountDTO.setAgencyNumber( bankAccount.getAgencyNumber() );
        bankAccountDTO.setLastOperationDuration( bankAccount.getLastOperationDuration() );
        bankAccountDTO.setMeanOperationDuration( bankAccount.getMeanOperationDuration() );
        bankAccountDTO.setBalance( bankAccount.getBalance() );
        bankAccountDTO.setOpeningDay( bankAccount.getOpeningDay() );
        bankAccountDTO.setLastOperationDate( bankAccount.getLastOperationDate() );
        bankAccountDTO.setActive( bankAccount.isActive() );
        bankAccountDTO.setAccountType( bankAccount.getAccountType() );
        byte[] attachment = bankAccount.getAttachment();
        if ( attachment != null ) {
            bankAccountDTO.setAttachment( Arrays.copyOf( attachment, attachment.length ) );
        }
        bankAccountDTO.setAttachmentContentType( bankAccount.getAttachmentContentType() );
        bankAccountDTO.setDescription( bankAccount.getDescription() );

        return bankAccountDTO;
    }

    @Override
    public BankAccount toEntity(BankAccountDTO bankAccountDTO) {
        if ( bankAccountDTO == null ) {
            return null;
        }

        BankAccount bankAccount = new BankAccount();

        bankAccount.setUser( userMapper.userFromId( bankAccountDTO.getUserId() ) );
        bankAccount.setId( bankAccountDTO.getId() );
        bankAccount.setName( bankAccountDTO.getName() );
        bankAccount.setBankNumber( bankAccountDTO.getBankNumber() );
        bankAccount.setAgencyNumber( bankAccountDTO.getAgencyNumber() );
        bankAccount.setLastOperationDuration( bankAccountDTO.getLastOperationDuration() );
        bankAccount.setMeanOperationDuration( bankAccountDTO.getMeanOperationDuration() );
        bankAccount.setBalance( bankAccountDTO.getBalance() );
        bankAccount.setOpeningDay( bankAccountDTO.getOpeningDay() );
        bankAccount.setLastOperationDate( bankAccountDTO.getLastOperationDate() );
        bankAccount.setActive( bankAccountDTO.isActive() );
        bankAccount.setAccountType( bankAccountDTO.getAccountType() );
        byte[] attachment = bankAccountDTO.getAttachment();
        if ( attachment != null ) {
            bankAccount.setAttachment( Arrays.copyOf( attachment, attachment.length ) );
        }
        bankAccount.setAttachmentContentType( bankAccountDTO.getAttachmentContentType() );
        bankAccount.setDescription( bankAccountDTO.getDescription() );

        return bankAccount;
    }

    private String bankAccountUserLogin(BankAccount bankAccount) {
        if ( bankAccount == null ) {
            return null;
        }
        User user = bankAccount.getUser();
        if ( user == null ) {
            return null;
        }
        String login = user.getLogin();
        if ( login == null ) {
            return null;
        }
        return login;
    }

    private Long bankAccountUserId(BankAccount bankAccount) {
        if ( bankAccount == null ) {
            return null;
        }
        User user = bankAccount.getUser();
        if ( user == null ) {
            return null;
        }
        Long id = user.getId();
        if ( id == null ) {
            return null;
        }
        return id;
    }
}