-
Notifications
You must be signed in to change notification settings - Fork 899
/
ReportQuery.groovy
94 lines (88 loc) · 2.75 KB
/
ReportQuery.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*
* Copyright 2010 DTO Labs, Inc. (http://dtolabs.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* ReportQuery.java
*
* User: greg
* Created: Jan 2, 2008 2:25:41 PM
* $Id$
*/
/**
* Used as a command object for the reports action, for date conversion from g:datePicker in gsp page
*/
class ReportQuery extends BaseQuery{
Date startafterFilter
Date startbeforeFilter
Date endafterFilter
Date endbeforeFilter
boolean dostartafterFilter
boolean dostartbeforeFilter
boolean doendafterFilter
boolean doendbeforeFilter
String recentFilter
String jobFilter
String jobIdFilter
String nodeFilter
String titleFilter
String projFilter
String cmdFilter
String objFilter
String maprefUriFilter
String typeFilter
String userFilter
String messageFilter
String statFilter
String reportIdFilter
String tagsFilter
String abortedByFilter
public void configureFilter(){
if(recentFilter){
Calendar n = GregorianCalendar.getInstance()
def matcher = recentFilter =~ /^(\d+)([hdwmy])$/
if(matcher.matches()){
def i = matcher.group(1).toInteger()
def ndx
switch(matcher.group(2)){
case 'h':
ndx=Calendar.HOUR_OF_DAY
break
case 'd':
ndx=Calendar.DAY_OF_YEAR
break
case 'w':
ndx=Calendar.WEEK_OF_YEAR
break
case 'm':
ndx=Calendar.MONTH
break
case 'y':
ndx=Calendar.YEAR
break
}
n.add(ndx,-1 * i)
doendafterFilter=true
endafterFilter=n.getTime()
doendbeforeFilter=false
dostartafterFilter=false
dostartbeforeFilter=false
}else{
if(!doendbeforeFilter && !dostartafterFilter && !dostartbeforeFilter && !doendafterFilter){
recentFilter=null
}
}
}
}
}