TargetingMapperImpl.java

package io.featureprobe.api.mapper;

import io.featureprobe.api.base.model.PrerequisiteModel;
import io.featureprobe.api.base.model.TargetingContent;
import io.featureprobe.api.base.model.ToggleRule;
import io.featureprobe.api.base.model.Variation;
import io.featureprobe.api.dao.entity.Targeting;
import io.featureprobe.api.dto.TargetingPublishRequest;
import io.featureprobe.api.dto.TargetingResponse;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2023-10-07T17:43:36+0800",
    comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_382 (Red Hat, Inc.)"
)
public class TargetingMapperImpl implements TargetingMapper {

    @Override
    public TargetingResponse entityToResponse(Targeting targeting) {
        if ( targeting == null ) {
            return null;
        }

        TargetingResponse targetingResponse = new TargetingResponse();

        if ( targeting.getStatus() != null ) {
            targetingResponse.setStatus( targeting.getStatus().name() );
        }
        targetingResponse.setDisabled( targeting.isDisabled() );
        targetingResponse.setVersion( targeting.getVersion() );
        targetingResponse.setModifiedTime( targeting.getModifiedTime() );
        targetingResponse.setPublishTime( targeting.getPublishTime() );

        targetingResponse.setContent( toTargetingContent(targeting.getContent()) );
        targetingResponse.setModifiedBy( getAccount(targeting.getModifiedBy()) );

        return targetingResponse;
    }

    @Override
    public void mapEntity(TargetingPublishRequest publishRequest, Targeting targeting) {
        if ( publishRequest == null ) {
            return;
        }

        if ( publishRequest.getDisabled() != null ) {
            targeting.setDisabled( publishRequest.getDisabled() );
        }

        targeting.setContent( toTargetingContentString(publishRequest.getContent(), targeting) );
    }

    @Override
    public void mapContentEntity(TargetingContent content, TargetingContent currentContent) {
        if ( content == null ) {
            return;
        }

        if ( currentContent.getRules() != null ) {
            List<ToggleRule> list = content.getRules();
            if ( list != null ) {
                currentContent.getRules().clear();
                currentContent.getRules().addAll( list );
            }
        }
        else {
            List<ToggleRule> list = content.getRules();
            if ( list != null ) {
                currentContent.setRules( new ArrayList<ToggleRule>( list ) );
            }
        }
        if ( content.getDisabledServe() != null ) {
            currentContent.setDisabledServe( content.getDisabledServe() );
        }
        if ( content.getDefaultServe() != null ) {
            currentContent.setDefaultServe( content.getDefaultServe() );
        }
        if ( currentContent.getVariations() != null ) {
            List<Variation> list1 = content.getVariations();
            if ( list1 != null ) {
                currentContent.getVariations().clear();
                currentContent.getVariations().addAll( list1 );
            }
        }
        else {
            List<Variation> list1 = content.getVariations();
            if ( list1 != null ) {
                currentContent.setVariations( new ArrayList<Variation>( list1 ) );
            }
        }
        if ( currentContent.getPrerequisites() != null ) {
            List<PrerequisiteModel> list2 = content.getPrerequisites();
            if ( list2 != null ) {
                currentContent.getPrerequisites().clear();
                currentContent.getPrerequisites().addAll( list2 );
            }
        }
        else {
            List<PrerequisiteModel> list2 = content.getPrerequisites();
            if ( list2 != null ) {
                currentContent.setPrerequisites( new ArrayList<PrerequisiteModel>( list2 ) );
            }
        }
    }
}