Skip to content
Snippets Groups Projects
Commit 28038d87 authored by Oto Stanko's avatar Oto Stanko
Browse files

Refactor of mappers for car component

parent e6c8b6e9
No related branches found
No related tags found
2 merge requests!79Final solution of milestone 3,!6223 persisting data
package cz.muni.pa165.component.mapper;
import cz.muni.pa165.common_library.dtos.CarComponentRequestDto;
import cz.muni.pa165.common_library.dtos.CarComponentResponseDto;
import cz.muni.pa165.component.data.model.CarComponent;
import org.springframework.stereotype.Component;
/**
* Car component mapper.
*/
@Component
public class CarComponentMapper {
/**
*
* @param carComponentDto of a car component.
* @return car component.
*/
public CarComponent carComponentDtoConverterWithoutId(CarComponentRequestDto carComponentDto) {
return CarComponent.builder()
.id(null)
.weight(carComponentDto.getWeight())
.price(carComponentDto.getPrice())
.manufacturer(carComponentDto.getManufacturer())
.name(carComponentDto.getName())
.build();
}
/**
*
* @param carComponentDto with id.
* @return car component.
*/
public CarComponent carComponentDtoConverter(CarComponentResponseDto carComponentDto) {
return CarComponent.builder()
.id(carComponentDto.getId())
.weight(carComponentDto.getWeight())
.price(carComponentDto.getPrice())
.manufacturer(carComponentDto.getManufacturer())
.name(carComponentDto.getName())
.build();
}
/**
*
* @param carComponent ...
* @return response dto.
*/
public CarComponentResponseDto carComponentConverter(CarComponent carComponent) {
return CarComponentResponseDto.builder()
.id(carComponent.getId())
.weight(carComponent.getWeight())
.price(carComponent.getPrice())
.manufacturer(carComponent.getManufacturer())
.name(carComponent.getName())
.build();
}
}
......@@ -3,9 +3,10 @@ package cz.muni.pa165.component.service;
import cz.muni.pa165.common_library.dtos.CarComponentRequestDto;
import cz.muni.pa165.common_library.dtos.CarComponentResponseDto;
import cz.muni.pa165.common_library.exception.DatabaseException;
import cz.muni.pa165.component.data.model.CarComponent;
import cz.muni.pa165.component.data.repository.ComponentRepositoryInterface;
import java.util.List;
import cz.muni.pa165.component.mapper.CarComponentMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -17,16 +18,18 @@ import org.springframework.transaction.annotation.Transactional;
@Service
public class ComponentService implements ComponentServiceInterface {
@Autowired
ComponentRepositoryInterface componentRepository;
CarComponentMapper carComponentMapper;
ComponentService(ComponentRepositoryInterface componentRepository) {
@Autowired
ComponentService(ComponentRepositoryInterface componentRepository, CarComponentMapper carComponentMapper) {
this.componentRepository = componentRepository;
this.carComponentMapper = carComponentMapper;
}
public CarComponentResponseDto postCarComponent(CarComponentRequestDto carComponentDto) {
return carComponentConverter(componentRepository.save(
carComponentDtoConverterWithoutId(carComponentDto)));
return carComponentMapper.carComponentConverter(componentRepository.save(
carComponentMapper.carComponentDtoConverterWithoutId(carComponentDto)));
}
/**
......@@ -37,7 +40,7 @@ public class ComponentService implements ComponentServiceInterface {
*/
@Transactional(readOnly = true)
public CarComponentResponseDto getCarComponentById(Long carComponentId) {
return carComponentConverter(componentRepository.findById(carComponentId).orElseThrow(
return carComponentMapper.carComponentConverter(componentRepository.findById(carComponentId).orElseThrow(
() -> new DatabaseException("Something went wrong when finding car component with id: "
+ carComponentId + " in the database.")));
}
......@@ -51,7 +54,7 @@ public class ComponentService implements ComponentServiceInterface {
public List<CarComponentResponseDto> getAllCarComponents() {
return componentRepository.findAll()
.stream()
.map(this::carComponentConverter)
.map(carComponentMapper::carComponentConverter)
.toList();
}
......@@ -65,34 +68,4 @@ public class ComponentService implements ComponentServiceInterface {
componentRepository.deleteById(carComponentId);
return "Car component with id: " + carComponentId + "was successfully deleted";
}
CarComponent carComponentDtoConverterWithoutId(CarComponentRequestDto carComponentDto) {
return CarComponent.builder()
.id(null)
.weight(carComponentDto.getWeight())
.price(carComponentDto.getPrice())
.manufacturer(carComponentDto.getManufacturer())
.name(carComponentDto.getName())
.build();
}
CarComponent carComponentDtoConverter(CarComponentResponseDto carComponentDto) {
return CarComponent.builder()
.id(carComponentDto.getId())
.weight(carComponentDto.getWeight())
.price(carComponentDto.getPrice())
.manufacturer(carComponentDto.getManufacturer())
.name(carComponentDto.getName())
.build();
}
CarComponentResponseDto carComponentConverter(CarComponent carComponent) {
return CarComponentResponseDto.builder()
.id(carComponent.getId())
.weight(carComponent.getWeight())
.price(carComponent.getPrice())
.manufacturer(carComponent.getManufacturer())
.name(carComponent.getName())
.build();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment