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
|
}
|