PetMapperImpl.java

package org.petify.shelter.mapper;

import java.util.ArrayList;
import java.util.List;
import javax.annotation.processing.Generated;
import org.petify.shelter.dto.PetImageResponse;
import org.petify.shelter.dto.PetRequest;
import org.petify.shelter.dto.PetResponse;
import org.petify.shelter.dto.PetResponseWithImages;
import org.petify.shelter.enums.Gender;
import org.petify.shelter.enums.PetSize;
import org.petify.shelter.enums.PetType;
import org.petify.shelter.model.Pet;
import org.petify.shelter.model.PetImage;
import org.petify.shelter.model.Shelter;
import org.petify.shelter.util.ImageUrlConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2025-06-26T07:25:38+0000",
    comments = "version: 1.6.3, compiler: javac, environment: Java 21.0.7 (Oracle Corporation)"
)
@Component
public class PetMapperImpl implements PetMapper {

    @Autowired
    private PetImageMapper petImageMapper;

    @Override
    public PetResponse toDto(Pet pet) {
        if ( pet == null ) {
            return null;
        }

        Long shelterId = null;
        Long id = null;
        String name = null;
        PetType type = null;
        String breed = null;
        Integer age = null;
        boolean archived = false;
        String description = null;
        Gender gender = null;
        PetSize size = null;
        boolean vaccinated = false;
        boolean urgent = false;
        boolean sterilized = false;
        boolean kidFriendly = false;

        shelterId = petShelterId( pet );
        id = pet.getId();
        name = pet.getName();
        type = pet.getType();
        breed = pet.getBreed();
        age = pet.getAge();
        archived = pet.isArchived();
        description = pet.getDescription();
        gender = pet.getGender();
        size = pet.getSize();
        vaccinated = pet.isVaccinated();
        urgent = pet.isUrgent();
        sterilized = pet.isSterilized();
        kidFriendly = pet.isKidFriendly();

        String imageUrl = ImageUrlConverter.toFullImageUrl(pet.getImageName());

        PetResponse petResponse = new PetResponse( id, name, type, breed, age, archived, description, shelterId, gender, size, vaccinated, urgent, sterilized, kidFriendly, imageUrl );

        return petResponse;
    }

    @Override
    public PetResponseWithImages toDtoWithImages(Pet pet) {
        if ( pet == null ) {
            return null;
        }

        Long shelterId = null;
        List<PetImageResponse> images = null;
        Long id = null;
        String name = null;
        PetType type = null;
        String breed = null;
        Integer age = null;
        boolean archived = false;
        String description = null;
        Gender gender = null;
        PetSize size = null;
        boolean vaccinated = false;
        boolean urgent = false;
        boolean sterilized = false;
        boolean kidFriendly = false;

        shelterId = petShelterId( pet );
        images = petImageListToPetImageResponseList( pet.getImages() );
        id = pet.getId();
        name = pet.getName();
        type = pet.getType();
        breed = pet.getBreed();
        age = pet.getAge();
        archived = pet.isArchived();
        description = pet.getDescription();
        gender = pet.getGender();
        size = pet.getSize();
        vaccinated = pet.isVaccinated();
        urgent = pet.isUrgent();
        sterilized = pet.isSterilized();
        kidFriendly = pet.isKidFriendly();

        String imageUrl = ImageUrlConverter.toFullImageUrl(pet.getImageName());
        Double distance = null;

        PetResponseWithImages petResponseWithImages = new PetResponseWithImages( id, name, type, breed, age, archived, description, shelterId, gender, size, vaccinated, urgent, sterilized, kidFriendly, imageUrl, images, distance );

        return petResponseWithImages;
    }

    @Override
    public PetResponseWithImages toDtoWithImagesAndDistance(Pet pet, Double distance) {
        if ( pet == null && distance == null ) {
            return null;
        }

        Long shelterId = null;
        List<PetImageResponse> images = null;
        Long id = null;
        String name = null;
        PetType type = null;
        String breed = null;
        Integer age = null;
        boolean archived = false;
        String description = null;
        Gender gender = null;
        PetSize size = null;
        boolean vaccinated = false;
        boolean urgent = false;
        boolean sterilized = false;
        boolean kidFriendly = false;
        if ( pet != null ) {
            shelterId = petShelterId( pet );
            images = petImageListToPetImageResponseList( pet.getImages() );
            id = pet.getId();
            name = pet.getName();
            type = pet.getType();
            breed = pet.getBreed();
            age = pet.getAge();
            archived = pet.isArchived();
            description = pet.getDescription();
            gender = pet.getGender();
            size = pet.getSize();
            vaccinated = pet.isVaccinated();
            urgent = pet.isUrgent();
            sterilized = pet.isSterilized();
            kidFriendly = pet.isKidFriendly();
        }
        Double distance1 = null;
        distance1 = distance;

        String imageUrl = ImageUrlConverter.toFullImageUrl(pet.getImageName());

        PetResponseWithImages petResponseWithImages = new PetResponseWithImages( id, name, type, breed, age, archived, description, shelterId, gender, size, vaccinated, urgent, sterilized, kidFriendly, imageUrl, images, distance1 );

        return petResponseWithImages;
    }

    @Override
    public Pet toEntity(PetRequest request) {
        if ( request == null ) {
            return null;
        }

        Pet pet = new Pet();

        pet.setName( request.name() );
        pet.setType( request.type() );
        pet.setBreed( request.breed() );
        pet.setAge( request.age() );
        pet.setGender( request.gender() );
        pet.setVaccinated( request.vaccinated() );
        pet.setUrgent( request.urgent() );
        pet.setSterilized( request.sterilized() );
        pet.setKidFriendly( request.kidFriendly() );
        pet.setDescription( request.description() );
        pet.setSize( request.size() );

        return pet;
    }

    private Long petShelterId(Pet pet) {
        Shelter shelter = pet.getShelter();
        if ( shelter == null ) {
            return null;
        }
        return shelter.getId();
    }

    protected List<PetImageResponse> petImageListToPetImageResponseList(List<PetImage> list) {
        if ( list == null ) {
            return null;
        }

        List<PetImageResponse> list1 = new ArrayList<PetImageResponse>( list.size() );
        for ( PetImage petImage : list ) {
            list1.add( petImageMapper.toDto( petImage ) );
        }

        return list1;
    }
}