annotate ssdt-jira-plugins-v2/plugins/src/main/java/org/nwoca/ssdt/jira/RequireTimeSpentValidator.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
children
rev   line source
2
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
1 /*
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
2 * RequireDocumentIssueValidator.java
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
3 *
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
4 * Created on May 14, 2007, 1:04 PM
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
5 *
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
6 * To change this template, choose Tools | Template Manager
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
7 * and open the template in the editor.
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
8 */
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
9 package org.nwoca.ssdt.jira;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
10
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
11 import com.atlassian.jira.issue.Issue;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
12 import com.atlassian.jira.issue.IssueUtils;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
13 import com.opensymphony.module.propertyset.PropertySet;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
14 import com.opensymphony.workflow.InvalidInputException;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
15 import com.opensymphony.workflow.Validator;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
16 import com.opensymphony.workflow.WorkflowException;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
17 import java.util.Map;
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
18
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
19 /**
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
20 * Requires zero time remaining if the issue has Time Tracking. Can use
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
21 * during resolve step.
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
22 *
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
23 * @author SMITH
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
24 */
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
25 public class RequireTimeSpentValidator implements Validator {
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
26
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
27 /**
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
28 * Creates a new instance of RequireDocumentIssueValidator.
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
29 */
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
30 public RequireTimeSpentValidator() {
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
31 }
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
32
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
33 public void validate(Map transientVars, Map args, PropertySet ps)
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
34 throws InvalidInputException, WorkflowException {
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
35
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
36 Issue issue = (Issue) transientVars.get("issue");
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
37
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
38 if (IssueUtils.hasTimeTracking(issue) && (issue.getTimeSpent() == null || issue.getTimeSpent().longValue() == 0)) {
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
39 throw new InvalidInputException("There is has been no Time Spent on this issue. Please update work log.");
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
40 }
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
41
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
42 }
4ca1ef5be75e Added validators for Time tracking. New validator to require Time
smith
parents:
diff changeset
43 }