Project

General

Profile

1
package eu.dnetlib.repo.manager.service.controllers;
2

    
3
import eu.dnetlib.api.functionality.ValidatorService;
4
import eu.dnetlib.api.functionality.ValidatorServiceException;
5
import eu.dnetlib.domain.functionality.validator.StoredJob;
6
import gr.uoa.di.driver.util.ServiceLocator;
7
import org.json.JSONException;
8
import org.json.JSONObject;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Component;
11
import java.util.List;
12

    
13
@Component
14
public class MonitorApiImpl implements MonitorApi {
15

    
16
    @Autowired
17
    private ServiceLocator<ValidatorService> validatorServiceLocator;
18

    
19
    private ValidatorService getValidationService() {
20
        return this.validatorServiceLocator.getService();
21
    }
22

    
23
    public ServiceLocator<ValidatorService> getValidatorServiceLocator() {
24
        return validatorServiceLocator;
25
    }
26

    
27
    public void setValidatorServiceLocator(ServiceLocator<ValidatorService> validatorServiceLocator) {
28
        this.validatorServiceLocator = validatorServiceLocator;
29
    }
30

    
31
    @Override
32
    public List<StoredJob> getJobsOfUser(String params) throws JSONException {
33
        JSONObject json_params = new JSONObject(params);
34

    
35
        String user = json_params.getString("user");
36
        String jobType = json_params.getString("jobType");
37
        Integer offset = Integer.parseInt(json_params.getString("offset"));
38
        Integer limit = Integer.parseInt(json_params.getString("limit"));
39
        String dateFrom = json_params.getString("dateFrom");
40
        String dateTo = json_params.getString("dateTo");
41
        String validationStatus = json_params.getString("validationStatus");
42

    
43
        List<StoredJob> jobs = null;
44
        try {
45
            jobs = getValidationService().
46
                    getStoredJobsNew(user, jobType, offset, limit, dateFrom, dateTo, validationStatus);
47
        } catch (ValidatorServiceException e) {
48
            e.printStackTrace();
49
        }
50
        return jobs;
51

    
52
    }
53

    
54
    @Override
55
    public int getJobsOfUserPerValidationStatus(String params) throws JSONException {
56
        JSONObject json_params = new JSONObject(params);
57

    
58
        String user = json_params.getString("user");
59
        String jobType = json_params.getString("jobType");
60
        String validationStatus = json_params.getString("validationStatus");
61
        try {
62
            return getValidationService().getStoredJobsTotalNumberNew(user, jobType, validationStatus);
63
        } catch (ValidatorServiceException e) {
64
            e.printStackTrace();
65
        }
66
        return 0;
67
    }
68

    
69
    @Override
70
    public StoredJob getJobSummary(String params) throws JSONException {
71
        JSONObject json_params = new JSONObject(params);
72

    
73
        String jobId = json_params.getString("jobId");
74
        String groupBy = json_params.getString("groupBy");
75

    
76
        try {
77
            return getValidationService().getStoredJob(Integer.parseInt(jobId), groupBy);
78
        } catch (ValidatorServiceException e) {
79
            e.printStackTrace();
80
        }
81
        return null;
82
    }
83

    
84
}
(6-6/11)