Mercurial > public > JIRA
annotate ssdt-jira-plugins-v2/plugins/src/main/java/org/nwoca/ssdt/jira/RequireNoTimeRemainingValidator.java @ 2:4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
Spent.
author | smith |
---|---|
date | Fri, 23 May 2008 18:06:10 -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.atlassian.jira.issue.IssueUtils; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
13 import com.opensymphony.module.propertyset.PropertySet; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
14 import com.opensymphony.workflow.InvalidInputException; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
15 import com.opensymphony.workflow.Validator; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
16 import com.opensymphony.workflow.WorkflowException; |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
17 import java.util.Map; |
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 /** |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
20 * Requires zero time remaining if the issue has Time Tracking. Can use |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
21 * during resolve step. |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
22 * |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
23 * @author SMITH |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
24 */ |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
25 public class RequireNoTimeRemainingValidator implements Validator { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
26 |
2
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
27 // private final List<CustomField> cfs = new ArrayList<CustomField>(); |
1
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 /** |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
30 * Creates a new instance of RequireDocumentIssueValidator. |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
31 */ |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
32 public RequireNoTimeRemainingValidator() { |
2
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
33 // CustomFieldManager cfm = ManagerFactory.getCustomFieldManager(); |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
34 // for (Object obj : cfm.getCustomFieldObjects()) { |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
35 // CustomField cf = (CustomField) obj; |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
36 // if (!cf.getName().contains("Message")) { |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
37 // cfs.add(cf); |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
38 // System.out.println("Custom Field: " + cf.getName()); |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
39 // } |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
40 // |
4ca1ef5be75e
Added validators for Time tracking. New validator to require Time
smith
parents:
1
diff
changeset
|
41 // } |
1
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
42 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
43 } |
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 public void validate(Map transientVars, Map args, PropertySet ps) |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
46 throws InvalidInputException, WorkflowException { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
47 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
48 Issue issue = (Issue) transientVars.get("issue"); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
49 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
50 // System.out.println("Issue: " + issue.getKey()); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
51 // System.out.println(" OE: " + issue.getOriginalEstimate()); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
52 // System.out.println(" E: " + issue.getEstimate() + "/" +issue.getEstimate() ); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
53 // System.out.println(" TS: " + issue.getTimeSpent()); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
54 // System.out.println(" hasTimeTracking:" + IssueUtils.hasTimeTracking(issue)); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
55 // |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
56 // for (CustomField cf : cfs) { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
57 // System.out.println(" CF " + cf.getName() + ": " + issue.getCustomFieldValue(cf)); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
58 // } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
59 // |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
60 // { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
61 // Iterator it = transientVars.entrySet().iterator(); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
62 // System.out.println(" Transient: "); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
63 // while (it.hasNext()) { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
64 // Map.Entry e = (Map.Entry) it.next(); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
65 // System.out.println(" " + e.getKey() + ": " + e.getValue()); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
66 // } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
67 // } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
68 // |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
69 // { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
70 // Iterator it = args.entrySet().iterator(); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
71 // System.out.println(" Args: "); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
72 // while (it.hasNext()) { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
73 // Map.Entry e = (Map.Entry) it.next(); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
74 // System.out.println(" " + e.getKey() + ": " + e.getValue()); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
75 // } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
76 // } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
77 // |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
78 // |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
79 if (IssueUtils.hasTimeTracking(issue) && issue.getEstimate().longValue() != 0 ) { |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
80 throw new InvalidInputException("There is still Estimated Time Remaining on this issue."); |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
81 } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
82 |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
83 } |
56349dc044f5
Added validators for Time tracking. Validators: Require an estimate
smith
parents:
diff
changeset
|
84 } |