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

Persisting a car with one existing component

parent 63d1250b
No related branches found
No related tags found
2 merge requests!79Final solution of milestone 3,!6223 persisting data
Pipeline #
package cz.muni.pa165.car.config;
import cz.muni.pa165.car.data.model.Car;
import cz.muni.pa165.car.data.repository.CarRepository;
import cz.muni.pa165.car.restemplate.DbGetter;
import cz.muni.pa165.common_library.dtos.CarComponentResponseDto;
import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
@Service
public class PersistingCars {
private final CarRepository carRepository;
@Autowired
DbGetter dbGetter;
@Autowired
public PersistingCars(CarRepository carRepository) {
this.carRepository = carRepository;
}
@PostConstruct
public void persistCars() {
carRepository.deleteAll();
// ID, set(components), set(drivers), mainDriverID
Set<Long> firstCarComponents = new HashSet();
Set<Long> firstCarDrivers = new HashSet<>();
var firstCar = new Car(null,
firstCarComponents,
firstCarDrivers,
null);
List<CarComponentResponseDto> allComponents = dbGetter.getAllComponentsFromDb();
if (allComponents.size() != 0) {
Random random = new Random();
int index = random.ints(0, allComponents.size()).findFirst().getAsInt();
Long componentId = allComponents.get(index).getId();
firstCar.setComponents(new HashSet<Long>(Collections.singleton(componentId)));
}
carRepository.save(firstCar);
}
}
...@@ -23,17 +23,17 @@ public class PersistingCarComponents { ...@@ -23,17 +23,17 @@ public class PersistingCarComponents {
carComponentRepository.deleteAll(); carComponentRepository.deleteAll();
// Tyres // Tyres
var heavyTyres = new CarComponent(null, var heavyTyres = new CarComponent(0L,
"Tyres", "Tyres",
BigDecimal.valueOf(200), BigDecimal.valueOf(200),
BigDecimal.valueOf(10000), BigDecimal.valueOf(10000),
"M"); "M");
var expensiveTyres = new CarComponent(null, var expensiveTyres = new CarComponent(1L,
"Tyres", "Tyres",
BigDecimal.valueOf(150), BigDecimal.valueOf(150),
BigDecimal.valueOf(23500), BigDecimal.valueOf(23500),
"T"); "T");
var basicTyres = new CarComponent(null, var basicTyres = new CarComponent(2L,
"Tyres", "Tyres",
BigDecimal.valueOf(150), BigDecimal.valueOf(150),
BigDecimal.valueOf(9000), BigDecimal.valueOf(9000),
...@@ -43,17 +43,17 @@ public class PersistingCarComponents { ...@@ -43,17 +43,17 @@ public class PersistingCarComponents {
carComponentRepository.save(basicTyres); carComponentRepository.save(basicTyres);
// Engines // Engines
var basicEngine = new CarComponent(null, var basicEngine = new CarComponent(3L,
"Engine", "Engine",
BigDecimal.valueOf(350), BigDecimal.valueOf(350),
BigDecimal.valueOf(150000), BigDecimal.valueOf(150000),
"H"); "H");
var lightEngine = new CarComponent(null, var lightEngine = new CarComponent(4L,
"Engine", "Engine",
BigDecimal.valueOf(320), BigDecimal.valueOf(320),
BigDecimal.valueOf(230000), BigDecimal.valueOf(230000),
"H"); "H");
var oldEngine = new CarComponent(null, var oldEngine = new CarComponent(5L,
"Engine", "Engine",
BigDecimal.valueOf(350), BigDecimal.valueOf(350),
BigDecimal.valueOf(100000), BigDecimal.valueOf(100000),
...@@ -63,17 +63,17 @@ public class PersistingCarComponents { ...@@ -63,17 +63,17 @@ public class PersistingCarComponents {
carComponentRepository.save(oldEngine); carComponentRepository.save(oldEngine);
// Gearboxes // Gearboxes
var basicGearbox = new CarComponent(null, var basicGearbox = new CarComponent(6L,
"Gearbox", "Gearbox",
BigDecimal.valueOf(70), BigDecimal.valueOf(70),
BigDecimal.valueOf(12000), BigDecimal.valueOf(12000),
"GM"); "GM");
var extendedGearbox = new CarComponent(null, var extendedGearbox = new CarComponent(7L,
"Gearbox", "Gearbox",
BigDecimal.valueOf(80), BigDecimal.valueOf(80),
BigDecimal.valueOf(15000), BigDecimal.valueOf(15000),
"GM"); "GM");
var compactGearbox = new CarComponent(null, var compactGearbox = new CarComponent(8L,
"Gearbox", "Gearbox",
BigDecimal.valueOf(50), BigDecimal.valueOf(50),
BigDecimal.valueOf(17000), BigDecimal.valueOf(17000),
......
...@@ -42,7 +42,7 @@ public class PersistingDrivers { ...@@ -42,7 +42,7 @@ public class PersistingDrivers {
"Racecraft", 4, "Racecraft", 4,
"Aggressiveness", 5); "Aggressiveness", 5);
thirdDriver.setCharacteristics(thirdDriverChars); thirdDriver.setCharacteristics(thirdDriverChars);
driverRepository.save(firstDriver); driverRepository.save(firstDriver);
driverRepository.save(secondDriver); driverRepository.save(secondDriver);
driverRepository.save(thirdDriver); driverRepository.save(thirdDriver);
......
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