37 lines
1.0 KiB
Java
37 lines
1.0 KiB
Java
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<KnxGroup> getByAddress(final int main, final int mid, final int sub) {
|
|
return knxGroupRepository.findByAddressRaw(new GroupAddress(main, mid, sub).getRawAddress());
|
|
}
|
|
|
|
public List<KnxGroup> findAll() {
|
|
return knxGroupRepository.findAll();
|
|
}
|
|
|
|
public List<KnxGroup> findAllLike(final String term) {
|
|
return knxGroupRepository.findAllByNameContainsIgnoreCaseOrAddressStrContainsIgnoreCase(term, term);
|
|
}
|
|
|
|
public KnxGroup getById(final long id) {
|
|
return knxGroupRepository.findById(id).orElseThrow(RuntimeException::new);
|
|
}
|
|
|
|
}
|