PublisherMapperImpl.java

package com.codecool.bytebattlers.mapper;

import com.codecool.bytebattlers.controller.dto.PublisherDto;
import com.codecool.bytebattlers.model.BoardGame;
import com.codecool.bytebattlers.model.Publisher;
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 PublisherMapperImpl implements PublisherMapper {

    @Override
    public Publisher toEntity(PublisherDto publisherDto) {
        if ( publisherDto == null ) {
            return null;
        }

        Publisher publisher = new Publisher();

        publisher.setPublicID( publisherDto.publicID() );
        publisher.setPublisherName( publisherDto.publisherName() );
        publisher.setBoardGames( boardGameDto1SetToBoardGameSet( publisherDto.boardGames() ) );

        linkBoardGames( publisher );

        return publisher;
    }

    @Override
    public PublisherDto toDto(Publisher publisher) {
        if ( publisher == null ) {
            return null;
        }

        UUID publicID = null;
        String publisherName = null;
        Set<PublisherDto.BoardGameDto1> boardGames = null;

        publicID = publisher.getPublicID();
        publisherName = publisher.getPublisherName();
        boardGames = boardGameSetToBoardGameDto1Set( publisher.getBoardGames() );

        PublisherDto publisherDto = new PublisherDto( publicID, publisherName, boardGames );

        return publisherDto;
    }

    @Override
    public Publisher partialUpdate(PublisherDto publisherDto, Publisher publisher) {
        if ( publisherDto == null ) {
            return publisher;
        }

        if ( publisherDto.publicID() != null ) {
            publisher.setPublicID( publisherDto.publicID() );
        }
        if ( publisherDto.publisherName() != null ) {
            publisher.setPublisherName( publisherDto.publisherName() );
        }
        if ( publisher.getBoardGames() != null ) {
            Set<BoardGame> set = boardGameDto1SetToBoardGameSet( publisherDto.boardGames() );
            if ( set != null ) {
                publisher.getBoardGames().clear();
                publisher.getBoardGames().addAll( set );
            }
        }
        else {
            Set<BoardGame> set = boardGameDto1SetToBoardGameSet( publisherDto.boardGames() );
            if ( set != null ) {
                publisher.setBoardGames( set );
            }
        }

        linkBoardGames( publisher );

        return publisher;
    }

    protected BoardGame boardGameDto1ToBoardGame(PublisherDto.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<PublisherDto.BoardGameDto1> set) {
        if ( set == null ) {
            return null;
        }

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

        return set1;
    }

    protected PublisherDto.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;

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

        return boardGameDto1;
    }

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

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

        return set1;
    }
}