我在Jira插件开发中使用Active Objects。
对于使用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"});
}
}
我不知道如何正确地注入构造函数? 或者有更好的方法吗?