Project

General

Profile

1
package eu.dnetlib.uoaadmintools.services;
2

    
3

    
4
import eu.dnetlib.uoaadmintools.dao.CuratorDAO;
5
import eu.dnetlib.uoaadmintools.entities.Manager;
6
import eu.dnetlib.uoaadmintools.entities.curator.Curator;
7
import eu.dnetlib.uoaadmintools.entities.curator.CuratorResponse;
8
import org.apache.log4j.Logger;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Service;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14

    
15
@Service
16
public class CuratorService {
17

    
18
    private final Logger log = Logger.getLogger(this.getClass());
19

    
20
    @Autowired
21
    private CuratorDAO curatorDAO;
22

    
23
    @Autowired
24
    private ManagerService managerService;
25

    
26

    
27
    public List<CuratorResponse> getCurators(String pid) {
28
        List<CuratorResponse> curators = new ArrayList<>();
29
        for (Manager manager : managerService.getManagers(pid, ManagerService.Type.ID)) {
30
            Curator curator = curatorDAO.findById(parseId(manager.getId()));
31
            if (curator != null) {
32
                curators.add(new CuratorResponse(curator));
33
            }
34
        }
35
        return curators;
36
    }
37

    
38
    public Curator findById(String id) {
39
        return curatorDAO.findById(id);
40
    }
41

    
42
    public Curator save(Curator curator) {
43
        return curatorDAO.save(curator);
44
    }
45

    
46
    public void deleteCurators(String pid) {
47
        for (Manager manager : managerService.getManagers(pid, ManagerService.Type.ID)) {
48
            Curator curator = curatorDAO.findById(parseId(manager.getId()));
49
            if (curator != null) {
50
                curatorDAO.delete(curator.getId());
51
            }
52
        }
53
    }
54

    
55
    private String parseId(String id) {
56
        return id.substring(0 , id.indexOf("@"));
57
    }
58

    
59
}
(1-1/7)