code clean
This commit is contained in:
parent
e5a2b36ac2
commit
2dbb1bc42f
@ -3,7 +3,7 @@ package de.ph87.homeautomation.device;
|
||||
import de.ph87.homeautomation.device.devices.*;
|
||||
import de.ph87.homeautomation.property.Property;
|
||||
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.WebSocketService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -140,7 +140,7 @@ public class DeviceWriteService {
|
||||
int index = 0;
|
||||
String title = null;
|
||||
while (title == null || deviceRepository.existsByTitle(title)) {
|
||||
title = ScheduleWriteService.NAME_PREFIX + ++index;
|
||||
title = ScheduleWriter.NAME_PREFIX + ++index;
|
||||
}
|
||||
return title;
|
||||
}
|
||||
|
||||
@ -3,8 +3,8 @@ package de.ph87.homeautomation.knx;
|
||||
import de.ph87.homeautomation.knx.group.KnxGroupLinkService;
|
||||
import de.ph87.homeautomation.knx.group.KnxGroupWriteService;
|
||||
import de.ph87.homeautomation.knx.group.KnxThreadWakeUpEvent;
|
||||
import de.ph87.homeautomation.knx.router.Router;
|
||||
import de.ph87.homeautomation.shared.AbstractThreadService;
|
||||
import de.ph87.network.router.Router;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
package de.ph87.network.router;
|
||||
package de.ph87.homeautomation.knx.router;
|
||||
|
||||
import java.net.Inet4Address;
|
||||
import java.net.UnknownHostException;
|
||||
@ -1,4 +1,4 @@
|
||||
package de.ph87.network.router;
|
||||
package de.ph87.homeautomation.knx.router;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.Inet4Address;
|
||||
@ -1,6 +1,6 @@
|
||||
package de.ph87.homeautomation.scene;
|
||||
|
||||
import de.ph87.homeautomation.schedule.ScheduleWriteService;
|
||||
import de.ph87.homeautomation.schedule.ScheduleWriter;
|
||||
import de.ph87.homeautomation.web.WebSocketService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -52,7 +52,7 @@ public class SceneWriteService {
|
||||
int index = 0;
|
||||
String title = null;
|
||||
while (title == null || sceneRepository.existsByTitle(title)) {
|
||||
title = ScheduleWriteService.NAME_PREFIX + ++index;
|
||||
title = ScheduleWriter.NAME_PREFIX + ++index;
|
||||
}
|
||||
return title;
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.Optional;
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class ScheduleCalculationService {
|
||||
public class ScheduleCalculator {
|
||||
|
||||
private final Config config;
|
||||
|
||||
@ -13,7 +13,7 @@ public class ScheduleController {
|
||||
|
||||
private final ScheduleReader scheduleReader;
|
||||
|
||||
private final ScheduleWriteService scheduleWriteService;
|
||||
private final ScheduleWriter scheduleWriter;
|
||||
|
||||
private final PropertyReader propertyReader;
|
||||
|
||||
@ -29,22 +29,22 @@ public class ScheduleController {
|
||||
|
||||
@GetMapping("create")
|
||||
public ScheduleDto create() {
|
||||
return scheduleWriteService.create();
|
||||
return scheduleWriter.create();
|
||||
}
|
||||
|
||||
@GetMapping("delete/{id}")
|
||||
public void delete(@PathVariable final long id) {
|
||||
scheduleWriteService.delete(id);
|
||||
scheduleWriter.delete(id);
|
||||
}
|
||||
|
||||
@PostMapping("set/{id}/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")
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -19,7 +19,7 @@ public class ScheduleExecutionService {
|
||||
|
||||
private final ScheduleReader scheduleReader;
|
||||
|
||||
private final ScheduleCalculationService scheduleCalculationService;
|
||||
private final ScheduleCalculator scheduleCalculator;
|
||||
|
||||
private final PropertyWriteService propertyWriteService;
|
||||
|
||||
@ -40,7 +40,7 @@ public class ScheduleExecutionService {
|
||||
private void executeEntry(final Schedule schedule, final ScheduleEntry entry, final ZonedDateTime now) {
|
||||
log.info("Executing Schedule \"{}\" Entry {}", schedule.getTitle(), entry);
|
||||
entry.setLastClearTimestamp(entry.getNextClearTimestamp());
|
||||
scheduleCalculationService.calculateSchedule(schedule, now);
|
||||
scheduleCalculator.calculateSchedule(schedule, now);
|
||||
if (entry.getProperty() != null) {
|
||||
log.debug("Schedule setting property: {} = {}", entry.getProperty().getTitle(), entry.getValue());
|
||||
propertyWriteService.writeToChannel(entry.getProperty(), entry.getValue());
|
||||
|
||||
@ -2,6 +2,7 @@ package de.ph87.homeautomation.schedule;
|
||||
|
||||
import de.ph87.homeautomation.schedule.entry.ScheduleEntryDto;
|
||||
import de.ph87.homeautomation.schedule.entry.ScheduleEntryMapper;
|
||||
import de.ph87.homeautomation.web.WebSocketService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -18,9 +19,17 @@ public class ScheduleMapper {
|
||||
|
||||
private final ScheduleEntryMapper scheduleEntryMapper;
|
||||
|
||||
private final WebSocketService webSocketService;
|
||||
|
||||
public ScheduleDto toDto(final Schedule schedule) {
|
||||
final Set<ScheduleEntryDto> entries = schedule.getEntries().stream().map(scheduleEntryMapper::toDto).collect(Collectors.toSet());
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package de.ph87.homeautomation.schedule;
|
||||
|
||||
import de.ph87.homeautomation.web.WebSocketService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -13,31 +12,29 @@ import java.util.function.BiConsumer;
|
||||
@Service
|
||||
@Transactional
|
||||
@RequiredArgsConstructor
|
||||
public class ScheduleWriteService {
|
||||
public class ScheduleWriter {
|
||||
|
||||
public static final String NAME_PREFIX = "Neu ";
|
||||
|
||||
private final ScheduleReader scheduleReader;
|
||||
|
||||
private final ScheduleCalculationService scheduleCalculationService;
|
||||
private final ScheduleCalculator scheduleCalculator;
|
||||
|
||||
private final ScheduleMapper scheduleMapper;
|
||||
|
||||
private final ScheduleRepository scheduleRepository;
|
||||
|
||||
private final WebSocketService webSocketService;
|
||||
|
||||
public ScheduleDto create() {
|
||||
final Schedule entry = new Schedule();
|
||||
entry.setTitle(generateUnusedName());
|
||||
return publish(scheduleRepository.save(entry), true);
|
||||
return scheduleMapper.publish(scheduleRepository.save(entry), true);
|
||||
}
|
||||
|
||||
private String generateUnusedName() {
|
||||
int index = 0;
|
||||
String name = null;
|
||||
while (name == null || scheduleRepository.existsByTitle(name)) {
|
||||
name = ScheduleWriteService.NAME_PREFIX + ++index;
|
||||
name = ScheduleWriter.NAME_PREFIX + ++index;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
@ -45,20 +42,14 @@ public class ScheduleWriteService {
|
||||
public <T> ScheduleDto set(final long id, final BiConsumer<Schedule, T> setter, final T value) {
|
||||
final Schedule schedule = scheduleReader.getById(id);
|
||||
setter.accept(schedule, value);
|
||||
scheduleCalculationService.calculateSchedule(schedule, ZonedDateTime.now());
|
||||
return publish(schedule, true);
|
||||
scheduleCalculator.calculateSchedule(schedule, ZonedDateTime.now());
|
||||
return scheduleMapper.publish(schedule, true);
|
||||
}
|
||||
|
||||
public void delete(final long id) {
|
||||
final Schedule schedule = scheduleReader.getById(id);
|
||||
scheduleRepository.delete(schedule);
|
||||
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;
|
||||
scheduleMapper.publish(schedule, false);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package de.ph87.homeautomation.schedule.entry;
|
||||
|
||||
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.web.WebSocketService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -23,7 +23,7 @@ public class ScheduleEntryWriteService {
|
||||
|
||||
private final ScheduleReader scheduleReader;
|
||||
|
||||
private final ScheduleCalculationService scheduleCalculationService;
|
||||
private final ScheduleCalculator scheduleCalculationService;
|
||||
|
||||
private final ScheduleEntryMapper scheduleEntryMapper;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user