View Javadoc

1   package com.atlassian.jira.issue.managers;
2   
3   import java.util.Map;
4   
5   import org.apache.log4j.Logger;
6   
7   import com.atlassian.core.ofbiz.association.AssociationManager;
8   import com.atlassian.jira.issue.util.TextAnalyzer;
9   import com.atlassian.jira.workflow.ExtendedWorkflowManager;
10  import com.atlassian.jira.workflow.WorkflowException;
11  import com.atlassian.jira.workflow.WorkflowManager;
12  import com.opensymphony.user.User;
13  
14  /**
15   * FQCN : com.atlassian.jira.issue.managers.ExtendedIssueManager
16   * @author Kaamelot
17   * @since 3.10.1.30
18   * Description : Extends DefaultIssueManager in order to provide a validateIssue() method called by ExtendedEditIssue
19   *
20   */
21  public class ExtendedIssueManager extends DefaultIssueManager {
22  
23  	protected static final Logger log = Logger.getLogger(ExtendedIssueManager.class);
24  
25  	protected WorkflowManager workflowManager;
26  
27  	public ExtendedIssueManager(WorkflowManager _workflowManager, AssociationManager _associationManager, TextAnalyzer _textAnalyzer) {
28  		super(_workflowManager, _associationManager, _textAnalyzer);
29  		workflowManager = _workflowManager;
30  	}
31  
32  	/** Performs Issue validation (Issue object has been already updated from valuesHolder)
33  	 * @param remoteUser
34  	 * @param fields
35  	 * @throws WorkflowException
36  	 */
37  	public void validateIssue(User remoteUser, Map fields) throws WorkflowException {
38  		validateIssue(remoteUser != null ? remoteUser.getName() : null, fields);
39  	}
40  
41  	/** Performs Issue validation (Issue object has been already updated from valuesHolder)
42  	 * @param remoteUserName
43  	 * @param fields
44  	 * @throws WorkflowException
45  	 */
46  	public void validateIssue(String remoteUserName, Map fields) throws WorkflowException {
47  		if (workflowManager instanceof ExtendedWorkflowManager) {
48  			((ExtendedWorkflowManager) workflowManager).validateIssue(remoteUserName, fields);
49  		} else {
50  			log.error("No Extended Validation performed on Issue because no ExtendedWorkflowManager is available.");
51  		}
52  	}
53  
54  }