48 lines
1.3 KiB
Java
48 lines
1.3 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 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<KnxGroupDto> findAllDto() {
|
|
return knxGroupReadService.findAll().stream().map(this::toDto).toList();
|
|
}
|
|
|
|
@Override
|
|
public List<KnxGroupDto> findAllDtoLikeIgnoreCase(final String like) {
|
|
return knxGroupReadService.findAllLike(like).stream().map(this::toDto).toList();
|
|
}
|
|
|
|
}
|