Project

General

Profile

1
package eu.dnetlib.validator.service.impls;
2

    
3
import java.util.List;
4

    
5
import org.apache.log4j.Logger;
6
import org.springframework.transaction.annotation.Propagation;
7
import org.springframework.transaction.annotation.Transactional;
8

    
9
import eu.dnetlib.domain.functionality.validator.StoredJob;
10
import eu.dnetlib.validator.commons.dao.jobs.JobsDAO;
11
import eu.dnetlib.validator.service.impl.ValidatorManager;
12

    
13
@Transactional(propagation = Propagation.REQUIRED)
14
public class ValidatorRestore {
15
	
16
	private JobsDAO jobsDao;
17
	
18
	private ValidatorManager valManager;
19
	
20
	private static Logger logger = Logger.getLogger(ValidatorRestore.class);
21
	
22
	public List<StoredJob> deleteUncompleted() {
23
		logger.debug("Checking for uncompleted jobs");
24
		List<StoredJob> unCompletedJobs = jobsDao.getUncompletedJobs();
25
		logger.debug("Uncompleted jobs found: "+unCompletedJobs.size());
26
		if(unCompletedJobs.size()>0)
27
			jobsDao.deleteUncompletedJobs();
28
		return unCompletedJobs;
29
	}
30
	
31
	/*
32
	public void restore( List<StoredJob> unCompletedJobs) {
33
			Properties pros = null;
34
			List<String> unCompletedRegJobs = new ArrayList<String>();
35
			for (StoredJob job : unCompletedJobs) {
36
				logger.debug("Restarting job: "+job.getId());
37
				try {
38
					if (job.getJobType().equalsIgnoreCase("Compatibility Test")) {
39
						logger.debug("restoring compatibility test job");
40
						if(job.getValidationType().equals("OAI Content")) {
41
							pros = new Properties();
42
							pros.setProperty(OAIPMHRecordProvider.BASEURL, job.getRepo());
43
							pros.setProperty(OAIPMHRecordProvider.METADATA_PREFIX, job.getMetadata_prefix());
44
							pros.setProperty(OAIPMHRecordProvider.RECORDS, job.getRecords());
45
							pros.setProperty(OAIPMHRecordProvider.SET, job.getSet());
46
							pros.setProperty("guidelines", job.getGuidelines());
47
							valManager.submitContentJob(pros, job.getRules(), job.getUser(), job. getGroupBy_xpath(), null);
48
						} else if (job.getValidationType().equals("OAI Usage")) {
49
							pros = new Properties();
50
							pros.setProperty(OAIPMHSinglePageVerbProvider.BASEURL, job.getRepo());
51
							pros.setProperty("guidelines", job.getGuidelines());
52
							valManager.submitUsageJob(pros, job.getRules(), job.getUser(), null);
53
						}						
54
					} else if (job.getJobType().equalsIgnoreCase("Registration Request")) {
55
						logger.debug("restoring registration request job");
56
						String activationId = job.getActivation_id();
57
						if (unCompletedRegJobs.contains(activationId)) {
58
							logger.debug("registration job already restored");
59
						} else {
60
							jobSubmittedDao.deleteSemiCompletedRegistrationJobs(activationId);							
61
							unCompletedRegJobs.add(activationId);
62
							JobForRegistration jobForReg = jobSubmittedDao.getJobForRegistration(activationId);
63
							if (jobForReg != null) {
64
								 valManager.preRegistrationValidations(jobForReg);
65
							} else {
66
								logger.debug("Activation-Id is wrong or Repository is already registered.");
67
							}
68
							
69
						}
70
						
71
					}
72

    
73
						
74
				} catch (ValidatorException e) {
75
					logger.error("Error adding job", e);
76
				}
77
				
78
			}
79
		}
80
*/
81
	
82
	public ValidatorManager getValManager() {
83
		return valManager;
84
	}
85

    
86
	public void setValManager(ValidatorManager valManager) {
87
		this.valManager = valManager;
88
	}
89

    
90
	public JobsDAO getJobsDao() {
91
		return jobsDao;
92
	}
93

    
94
	public void setJobsDao(JobsDAO jobsDao) {
95
		this.jobsDao = jobsDao;
96
	}
97

    
98
	
99
}
(2-2/2)