package eu.dnetlib.uoamonitorservice.service; import eu.dnetlib.uoamonitorservice.dao.IndicatorDAO; import eu.dnetlib.uoamonitorservice.entities.Indicator; import eu.dnetlib.uoamonitorservice.handlers.EntityNotFoundException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class IndicatorService { private final IndicatorDAO dao; private final CommonService commonService; @Autowired public IndicatorService(IndicatorDAO dao, CommonService commonService) { this.dao = dao; this.commonService = commonService; } public Indicator save(Indicator indicator) { return this.dao.save(indicator); } public Indicator find(String id) { return dao.findById(id).orElseThrow(() -> new EntityNotFoundException("Indicator with id: " + id + " not found")); } public Indicator getIndicator(String type, String alias, String id) { Indicator indicator = this.find(id); if(this.commonService.hasVisibilityAuthority(type, alias, indicator)) { return indicator; } else { return null; } } }