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
13
14
15
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 }