Project

General

Profile

1
package eu.dnetlib.openaire.exporter;
2

    
3
import java.util.regex.Pattern;
4

    
5
import org.apache.commons.logging.Log;
6
import org.apache.commons.logging.LogFactory;
7

    
8
public class ProjectQueryParams {
9

    
10
	private String fundingProgramme = null;
11
	/** Whatever is following the fundingProgramme **/
12
	private String fundingPath = null;
13

    
14
	private String startFrom = null;
15
	private String startUntil = null;
16
	private String endFrom = null;
17
	private String endUntil = null;
18

    
19
	private static final Log log = LogFactory.getLog(ProjectQueryParams.class); // NOPMD by marko on 11/24/08 5:02 PM
20

    
21
	public String getFundingProgramme() {
22
		return fundingProgramme;
23
	}
24

    
25
	public void setFundingProgramme(final String fundingProgramme) {
26
		this.fundingProgramme = verifyParam(fundingProgramme);
27
	}
28

    
29
	public String getFundingPath() {
30
		return fundingPath;
31
	}
32

    
33
	public void setFundingPath(final String fundingPath) {
34
		this.fundingPath = verifyParam(fundingPath);
35
	}
36

    
37
	public String getStartFrom() {
38
		return startFrom;
39
	}
40

    
41
	public void setStartFrom(final String startFrom) {
42
		this.startFrom = verifyDateParam(startFrom);
43
	}
44

    
45
	public String getStartUntil() {
46
		return startUntil;
47
	}
48

    
49
	public void setStartUntil(final String startUntil) {
50
		this.startUntil = verifyDateParam(startUntil);
51
	}
52

    
53
	public String getEndFrom() {
54
		return endFrom;
55
	}
56

    
57
	public void setEndFrom(final String endFrom) {
58
		this.endFrom = verifyDateParam(endFrom);
59
	}
60

    
61
	public String getEndUntil() {
62
		return endUntil;
63
	}
64

    
65
	public void setEndUntil(final String endUntil) {
66
		this.endUntil = verifyDateParam(endUntil);
67
	}
68

    
69
	protected String verifyParam(final String p) {
70
		Pattern pattern = Pattern.compile("(\\w*(::|%| )*)*");
71
		log.debug("TESTING SQL PARAM: " + p);
72
		if ((p != null) && !pattern.matcher(p).matches()) throw new IllegalArgumentException("Parameter contains an invalid character");
73
		log.debug("TEST OK");
74
		return p;
75
	}
76

    
77
	protected String verifyDateParam(final String date){
78
		Pattern pattern = Pattern.compile("\\d\\d\\d\\d-\\d\\d-\\d\\d");
79
		log.debug("TESTING SQL DATE PARAM: " + date);
80
		if ((date != null) && !pattern.matcher(date).matches()) throw new IllegalArgumentException("Parameter date contains an invalid character. Accepted pattern is "+pattern.toString());
81
		log.debug("TEST OK");
82
		return date;
83

    
84
	}
85
}
(2-2/5)