39 lines
1.2 KiB
Java
39 lines
1.2 KiB
Java
|
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;
|
||
|
}
|
||
|
}
|
||
|
}
|