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 KnxGroupWriteService knxGroupWriteService; private final KnxGroupReadService knxGroupReadService; @Override public void requestUpdate(final Channel channel) { knxGroupWriteService.requestRead((KnxGroup) channel); } @Override public void write(final Channel channel, final double value) { knxGroupWriteService.requestWrite((KnxGroup) channel, value); } @Override public KnxGroupDto toDto(final Channel channel) { return new KnxGroupDto((KnxGroup) channel); } @Override public List findAllDto() { return knxGroupReadService.findAll().stream().map(this::toDto).toList(); } @Override public List findAllDtoLikeIgnoreCase(final String like) { return knxGroupReadService.findAllLike(like).stream().map(this::toDto).toList(); } }