55 lines
1.4 KiB
Java
55 lines
1.4 KiB
Java
package de.ph87.homeautomation.knx.group;
|
|
|
|
import de.ph87.homeautomation.channel.Channel;
|
|
import de.ph87.homeautomation.channel.IChannelOwner;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.util.List;
|
|
|
|
@Slf4j
|
|
@Service
|
|
@Transactional
|
|
@RequiredArgsConstructor
|
|
public class KnxGroupChannelOwnerService implements IChannelOwner {
|
|
|
|
private final KnxGroupWriter knxGroupWriter;
|
|
|
|
private final KnxGroupReader knxGroupReader;
|
|
|
|
private final KnxGroupMapper knxGroupMapper;
|
|
|
|
@Override
|
|
public void requestUpdate(final Channel channel) {
|
|
knxGroupWriter.requestRead((KnxGroup) channel);
|
|
}
|
|
|
|
@Override
|
|
public Double read(final long id) {
|
|
return knxGroupReader.getById(id).getValue();
|
|
}
|
|
|
|
@Override
|
|
public void write(final long id, final double value) {
|
|
knxGroupWriter.requestWrite(knxGroupReader.getById(id), value);
|
|
}
|
|
|
|
@Override
|
|
public KnxGroupDto toDto(final long id) {
|
|
return knxGroupMapper.toDto(knxGroupReader.getById(id));
|
|
}
|
|
|
|
@Override
|
|
public List<KnxGroupDto> findAllDto() {
|
|
return knxGroupReader.findAll().stream().map(knxGroupMapper::toDto).toList();
|
|
}
|
|
|
|
@Override
|
|
public List<KnxGroupDto> findAllDtoLikeIgnoreCase(final String term) {
|
|
return knxGroupReader.search(term);
|
|
}
|
|
|
|
}
|