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 eu.dnetlib.repo.manager.service.shared.JobsOfUser;
7
import eu.dnetlib.repo.manager.service.shared.Constants;
8
import gr.uoa.di.driver.util.ServiceLocator;
9
import org.apache.log4j.Logger;
10
import org.json.JSONException;
11
import org.springframework.stereotype.Component;
12
import javax.annotation.Resource;
13

    
14
@Component
15
public class MonitorApiImpl implements MonitorApi {
16

    
17
    @Resource(name = "validatorServiceLocator")
18
    private ServiceLocator<ValidatorService> validatorServiceLocator;
19

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

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

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

    
32

    
33
    private static final Logger LOGGER = Logger
34
            .getLogger(MonitorApiImpl.class);
35

    
36
    @Override
37
    public JobsOfUser getJobsOfUser(String user,
38
                                         String jobType,
39
                                         String offset,
40
                                         String limit,
41
                                         String dateFrom,
42
                                         String dateTo,
43
                                         String validationStatus,
44
                                         String includeJobsTotal) throws JSONException, ValidatorServiceException {
45

    
46
        if (jobType.equals(""))
47
            jobType = null;
48
        if(dateFrom.equals(""))
49
            dateFrom = null;
50
        if(dateTo.equals(""))
51
            dateTo = null;
52
        if(validationStatus.equals(""))
53
            validationStatus = null;
54

    
55

    
56
        JobsOfUser retJobs = new JobsOfUser();
57
        retJobs.setJobs(getValidationService().getStoredJobsNew(user, jobType, Integer.parseInt(offset),
58
                Integer.parseInt(limit), dateFrom, dateTo, validationStatus));
59
        if (Boolean.parseBoolean(includeJobsTotal)) {
60
            retJobs.setTotalJobs(this.getJobsTotalNumberOfUser(user, jobType, null));
61
            retJobs.setTotalJobsSuccessful(this.getJobsTotalNumberOfUser(user, jobType, Constants.VALIDATION_JOB_STATUS_SUCCESSFUL));
62
            retJobs.setTotalJobsFailed(this.getJobsTotalNumberOfUser(user, jobType, Constants.VALIDATION_JOB_STATUS_FAILED));
63
            retJobs.setTotalJobsOngoing(this.getJobsTotalNumberOfUser(user, jobType,Constants.VALIDATION_JOB_STATUS_ONGOING));
64
        }
65
        return retJobs;
66

    
67
    }
68

    
69
    private int getJobsTotalNumberOfUser(String user, String jobType, String validationStatus) throws ValidatorServiceException {
70
        return  getValidationService().getStoredJobsTotalNumberNew(user, jobType, validationStatus);
71
    }
72

    
73
    @Override
74
    public int getJobsOfUserPerValidationStatus(String user,
75
                                                String jobType,
76
                                                String validationStatus) throws JSONException {
77

    
78
        try {
79
            return getValidationService().getStoredJobsTotalNumberNew(user, jobType, validationStatus);
80
        } catch (ValidatorServiceException e) {
81
            e.printStackTrace();
82
        }
83
        return 0;
84
    }
85

    
86
    @Override
87
    public StoredJob getJobSummary(String jobId,
88
                                   String groupBy) throws JSONException {
89

    
90
        try {
91
            return getValidationService().getStoredJob(Integer.parseInt(jobId), groupBy);
92
        } catch (ValidatorServiceException e) {
93
            e.printStackTrace();
94
        }
95
        return null;
96
    }
97

    
98
}
(4-4/8)