package de.ph87.homeautomation.knx.group; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import tuwien.auto.calimero.GroupAddress; import java.util.List; import java.util.Optional; @Slf4j @Service @Transactional @RequiredArgsConstructor public class KnxGroupReader { private final KnxGroupRepository knxGroupRepository; public Optional getByAddress(final int main, final int mid, final int sub) { return knxGroupRepository.findByAddressRaw(new GroupAddress(main, mid, sub).getRawAddress()); } public List findAll() { return knxGroupRepository.findAll(); } public List findAllLike(final String term) { return knxGroupRepository.findAllByNameContainsIgnoreCaseOrAddressStrContainsIgnoreCase(term, term); } public KnxGroup getById(final long id) { return knxGroupRepository.findById(id).orElseThrow(RuntimeException::new); } }