code clean

This commit is contained in:
Patrick Haßel 2022-10-25 12:53:25 +02:00
parent e5a2b36ac2
commit 2dbb1bc42f
11 changed files with 33 additions and 33 deletions

View File

@ -3,7 +3,7 @@ package de.ph87.homeautomation.device;
import de.ph87.homeautomation.device.devices.*; import de.ph87.homeautomation.device.devices.*;
import de.ph87.homeautomation.property.Property; import de.ph87.homeautomation.property.Property;
import de.ph87.homeautomation.scene.SceneDto; import de.ph87.homeautomation.scene.SceneDto;
import de.ph87.homeautomation.schedule.ScheduleWriteService; import de.ph87.homeautomation.schedule.ScheduleWriter;
import de.ph87.homeautomation.web.BadRequestException; import de.ph87.homeautomation.web.BadRequestException;
import de.ph87.homeautomation.web.WebSocketService; import de.ph87.homeautomation.web.WebSocketService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -140,7 +140,7 @@ public class DeviceWriteService {
int index = 0; int index = 0;
String title = null; String title = null;
while (title == null || deviceRepository.existsByTitle(title)) { while (title == null || deviceRepository.existsByTitle(title)) {
title = ScheduleWriteService.NAME_PREFIX + ++index; title = ScheduleWriter.NAME_PREFIX + ++index;
} }
return title; return title;
} }

View File

@ -3,8 +3,8 @@ package de.ph87.homeautomation.knx;
import de.ph87.homeautomation.knx.group.KnxGroupLinkService; import de.ph87.homeautomation.knx.group.KnxGroupLinkService;
import de.ph87.homeautomation.knx.group.KnxGroupWriteService; import de.ph87.homeautomation.knx.group.KnxGroupWriteService;
import de.ph87.homeautomation.knx.group.KnxThreadWakeUpEvent; import de.ph87.homeautomation.knx.group.KnxThreadWakeUpEvent;
import de.ph87.homeautomation.knx.router.Router;
import de.ph87.homeautomation.shared.AbstractThreadService; import de.ph87.homeautomation.shared.AbstractThreadService;
import de.ph87.network.router.Router;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -1,4 +1,4 @@
package de.ph87.network.router; package de.ph87.homeautomation.knx.router;
import java.net.Inet4Address; import java.net.Inet4Address;
import java.net.UnknownHostException; import java.net.UnknownHostException;

View File

@ -1,4 +1,4 @@
package de.ph87.network.router; package de.ph87.homeautomation.knx.router;
import java.io.IOException; import java.io.IOException;
import java.net.Inet4Address; import java.net.Inet4Address;

View File

@ -1,6 +1,6 @@
package de.ph87.homeautomation.scene; package de.ph87.homeautomation.scene;
import de.ph87.homeautomation.schedule.ScheduleWriteService; import de.ph87.homeautomation.schedule.ScheduleWriter;
import de.ph87.homeautomation.web.WebSocketService; import de.ph87.homeautomation.web.WebSocketService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -52,7 +52,7 @@ public class SceneWriteService {
int index = 0; int index = 0;
String title = null; String title = null;
while (title == null || sceneRepository.existsByTitle(title)) { while (title == null || sceneRepository.existsByTitle(title)) {
title = ScheduleWriteService.NAME_PREFIX + ++index; title = ScheduleWriter.NAME_PREFIX + ++index;
} }
return title; return title;
} }

View File

@ -25,7 +25,7 @@ import java.util.Optional;
@Service @Service
@Transactional @Transactional
@RequiredArgsConstructor @RequiredArgsConstructor
public class ScheduleCalculationService { public class ScheduleCalculator {
private final Config config; private final Config config;

View File

@ -13,7 +13,7 @@ public class ScheduleController {
private final ScheduleReader scheduleReader; private final ScheduleReader scheduleReader;
private final ScheduleWriteService scheduleWriteService; private final ScheduleWriter scheduleWriter;
private final PropertyReader propertyReader; private final PropertyReader propertyReader;
@ -29,22 +29,22 @@ public class ScheduleController {
@GetMapping("create") @GetMapping("create")
public ScheduleDto create() { public ScheduleDto create() {
return scheduleWriteService.create(); return scheduleWriter.create();
} }
@GetMapping("delete/{id}") @GetMapping("delete/{id}")
public void delete(@PathVariable final long id) { public void delete(@PathVariable final long id) {
scheduleWriteService.delete(id); scheduleWriter.delete(id);
} }
@PostMapping("set/{id}/enabled") @PostMapping("set/{id}/enabled")
public ScheduleDto setEnabled(@PathVariable final long id, @RequestBody final boolean enabled) { public ScheduleDto setEnabled(@PathVariable final long id, @RequestBody final boolean enabled) {
return scheduleWriteService.set(id, Schedule::setEnabled, enabled); return scheduleWriter.set(id, Schedule::setEnabled, enabled);
} }
@PostMapping("set/{id}/title") @PostMapping("set/{id}/title")
public ScheduleDto setTitle(@PathVariable final long id, @RequestBody final String title) { public ScheduleDto setTitle(@PathVariable final long id, @RequestBody final String title) {
return scheduleWriteService.set(id, Schedule::setTitle, title); return scheduleWriter.set(id, Schedule::setTitle, title);
} }
} }

View File

@ -19,7 +19,7 @@ public class ScheduleExecutionService {
private final ScheduleReader scheduleReader; private final ScheduleReader scheduleReader;
private final ScheduleCalculationService scheduleCalculationService; private final ScheduleCalculator scheduleCalculator;
private final PropertyWriteService propertyWriteService; private final PropertyWriteService propertyWriteService;
@ -40,7 +40,7 @@ public class ScheduleExecutionService {
private void executeEntry(final Schedule schedule, final ScheduleEntry entry, final ZonedDateTime now) { private void executeEntry(final Schedule schedule, final ScheduleEntry entry, final ZonedDateTime now) {
log.info("Executing Schedule \"{}\" Entry {}", schedule.getTitle(), entry); log.info("Executing Schedule \"{}\" Entry {}", schedule.getTitle(), entry);
entry.setLastClearTimestamp(entry.getNextClearTimestamp()); entry.setLastClearTimestamp(entry.getNextClearTimestamp());
scheduleCalculationService.calculateSchedule(schedule, now); scheduleCalculator.calculateSchedule(schedule, now);
if (entry.getProperty() != null) { if (entry.getProperty() != null) {
log.debug("Schedule setting property: {} = {}", entry.getProperty().getTitle(), entry.getValue()); log.debug("Schedule setting property: {} = {}", entry.getProperty().getTitle(), entry.getValue());
propertyWriteService.writeToChannel(entry.getProperty(), entry.getValue()); propertyWriteService.writeToChannel(entry.getProperty(), entry.getValue());

View File

@ -2,6 +2,7 @@ package de.ph87.homeautomation.schedule;
import de.ph87.homeautomation.schedule.entry.ScheduleEntryDto; import de.ph87.homeautomation.schedule.entry.ScheduleEntryDto;
import de.ph87.homeautomation.schedule.entry.ScheduleEntryMapper; import de.ph87.homeautomation.schedule.entry.ScheduleEntryMapper;
import de.ph87.homeautomation.web.WebSocketService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -18,9 +19,17 @@ public class ScheduleMapper {
private final ScheduleEntryMapper scheduleEntryMapper; private final ScheduleEntryMapper scheduleEntryMapper;
private final WebSocketService webSocketService;
public ScheduleDto toDto(final Schedule schedule) { public ScheduleDto toDto(final Schedule schedule) {
final Set<ScheduleEntryDto> entries = schedule.getEntries().stream().map(scheduleEntryMapper::toDto).collect(Collectors.toSet()); final Set<ScheduleEntryDto> entries = schedule.getEntries().stream().map(scheduleEntryMapper::toDto).collect(Collectors.toSet());
return new ScheduleDto(schedule, entries); return new ScheduleDto(schedule, entries);
} }
public ScheduleDto publish(final Schedule schedule, final boolean existing) {
final ScheduleDto dto = toDto(schedule);
webSocketService.send(ScheduleDto.class, dto, existing);
return dto;
}
} }

View File

@ -1,6 +1,5 @@
package de.ph87.homeautomation.schedule; package de.ph87.homeautomation.schedule;
import de.ph87.homeautomation.web.WebSocketService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -13,31 +12,29 @@ import java.util.function.BiConsumer;
@Service @Service
@Transactional @Transactional
@RequiredArgsConstructor @RequiredArgsConstructor
public class ScheduleWriteService { public class ScheduleWriter {
public static final String NAME_PREFIX = "Neu "; public static final String NAME_PREFIX = "Neu ";
private final ScheduleReader scheduleReader; private final ScheduleReader scheduleReader;
private final ScheduleCalculationService scheduleCalculationService; private final ScheduleCalculator scheduleCalculator;
private final ScheduleMapper scheduleMapper; private final ScheduleMapper scheduleMapper;
private final ScheduleRepository scheduleRepository; private final ScheduleRepository scheduleRepository;
private final WebSocketService webSocketService;
public ScheduleDto create() { public ScheduleDto create() {
final Schedule entry = new Schedule(); final Schedule entry = new Schedule();
entry.setTitle(generateUnusedName()); entry.setTitle(generateUnusedName());
return publish(scheduleRepository.save(entry), true); return scheduleMapper.publish(scheduleRepository.save(entry), true);
} }
private String generateUnusedName() { private String generateUnusedName() {
int index = 0; int index = 0;
String name = null; String name = null;
while (name == null || scheduleRepository.existsByTitle(name)) { while (name == null || scheduleRepository.existsByTitle(name)) {
name = ScheduleWriteService.NAME_PREFIX + ++index; name = ScheduleWriter.NAME_PREFIX + ++index;
} }
return name; return name;
} }
@ -45,20 +42,14 @@ public class ScheduleWriteService {
public <T> ScheduleDto set(final long id, final BiConsumer<Schedule, T> setter, final T value) { public <T> ScheduleDto set(final long id, final BiConsumer<Schedule, T> setter, final T value) {
final Schedule schedule = scheduleReader.getById(id); final Schedule schedule = scheduleReader.getById(id);
setter.accept(schedule, value); setter.accept(schedule, value);
scheduleCalculationService.calculateSchedule(schedule, ZonedDateTime.now()); scheduleCalculator.calculateSchedule(schedule, ZonedDateTime.now());
return publish(schedule, true); return scheduleMapper.publish(schedule, true);
} }
public void delete(final long id) { public void delete(final long id) {
final Schedule schedule = scheduleReader.getById(id); final Schedule schedule = scheduleReader.getById(id);
scheduleRepository.delete(schedule); scheduleRepository.delete(schedule);
publish(schedule, false); scheduleMapper.publish(schedule, false);
}
private ScheduleDto publish(final Schedule schedule, final boolean existing) {
final ScheduleDto dto = scheduleMapper.toDto(schedule);
webSocketService.send(ScheduleDto.class, dto, existing);
return dto;
} }
} }

View File

@ -1,7 +1,7 @@
package de.ph87.homeautomation.schedule.entry; package de.ph87.homeautomation.schedule.entry;
import de.ph87.homeautomation.schedule.Schedule; import de.ph87.homeautomation.schedule.Schedule;
import de.ph87.homeautomation.schedule.ScheduleCalculationService; import de.ph87.homeautomation.schedule.ScheduleCalculator;
import de.ph87.homeautomation.schedule.ScheduleReader; import de.ph87.homeautomation.schedule.ScheduleReader;
import de.ph87.homeautomation.web.WebSocketService; import de.ph87.homeautomation.web.WebSocketService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -23,7 +23,7 @@ public class ScheduleEntryWriteService {
private final ScheduleReader scheduleReader; private final ScheduleReader scheduleReader;
private final ScheduleCalculationService scheduleCalculationService; private final ScheduleCalculator scheduleCalculationService;
private final ScheduleEntryMapper scheduleEntryMapper; private final ScheduleEntryMapper scheduleEntryMapper;