Project

General

Profile

1
package eu.dnetlib.openaire.exporter.project;
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	Pattern patternFundingStream = Pattern.compile("(\\w*(::|%| )*)*");
11

    
12
	private Pattern patternDate = Pattern.compile("\\d\\d\\d\\d-\\d\\d-\\d\\d");
13

    
14
	private String fundingProgramme = null;
15
	/** Whatever is following the fundingProgramme **/
16
	private String fundingPath = null;
17

    
18
	private String startFrom = null;
19
	private String startUntil = null;
20
	private String endFrom = null;
21
	private String endUntil = null;
22

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

    
25
	public String getFundingProgramme() {
26
		return fundingProgramme;
27
	}
28

    
29
	public void setFundingProgramme(final String fundingProgramme) {
30
		this.fundingProgramme = verifyParam(fundingProgramme);
31
	}
32

    
33
	public String getFundingPath() {
34
		return fundingPath;
35
	}
36

    
37
	public void setFundingPath(final String fundingPath) {
38
		this.fundingPath = verifyParam(fundingPath);
39
	}
40

    
41
	public String getStartFrom() {
42
		return startFrom;
43
	}
44

    
45
	public void setStartFrom(final String startFrom) {
46
		this.startFrom = verifyDateParam(startFrom);
47
	}
48

    
49
	public String getStartUntil() {
50
		return startUntil;
51
	}
52

    
53
	public void setStartUntil(final String startUntil) {
54
		this.startUntil = verifyDateParam(startUntil);
55
	}
56

    
57
	public String getEndFrom() {
58
		return endFrom;
59
	}
60

    
61
	public void setEndFrom(final String endFrom) {
62
		this.endFrom = verifyDateParam(endFrom);
63
	}
64

    
65
	public String getEndUntil() {
66
		return endUntil;
67
	}
68

    
69
	public void setEndUntil(final String endUntil) {
70
		this.endUntil = verifyDateParam(endUntil);
71
	}
72

    
73
	protected String verifyParam(final String p) {
74
		if ((p != null) && !patternFundingStream.matcher(p).matches()) {
75
			throw new IllegalArgumentException(String.format("Parameter '%s' contains an invalid character", p));
76
		}
77
		return p;
78
	}
79

    
80
	protected String verifyDateParam(final String date) {
81
		if ((date != null) && !patternDate.matcher(date).matches()) {
82
			throw new IllegalArgumentException(String.format("Parameter date '%s' contains an invalid character. Accepted pattern is %s", date, patternDate.toString()));
83
		}
84
		return date;
85
	}
86
}
(2-2/5)