EquipmentCommandToDomainMapperImpl.java
package com.github.jenkaby.bikerental.equipment.application.mapper;
import com.github.jenkaby.bikerental.equipment.application.usecase.CreateEquipmentUseCase;
import com.github.jenkaby.bikerental.equipment.application.usecase.UpdateEquipmentUseCase;
import com.github.jenkaby.bikerental.equipment.domain.model.Equipment;
import com.github.jenkaby.bikerental.equipment.shared.mapper.SerialNumberMapper;
import com.github.jenkaby.bikerental.equipment.shared.mapper.UidMapper;
import java.time.LocalDate;
import javax.annotation.processing.Generated;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
comments = "version: 1.6.3, compiler: IncrementalProcessingEnvironment from gradle-language-java-9.4.1.jar, environment: Java 21.0.10 (Amazon.com Inc.)"
)
@Component
public class EquipmentCommandToDomainMapperImpl implements EquipmentCommandToDomainMapper {
private final SerialNumberMapper serialNumberMapper;
private final UidMapper uidMapper;
@Autowired
public EquipmentCommandToDomainMapperImpl(SerialNumberMapper serialNumberMapper, UidMapper uidMapper) {
this.serialNumberMapper = serialNumberMapper;
this.uidMapper = uidMapper;
}
@Override
public Equipment toEquipment(CreateEquipmentUseCase.CreateEquipmentCommand command) {
if ( command == null ) {
return null;
}
Equipment.EquipmentBuilder equipment = Equipment.builder();
equipment.serialNumber( serialNumberMapper.toSerialNumber( command.serialNumber() ) );
equipment.uid( uidMapper.toUid( command.uid() ) );
equipment.typeSlug( command.typeSlug() );
equipment.statusSlug( command.statusSlug() );
equipment.model( command.model() );
equipment.commissionedAt( command.commissionedAt() );
equipment.condition( command.condition() );
return equipment.build();
}
@Override
public Equipment toEquipment(Equipment toUpdate, UpdateEquipmentUseCase.UpdateEquipmentCommand command) {
if ( command == null ) {
return toUpdate;
}
toUpdate.setSerialNumber( serialNumberMapper.toSerialNumber( command.serialNumber() ) );
toUpdate.setUid( uidMapper.toUid( command.uid() ) );
toUpdate.setTypeSlug( command.typeSlug() );
toUpdate.setStatusSlug( command.statusSlug() );
toUpdate.setModel( command.model() );
toUpdate.setCommissionedAt( command.commissionedAt() );
toUpdate.setCondition( command.condition() );
return toUpdate;
}
@Override
public UpdateEquipmentUseCase.UpdateEquipmentCommand toUpdateCommand(Equipment equipment, String newStatusSlug) {
if ( equipment == null && newStatusSlug == null ) {
return null;
}
Long id = null;
String serialNumber = null;
String uid = null;
String typeSlug = null;
String model = null;
LocalDate commissionedAt = null;
String condition = null;
if ( equipment != null ) {
id = equipment.getId();
serialNumber = serialNumberMapper.toString( equipment.getSerialNumber() );
uid = uidMapper.toString( equipment.getUid() );
typeSlug = equipment.getTypeSlug();
model = equipment.getModel();
commissionedAt = equipment.getCommissionedAt();
condition = equipment.getCondition();
}
String statusSlug = null;
statusSlug = newStatusSlug;
UpdateEquipmentUseCase.UpdateEquipmentCommand updateEquipmentCommand = new UpdateEquipmentUseCase.UpdateEquipmentCommand( id, serialNumber, uid, typeSlug, statusSlug, model, commissionedAt, condition );
return updateEquipmentCommand;
}
}