CategoryMapperImpl.java

package com.codecool.bytebattlers.mapper;

import com.codecool.bytebattlers.controller.dto.CategoryDto;
import com.codecool.bytebattlers.model.BoardGame;
import com.codecool.bytebattlers.model.Category;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.UUID;
import javax.annotation.processing.Generated;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2025-01-25T06:38:34+0000",
    comments = "version: 1.5.5.Final, compiler: javac, environment: Java 17.0.14 (Azul Systems, Inc.)"
)
@Component
public class CategoryMapperImpl implements CategoryMapper {

    @Override
    public Category toEntity(CategoryDto categoryDto) {
        if ( categoryDto == null ) {
            return null;
        }

        Category category = new Category();

        category.setPublicID( categoryDto.publicID() );
        category.setName( categoryDto.name() );
        category.setDescription( categoryDto.description() );
        category.setBoardGames( boardGameDto1SetToBoardGameSet( categoryDto.boardGames() ) );

        return category;
    }

    @Override
    public CategoryDto toDto(Category category) {
        if ( category == null ) {
            return null;
        }

        UUID publicID = null;
        String name = null;
        String description = null;
        Set<CategoryDto.BoardGameDto1> boardGames = null;

        publicID = category.getPublicID();
        name = category.getName();
        description = category.getDescription();
        boardGames = boardGameSetToBoardGameDto1Set( category.getBoardGames() );

        CategoryDto categoryDto = new CategoryDto( publicID, name, description, boardGames );

        return categoryDto;
    }

    @Override
    public Category partialUpdate(CategoryDto categoryDto, Category category) {
        if ( categoryDto == null ) {
            return category;
        }

        if ( categoryDto.publicID() != null ) {
            category.setPublicID( categoryDto.publicID() );
        }
        if ( categoryDto.name() != null ) {
            category.setName( categoryDto.name() );
        }
        if ( categoryDto.description() != null ) {
            category.setDescription( categoryDto.description() );
        }
        if ( category.getBoardGames() != null ) {
            Set<BoardGame> set = boardGameDto1SetToBoardGameSet( categoryDto.boardGames() );
            if ( set != null ) {
                category.getBoardGames().clear();
                category.getBoardGames().addAll( set );
            }
        }
        else {
            Set<BoardGame> set = boardGameDto1SetToBoardGameSet( categoryDto.boardGames() );
            if ( set != null ) {
                category.setBoardGames( set );
            }
        }

        return category;
    }

    protected BoardGame boardGameDto1ToBoardGame(CategoryDto.BoardGameDto1 boardGameDto1) {
        if ( boardGameDto1 == null ) {
            return null;
        }

        BoardGame boardGame = new BoardGame();

        boardGame.setPublicID( boardGameDto1.publicID() );
        boardGame.setGameName( boardGameDto1.gameName() );
        boardGame.setMinPlayer( boardGameDto1.minPlayer() );
        boardGame.setMaxPlayer( boardGameDto1.maxPlayer() );
        boardGame.setPlayTimeInMinutes( boardGameDto1.playTimeInMinutes() );
        boardGame.setRecommendedAge( boardGameDto1.recommendedAge() );
        boardGame.setDescription( boardGameDto1.description() );

        return boardGame;
    }

    protected Set<BoardGame> boardGameDto1SetToBoardGameSet(Set<CategoryDto.BoardGameDto1> set) {
        if ( set == null ) {
            return null;
        }

        Set<BoardGame> set1 = new LinkedHashSet<BoardGame>( Math.max( (int) ( set.size() / .75f ) + 1, 16 ) );
        for ( CategoryDto.BoardGameDto1 boardGameDto1 : set ) {
            set1.add( boardGameDto1ToBoardGame( boardGameDto1 ) );
        }

        return set1;
    }

    protected CategoryDto.BoardGameDto1 boardGameToBoardGameDto1(BoardGame boardGame) {
        if ( boardGame == null ) {
            return null;
        }

        UUID publicID = null;
        String gameName = null;
        int minPlayer = 0;
        int maxPlayer = 0;
        int playTimeInMinutes = 0;
        int recommendedAge = 0;
        String description = null;

        publicID = boardGame.getPublicID();
        gameName = boardGame.getGameName();
        minPlayer = boardGame.getMinPlayer();
        maxPlayer = boardGame.getMaxPlayer();
        playTimeInMinutes = boardGame.getPlayTimeInMinutes();
        recommendedAge = boardGame.getRecommendedAge();
        description = boardGame.getDescription();

        double rating = 0.0d;

        CategoryDto.BoardGameDto1 boardGameDto1 = new CategoryDto.BoardGameDto1( publicID, gameName, minPlayer, maxPlayer, playTimeInMinutes, recommendedAge, description, rating );

        return boardGameDto1;
    }

    protected Set<CategoryDto.BoardGameDto1> boardGameSetToBoardGameDto1Set(Set<BoardGame> set) {
        if ( set == null ) {
            return null;
        }

        Set<CategoryDto.BoardGameDto1> set1 = new LinkedHashSet<CategoryDto.BoardGameDto1>( Math.max( (int) ( set.size() / .75f ) + 1, 16 ) );
        for ( BoardGame boardGame : set ) {
            set1.add( boardGameToBoardGameDto1( boardGame ) );
        }

        return set1;
    }
}