Small refactoring.

This commit is contained in:
Alexey Zinchenko 2019-05-27 22:27:09 +03:00
parent 3b5da6ff81
commit 86df819f0f
4 changed files with 21 additions and 17 deletions

View File

@ -12,4 +12,3 @@ public class CarRepairApplication {
} }
} }
// TODO: big data

View File

@ -27,7 +27,7 @@ import java.util.stream.Stream;
@Component @Component
public class DemoDataPopulator { public class DemoDataPopulator {
private static final int COUNT = 100; private static final int DEMO_ENTRIES_COUNT = 100;
private static final int DEFAULT_PAGE_SIZE = 10; private static final int DEFAULT_PAGE_SIZE = 10;
private final Logger logger = LogManager.getLogger(DemoDataPopulator.class); private final Logger logger = LogManager.getLogger(DemoDataPopulator.class);
@ -35,32 +35,36 @@ public class DemoDataPopulator {
@Bean @Bean
public CommandLineRunner clientDemoData(ClientService clientService) { public CommandLineRunner clientDemoData(ClientService clientService) {
List<Client> demoClientList = Stream.generate(() -> { Stream<Client> demoClientList = Stream.generate(() -> {
Client client = new Client(); Client client = new Client();
client.setFirstName(faker.name().firstName()); client.setFirstName(faker.name().firstName());
client.setLastName(faker.name().lastName()); client.setLastName(faker.name().lastName());
client.setMiddleName(faker.name().username()); client.setMiddleName(faker.name().username());
client.setPhoneNo(faker.phoneNumber().phoneNumber()); client.setPhoneNo(faker.phoneNumber().phoneNumber());
return client; return client;
}).limit(COUNT).collect(Collectors.toList()); }).parallel().limit(DEMO_ENTRIES_COUNT);
logger.info("[Demo Data] Populated {} clients.", demoClientList::size);
return args -> demoClientList.forEach(clientService::save); return args -> {
demoClientList.forEach(clientService::save);
logger.info("[Demo Data] Populated {} clients.", DEMO_ENTRIES_COUNT);
};
} }
@Bean @Bean
public CommandLineRunner mechanicDemoData(MechanicService mechanicService) { public CommandLineRunner mechanicDemoData(MechanicService mechanicService) {
List<Mechanic> demoMechanicList = Stream.generate(() -> { Stream<Mechanic> demoMechanicList = Stream.generate(() -> {
Mechanic mechanic = new Mechanic(); Mechanic mechanic = new Mechanic();
mechanic.setFirstName(faker.name().firstName()); mechanic.setFirstName(faker.name().firstName());
mechanic.setLastName(faker.name().lastName()); mechanic.setLastName(faker.name().lastName());
mechanic.setMiddleName(faker.name().username()); mechanic.setMiddleName(faker.name().username());
mechanic.setHourlyPayment(BigDecimal.valueOf(faker.number().randomDouble(3, 100, 999))); mechanic.setHourlyPayment(BigDecimal.valueOf(faker.number().randomDouble(3, 100, 999)));
return mechanic; return mechanic;
}).limit(COUNT).collect(Collectors.toList()); }).parallel().limit(DEMO_ENTRIES_COUNT);
logger.info("[Demo Data] Populated {} mechanics.", demoMechanicList::size);
return args -> demoMechanicList.forEach(mechanicService::save); return args -> {
demoMechanicList.forEach(mechanicService::save);
logger.info("[Demo Data] Populated {} mechanics.", DEMO_ENTRIES_COUNT);
};
} }
@Bean @Bean
@ -71,7 +75,7 @@ public class DemoDataPopulator {
if (mechanicsCount == 0 || clientsCount == 0) return args -> {}; if (mechanicsCount == 0 || clientsCount == 0) return args -> {};
List<Order> demoOrderList = Stream.generate(() -> { Stream<Order> demoOrderList = Stream.generate(() -> {
Order order = new Order(); Order order = new Order();
order.setOrderStatus(orderStatuses[RandomUtils.nextInt(0, 3)]); order.setOrderStatus(orderStatuses[RandomUtils.nextInt(0, 3)]);
order.setDescription(faker.lorem().characters(10, 1024)); order.setDescription(faker.lorem().characters(10, 1024));
@ -91,10 +95,12 @@ public class DemoDataPopulator {
order.setMechanic(randomMechanic); order.setMechanic(randomMechanic);
return order; return order;
}).limit(COUNT).collect(Collectors.toList()); }).parallel().limit(DEMO_ENTRIES_COUNT);
logger.info("[Demo Data] Populated {} orders.", demoOrderList::size);
return args -> demoOrderList.forEach(orderService::save); return args -> {
demoOrderList.forEach(orderService::save);
logger.info("[Demo Data] Populated {} orders.", DEMO_ENTRIES_COUNT);
};
} }
private Pageable getRandomPageable(long totalRecords) { private Pageable getRandomPageable(long totalRecords) {

View File

@ -76,7 +76,7 @@ public class ClientService {
} }
public Page<ClientDto> convertToDtoPage(Page<Client> clientPage) { public Page<ClientDto> convertToDtoPage(Page<Client> clientPage) {
final Page<ClientDto> clientDtoPage = new PageImpl<> (clientMapper.clientsToClientDtoList(clientPage.getContent()), final Page<ClientDto> clientDtoPage = new PageImpl<>(clientMapper.clientsToClientDtoList(clientPage.getContent()),
clientPage.getPageable(), clientPage.getTotalElements()); clientPage.getPageable(), clientPage.getTotalElements());
logger.trace("Dto page: {}.", () -> clientDtoPage); logger.trace("Dto page: {}.", () -> clientDtoPage);
return clientDtoPage; return clientDtoPage;

View File

@ -13,7 +13,6 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.validation.SmartValidator;
import java.util.Optional; import java.util.Optional;