ActivityMapperImpl.java

package com.wilzwert.myjobs.infrastructure.persistence.mongo.mapper;

import com.wilzwert.myjobs.core.domain.model.activity.Activity;
import com.wilzwert.myjobs.core.domain.model.activity.ActivityId;
import com.wilzwert.myjobs.core.domain.model.activity.ActivityType;
import com.wilzwert.myjobs.core.domain.model.activity.command.CreateActivityCommand;
import com.wilzwert.myjobs.core.domain.model.activity.command.UpdateActivityCommand;
import com.wilzwert.myjobs.core.domain.model.job.JobId;
import com.wilzwert.myjobs.core.domain.model.user.UserId;
import com.wilzwert.myjobs.infrastructure.api.rest.dto.ActivityResponse;
import com.wilzwert.myjobs.infrastructure.api.rest.dto.CreateActivityRequest;
import com.wilzwert.myjobs.infrastructure.api.rest.dto.UpdateActivityRequest;
import com.wilzwert.myjobs.infrastructure.persistence.mongo.entity.MongoActivity;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.processing.Generated;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2025-06-18T09:42:43+0000",
    comments = "version: 1.6.2, compiler: javac, environment: Java 21.0.7 (Eclipse Adoptium)"
)
@Component
public class ActivityMapperImpl implements ActivityMapper {

    @Autowired
    private IdMapper idMapper;

    @Override
    public MongoActivity toEntity(Activity domain) {
        if ( domain == null ) {
            return null;
        }

        MongoActivity mongoActivity = new MongoActivity();

        mongoActivity.setId( idMapper.toEntity( domain.getId() ) );
        mongoActivity.setType( domain.getType() );
        mongoActivity.setComment( domain.getComment() );
        mongoActivity.setCreatedAt( domain.getCreatedAt() );
        mongoActivity.setUpdatedAt( domain.getUpdatedAt() );

        return mongoActivity;
    }

    @Override
    public List<MongoActivity> toEntity(List<Activity> domains) {
        if ( domains == null ) {
            return null;
        }

        List<MongoActivity> list = new ArrayList<MongoActivity>( domains.size() );
        for ( Activity activity : domains ) {
            list.add( toEntity( activity ) );
        }

        return list;
    }

    @Override
    public Activity toDomain(MongoActivity entity) {
        if ( entity == null ) {
            return null;
        }

        Activity.Builder activity = Activity.builder();

        activity.id( idMapper.mapActivityId( entity.getId() ) );
        activity.type( entity.getType() );
        activity.comment( entity.getComment() );
        activity.createdAt( entity.getCreatedAt() );
        activity.updatedAt( entity.getUpdatedAt() );

        return activity.build();
    }

    @Override
    public List<Activity> toDomain(List<MongoActivity> entities) {
        if ( entities == null ) {
            return null;
        }

        List<Activity> list = new ArrayList<Activity>( entities.size() );
        for ( MongoActivity mongoActivity : entities ) {
            list.add( toDomain( mongoActivity ) );
        }

        return list;
    }

    @Override
    public ActivityResponse toResponse(Activity domain) {
        if ( domain == null ) {
            return null;
        }

        ActivityResponse activityResponse = new ActivityResponse();

        activityResponse.setId( idMapper.toEntity( domain.getId() ) );
        activityResponse.setComment( domain.getComment() );
        activityResponse.setType( domain.getType() );
        activityResponse.setCreatedAt( domain.getCreatedAt() );

        return activityResponse;
    }

    @Override
    public List<ActivityResponse> toResponse(List<Activity> domains) {
        if ( domains == null ) {
            return null;
        }

        List<ActivityResponse> list = new ArrayList<ActivityResponse>( domains.size() );
        for ( Activity activity : domains ) {
            list.add( toResponse( activity ) );
        }

        return list;
    }

    @Override
    public CreateActivityCommand toCommand(CreateActivityRequest request) {
        if ( request == null ) {
            return null;
        }

        String comment = null;

        comment = request.getComment();

        ActivityType activityType = null;
        UserId userId = null;
        JobId jobId = null;

        CreateActivityCommand createActivityCommand = new CreateActivityCommand( activityType, comment, userId, jobId );

        return createActivityCommand;
    }

    @Override
    public UpdateActivityCommand toUpdateCommand(UpdateActivityRequest request) {
        if ( request == null ) {
            return null;
        }

        String comment = null;

        comment = request.getComment();

        ActivityId activityId = null;
        ActivityType activityType = null;
        UserId userId = null;
        JobId jobId = null;

        UpdateActivityCommand updateActivityCommand = new UpdateActivityCommand( activityId, activityType, comment, userId, jobId );

        return updateActivityCommand;
    }

    @Override
    public CreateActivityCommand toCommand(CreateActivityRequest createActivityRequest, UserId userId, JobId jobId) {
        if ( createActivityRequest == null && userId == null && jobId == null ) {
            return null;
        }

        ActivityType activityType = null;
        String comment = null;
        if ( createActivityRequest != null ) {
            activityType = createActivityRequest.getType();
            comment = createActivityRequest.getComment();
        }
        UserId userId1 = null;
        userId1 = userId;
        JobId jobId1 = null;
        jobId1 = jobId;

        CreateActivityCommand createActivityCommand = new CreateActivityCommand( activityType, comment, userId1, jobId1 );

        return createActivityCommand;
    }
}