View Javadoc

1   package com.atlassian.jira.plugin.issueoperation;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import com.atlassian.jira.issue.Issue;
7   import com.atlassian.jira.issue.link.CreateAndLinkIssueHelper;
8   import com.atlassian.jira.issue.link.LinkSchemeManager;
9   import com.atlassian.jira.web.action.admin.link.scheme.LinkSchemeHelper;
10  
11  /**
12   * FQCN : com.atlassian.jira.plugin.issueoperation.CreateAndLinkIssueOperation
13   * @author Kaamelot
14   * @since 3.10.1.30
15   * Description : Provides HREF links for CreateAndLinkIssue Action  
16   *
17   */
18  public class CreateAndLinkIssueOperation extends AbstractPluggableIssueOperation {
19  
20  	protected LinkSchemeManager linkSchemeManager;
21  
22  	protected LinkSchemeHelper linkSchemeHelper;
23  	
24  	protected CreateAndLinkIssueHelper createAndLinkIssueHelper;
25  
26  	public CreateAndLinkIssueOperation(LinkSchemeManager _linkSchemeManager, LinkSchemeHelper _linkSchemeHelper, CreateAndLinkIssueHelper _createAndLinkIssueHelper) {
27  		linkSchemeManager = _linkSchemeManager;
28  		linkSchemeHelper = _linkSchemeHelper;
29  		createAndLinkIssueHelper = _createAndLinkIssueHelper;
30  	}
31  
32  	public void init(IssueOperationModuleDescriptor descriptor) {
33  		super.init(descriptor);
34  	}
35  
36  	public String getHtml(Issue _issue) {
37  		return descriptor.getHtml("view", getVelocityParams(_issue));
38  	}
39  
40  	protected Map getVelocityParams(Issue _issue) {
41  		Map velocityParams = new HashMap();
42  		velocityParams.put("bullet", getBullet());
43  		velocityParams.put("issue", _issue);
44  		velocityParams.put("i18n", descriptor.getI18nBean());
45  		velocityParams.put("availableLinks", createAndLinkIssueHelper.getAvailableLinks(_issue));
46  		velocityParams.put("linkSchemeHelper", linkSchemeHelper);
47  
48  		return velocityParams;
49  	}
50  
51  	public boolean showOperation(Issue _issue) {
52  		return !(createAndLinkIssueHelper.getAvailableLinks(_issue).isEmpty());
53  	}
54  
55  }