Project

General

Profile

« Previous | Next » 

Revision 60554

[Admin Tools | Trunk]: Add get managers by Type. Get Curators base on AAI ID

View differences:

modules/uoa-admin-tools/trunk/src/main/java/eu/dnetlib/uoaadmintools/services/CuratorService.java
26 26

  
27 27
    public List<CuratorResponse> getCurators(String pid) {
28 28
        List<CuratorResponse> curators = new ArrayList<>();
29

  
30
        for (Manager manager : managerService.getManagers(pid)) {
31
            log.info(manager.getEmail());
32
            Curator curator = curatorDAO.findByEmail(manager.getEmail());
29
        for (Manager manager : managerService.getManagers(pid, ManagerService.Type.ID)) {
30
            Curator curator = curatorDAO.findById(parseId(manager.getId()));
33 31
            if (curator != null) {
34 32
                curators.add(new CuratorResponse(curator));
35 33
            }
......
46 44
    }
47 45

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

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

  
57 59
}
modules/uoa-admin-tools/trunk/src/main/java/eu/dnetlib/uoaadmintools/services/ManagerService.java
13 13
@Service
14 14
public class ManagerService {
15 15

  
16
    enum Type {
17
        EMAIL,
18
        ID
19
    }
20

  
16 21
    @Autowired
17 22
    private ManagersApiConfig config;
18 23

  
......
20 25
    private RestTemplate restTemplate;
21 26

  
22 27
    public Manager[] getManagers(String pid) {
23
        ResponseEntity<Response> responseEntity = restTemplate.getForEntity(config.getEmail().replace("{community}", pid), Response.class);
28
        return getManagers(pid, Type.EMAIL);
29
    }
30

  
31
    public Manager[] getManagers(String pid, Type type) {
32
        String url = (type == Type.EMAIL)?config.getEmail():config.getId();
33
        ResponseEntity<Response> responseEntity = restTemplate.getForEntity(url.replace("{community}", pid), Response.class);
24 34
        Response response = responseEntity.getBody();
25 35
        if (response != null && responseEntity.getStatusCode() == HttpStatus.OK) {
26 36
            return response.getResponse();

Also available in: Unified diff