RentalQueryMapperImpl.java
package com.github.jenkaby.bikerental.rental.web.query.mapper;
import com.github.jenkaby.bikerental.rental.domain.model.Rental;
import com.github.jenkaby.bikerental.rental.domain.model.RentalEquipment;
import com.github.jenkaby.bikerental.rental.shared.mapper.RentalEquipmentMapper;
import com.github.jenkaby.bikerental.rental.shared.mapper.RentalStatusMapper;
import com.github.jenkaby.bikerental.rental.web.query.dto.EquipmentItemResponse;
import com.github.jenkaby.bikerental.rental.web.query.dto.RentalResponse;
import com.github.jenkaby.bikerental.rental.web.query.dto.RentalSummaryResponse;
import com.github.jenkaby.bikerental.shared.mapper.DurationMapper;
import com.github.jenkaby.bikerental.shared.mapper.MoneyMapper;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
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 RentalQueryMapperImpl implements RentalQueryMapper {
private final MoneyMapper moneyMapper;
private final RentalStatusMapper rentalStatusMapper;
private final DurationMapper durationMapper;
private final RentalOverdueMapper rentalOverdueMapper;
private final RentalEquipmentWebMapper rentalEquipmentWebMapper;
private final RentalEquipmentMapper rentalEquipmentMapper;
@Autowired
public RentalQueryMapperImpl(MoneyMapper moneyMapper, RentalStatusMapper rentalStatusMapper, DurationMapper durationMapper, RentalOverdueMapper rentalOverdueMapper, RentalEquipmentWebMapper rentalEquipmentWebMapper, RentalEquipmentMapper rentalEquipmentMapper) {
this.moneyMapper = moneyMapper;
this.rentalStatusMapper = rentalStatusMapper;
this.durationMapper = durationMapper;
this.rentalOverdueMapper = rentalOverdueMapper;
this.rentalEquipmentWebMapper = rentalEquipmentWebMapper;
this.rentalEquipmentMapper = rentalEquipmentMapper;
}
@Override
public RentalResponse toResponse(Rental rental) {
if ( rental == null ) {
return null;
}
Integer actualDurationMinutes = null;
Integer plannedDurationMinutes = null;
List<EquipmentItemResponse> equipmentItems = null;
Long id = null;
UUID customerId = null;
String status = null;
LocalDateTime startedAt = null;
LocalDateTime expectedReturnAt = null;
LocalDateTime actualReturnAt = null;
BigDecimal estimatedCost = null;
BigDecimal finalCost = null;
actualDurationMinutes = durationMapper.toMinutes( rental.getActualDuration() );
plannedDurationMinutes = durationMapper.toMinutes( rental.getPlannedDuration() );
equipmentItems = rentalEquipmentListToEquipmentItemResponseList( rental.getEquipments() );
id = rental.getId();
customerId = rental.getCustomerId();
status = rentalStatusMapper.statusToString( rental.getStatus() );
startedAt = rental.getStartedAt();
expectedReturnAt = rental.getExpectedReturnAt();
actualReturnAt = rental.getActualReturnAt();
estimatedCost = moneyMapper.toBigDecimal( rental.getEstimatedCost() );
finalCost = moneyMapper.toBigDecimal( rental.getFinalCost() );
RentalResponse rentalResponse = new RentalResponse( id, customerId, equipmentItems, status, startedAt, expectedReturnAt, actualReturnAt, plannedDurationMinutes, actualDurationMinutes, estimatedCost, finalCost );
return rentalResponse;
}
@Override
public RentalSummaryResponse toRentalSummaryResponse(Rental rental) {
if ( rental == null ) {
return null;
}
List<Long> equipmentIds = null;
Integer overdueMinutes = null;
Long id = null;
UUID customerId = null;
String status = null;
LocalDateTime startedAt = null;
LocalDateTime expectedReturnAt = null;
equipmentIds = rentalEquipmentMapper.toEquipmentIds( rental.getEquipments() );
overdueMinutes = rentalOverdueMapper.calculate( rental );
id = rental.getId();
customerId = rental.getCustomerId();
status = rentalStatusMapper.statusToString( rental.getStatus() );
startedAt = rental.getStartedAt();
expectedReturnAt = rental.getExpectedReturnAt();
RentalSummaryResponse rentalSummaryResponse = new RentalSummaryResponse( id, customerId, equipmentIds, status, startedAt, expectedReturnAt, overdueMinutes );
return rentalSummaryResponse;
}
protected List<EquipmentItemResponse> rentalEquipmentListToEquipmentItemResponseList(List<RentalEquipment> list) {
if ( list == null ) {
return null;
}
List<EquipmentItemResponse> list1 = new ArrayList<EquipmentItemResponse>( list.size() );
for ( RentalEquipment rentalEquipment : list ) {
list1.add( rentalEquipmentWebMapper.toEquipmentItemResponse( rentalEquipment ) );
}
return list1;
}
}