我在 Jira 插件开发中使用活动对象。
对于使用 webwork 插件模块类型创建的 JiraWebActionSupport,它可以正常工作。
@Named
public class IssueConfigAction extends JiraWebActionSupport
{
private static final Logger log =
LoggerFactory.getLogger(IssueConfigAction.class);
@ComponentImport
private final ActiveObjects ao;
private String issueId;
@Inject
public IssueConfigAction(ActiveObjects ao){
this.ao=ao;
}
@Override
protected String doExecute() throws Exception {
IssueConfig ic = ao.create(IssueConfig.class);
ic.setIssueId(issueId);
ic.save();
return SUCCESS;
}
public String getIssueId() {
return issueId;
}
public void setIssueId(String issueId) {
this.issueId = issueId;
}
}
但是我如何在任何其他类中使用活动对象,例如抽象问题操作?
public class IssueTabAction extends AbstractIssueAction {
@ComponentImport
private final ActiveObjects ao;
@Inject
public IssueTabAction(IssueTabPanelModuleDescriptor descriptor) {
super(descriptor);
}
@Inject
public IssueTabAction(ActiveObjects ao) {
super();
this.ao=ao;
}
@Override
public Date getTimePerformed() {
// TODO Auto-generated method stub
return new Date();
}
@Override
protected void populateVelocityParams(Map params) {
params.put("user", ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser().getDisplayName());
params.put("strings", new String[]{"1","2","3","4"});
}
}
我不知道如何正确注入构造函数?还是有更好的方法来做到这一点?