Coverage Summary for Class: CarServiceImpl (org.softuni.cardealer.service)

Class Class, % Method, % Line, %
CarServiceImpl 100% (1/ 1) 100% (5/ 5) 100% (18/ 18)


1 package org.softuni.cardealer.service; 2  3 import org.modelmapper.ModelMapper; 4 import org.softuni.cardealer.domain.entities.Car; 5 import org.softuni.cardealer.domain.models.service.CarServiceModel; 6 import org.softuni.cardealer.repository.CarRepository; 7 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.stereotype.Service; 9  10 @Service 11 public class CarServiceImpl implements CarService { 12  13  private final CarRepository carRepository; 14  private final ModelMapper modelMapper; 15  16  @Autowired 17  public CarServiceImpl(CarRepository carRepository, ModelMapper modelMapper) { 18  this.carRepository = carRepository; 19  this.modelMapper = modelMapper; 20  } 21  22  @Override 23  public CarServiceModel saveCar(CarServiceModel carServiceModel) { 24  Car car = this.modelMapper.map(carServiceModel, Car.class); 25  car = this.carRepository.saveAndFlush(car); 26  27  return this.modelMapper.map(car, CarServiceModel.class); 28  29  } 30  31  @Override 32  public CarServiceModel editCar(CarServiceModel carServiceModel) { 33  Car car = this.carRepository.findById(carServiceModel.getId()).orElse(null); 34  car.setMake(carServiceModel.getMake()); 35  car.setModel(carServiceModel.getModel()); 36  car.setTravelledDistance(carServiceModel.getTravelledDistance()); 37  38  car = this.carRepository.saveAndFlush(car); 39  40  return this.modelMapper.map(car, CarServiceModel.class); 41  42  } 43  44  @Override 45  public CarServiceModel deleteCar(String id) { 46  Car car = this.carRepository.findById(id).orElse(null); 47  48  this.carRepository.delete(car); 49  50  return this.modelMapper.map(car, CarServiceModel.class); 51  52  } 53  54  @Override 55  public CarServiceModel findCarById(String id) { 56  Car car = this.carRepository.findById(id).orElse(null); 57  58  return this.modelMapper.map(car, CarServiceModel.class); 59  60  } 61 }