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.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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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;
|
||||||
@ -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;
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user