Mercurial > public > JIRA
annotate ssdt-jira-plugins-v2/plugins/src/main/java/org/nwoca/ssdt/jira/RequireEstimateValidator.java @ 3:e90b3c5c8df3 tip
Improve validator if work has already been logged.
author | smith |
---|---|
date | Fri, 20 Jun 2008 12:23:06 -0400 |
parents | 56349dc044f5 |
children |
rev | line source |
---|---|
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
1 /* |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
2 * RequireDocumentIssueValidator.java |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
3 * |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
4 * Created on May 14, 2007, 1:04 PM |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
5 * |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
6 * To change this template, choose Tools | Template Manager |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
7 * and open the template in the editor. |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
8 */ |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
9 package org.nwoca.ssdt.jira; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
10 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
11 import com.atlassian.jira.issue.Issue; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
12 import com.opensymphony.module.propertyset.PropertySet; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
13 import com.opensymphony.workflow.InvalidInputException; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
14 import com.opensymphony.workflow.Validator; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
15 import com.opensymphony.workflow.WorkflowException; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
16 import java.util.Map; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
17 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
18 /** |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
19 * Validator blocks Fixed resolution. Use for Workflow steps where "fixed" is |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
20 *not appropriate. |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
21 * |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
22 * @author SMITH |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
23 */ |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
24 public class RequireEstimateValidator implements Validator { |
3 | 25 |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
26 /** |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
27 * Creates a new instance of RequireDocumentIssueValidator. |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
28 */ |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
29 public RequireEstimateValidator() { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
30 } |
3 | 31 |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
32 public void validate(Map transientVars, Map args, PropertySet ps) |
3 | 33 throws InvalidInputException, WorkflowException { |
34 | |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
35 Issue issue = (Issue) transientVars.get("issue"); |
3 | 36 |
37 if (isZero(issue.getTimeSpent())) { | |
38 if (isZero(issue.getOriginalEstimate())) { | |
39 throw new InvalidInputException("Original Estimate is required at this step"); | |
40 } | |
41 } else if (isZero(issue.getEstimate())) { | |
42 throw new InvalidInputException("Remaining Estimate is required at this step"); | |
43 | |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
44 } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
45 } |
3 | 46 |
47 private boolean isZero(Long value) { | |
48 return value == null || value.longValue() == 0; | |
49 } | |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
50 } |