ReviewMapperImpl.java

package com.codecool.bytebattlers.mapper;

import com.codecool.bytebattlers.controller.dto.ReviewDto;
import com.codecool.bytebattlers.model.AppUser;
import com.codecool.bytebattlers.model.BoardGame;
import com.codecool.bytebattlers.model.Review;
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 ReviewMapperImpl implements ReviewMapper {

    @Override
    public Review partialUpdate(ReviewDto reviewDto, Review review) {
        if ( reviewDto == null ) {
            return review;
        }

        if ( reviewDto.publicID() != null ) {
            review.setPublicID( reviewDto.publicID() );
        }
        if ( reviewDto.description() != null ) {
            review.setDescription( reviewDto.description() );
        }

        return review;
    }

    @Override
    public Review toEntity(ReviewDto reviewDto) {
        if ( reviewDto == null ) {
            return null;
        }

        Review review = new Review();

        review.setAppUser( reviewDtoToAppUser( reviewDto ) );
        review.setBoardGame( reviewDtoToBoardGame( reviewDto ) );
        review.setPublicID( reviewDto.publicID() );
        review.setDescription( reviewDto.description() );

        return review;
    }

    @Override
    public ReviewDto toDto(Review review) {
        if ( review == null ) {
            return null;
        }

        UUID appUserPublicID = null;
        String appUserName = null;
        UUID boardGamePublicID = null;
        UUID publicID = null;
        String description = null;

        appUserPublicID = reviewAppUserPublicID( review );
        appUserName = reviewAppUserName( review );
        boardGamePublicID = reviewBoardGamePublicID( review );
        publicID = review.getPublicID();
        description = review.getDescription();

        ReviewDto reviewDto = new ReviewDto( publicID, description, boardGamePublicID, appUserPublicID, appUserName );

        return reviewDto;
    }

    @Override
    public Review partialUpdate(Review review, ReviewDto reviewDto) {
        if ( reviewDto == null ) {
            return review;
        }

        if ( review.getAppUser() == null ) {
            review.setAppUser( new AppUser() );
        }
        reviewDtoToAppUser1( reviewDto, review.getAppUser() );
        if ( review.getBoardGame() == null ) {
            review.setBoardGame( new BoardGame() );
        }
        reviewDtoToBoardGame1( reviewDto, review.getBoardGame() );
        if ( reviewDto.publicID() != null ) {
            review.setPublicID( reviewDto.publicID() );
        }
        if ( reviewDto.description() != null ) {
            review.setDescription( reviewDto.description() );
        }

        return review;
    }

    protected AppUser reviewDtoToAppUser(ReviewDto reviewDto) {
        if ( reviewDto == null ) {
            return null;
        }

        AppUser appUser = new AppUser();

        appUser.setPublicID( reviewDto.appUserPublicID() );
        appUser.setName( reviewDto.appUserName() );

        return appUser;
    }

    protected BoardGame reviewDtoToBoardGame(ReviewDto reviewDto) {
        if ( reviewDto == null ) {
            return null;
        }

        BoardGame boardGame = new BoardGame();

        boardGame.setPublicID( reviewDto.boardGamePublicID() );

        return boardGame;
    }

    private UUID reviewAppUserPublicID(Review review) {
        if ( review == null ) {
            return null;
        }
        AppUser appUser = review.getAppUser();
        if ( appUser == null ) {
            return null;
        }
        UUID publicID = appUser.getPublicID();
        if ( publicID == null ) {
            return null;
        }
        return publicID;
    }

    private String reviewAppUserName(Review review) {
        if ( review == null ) {
            return null;
        }
        AppUser appUser = review.getAppUser();
        if ( appUser == null ) {
            return null;
        }
        String name = appUser.getName();
        if ( name == null ) {
            return null;
        }
        return name;
    }

    private UUID reviewBoardGamePublicID(Review review) {
        if ( review == null ) {
            return null;
        }
        BoardGame boardGame = review.getBoardGame();
        if ( boardGame == null ) {
            return null;
        }
        UUID publicID = boardGame.getPublicID();
        if ( publicID == null ) {
            return null;
        }
        return publicID;
    }

    protected void reviewDtoToAppUser1(ReviewDto reviewDto, AppUser mappingTarget) {
        if ( reviewDto == null ) {
            return;
        }

        if ( reviewDto.appUserPublicID() != null ) {
            mappingTarget.setPublicID( reviewDto.appUserPublicID() );
        }
        if ( reviewDto.appUserName() != null ) {
            mappingTarget.setName( reviewDto.appUserName() );
        }
    }

    protected void reviewDtoToBoardGame1(ReviewDto reviewDto, BoardGame mappingTarget) {
        if ( reviewDto == null ) {
            return;
        }

        if ( reviewDto.boardGamePublicID() != null ) {
            mappingTarget.setPublicID( reviewDto.boardGamePublicID() );
        }
    }
}