1 package org.apache.maven.continuum.web.validator;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.opensymphony.xwork2.validator.ValidationException;
23 import com.opensymphony.xwork2.validator.ValidatorContext;
24 import com.opensymphony.xwork2.validator.validators.ValidatorSupport;
25
26
27
28
29 public class CronExpressionValidator
30 extends ValidatorSupport
31 {
32
33 public void validate( Object object )
34 throws ValidationException
35 {
36 String second = (String) getFieldValue( "second", object );
37 String minute = (String) getFieldValue( "minute", object );
38 String hour = (String) getFieldValue( "hour", object );
39 String dayOfMonth = (String) getFieldValue( "dayOfMonth", object );
40 String month = (String) getFieldValue( "month", object );
41 String dayOfWeek = (String) getFieldValue( "dayOfWeek", object );
42 String year = (String) getFieldValue( "year", object );
43
44 String cronExpression =
45 ( second + " " + minute + " " + hour + " " + dayOfMonth + " " + month + " " + dayOfWeek + " " +
46 year ).trim();
47
48 org.codehaus.plexus.scheduler.CronExpressionValidator validator =
49 new org.codehaus.plexus.scheduler.CronExpressionValidator();
50
51 ValidatorContext ctxt = getValidatorContext();
52
53 if ( !validator.validate( cronExpression ) )
54 {
55
56 ctxt.addActionError( "Invalid cron expression value(s)" );
57 }
58 }
59
60 }