我的eclipse插件中有两个命令。 (上传和运行)。它们可以由用户一个接一个地调用。因此,只有在上传命令完成后调用Run才有意义。
由于upload命令可能需要一些时间,因此它会安排WorkspaceJob进行实际执行。并在安排工作后立即返回。
我想知道的是添加另一个名为“上传和运行”的命令,其中(令人惊讶的)应首先上传然后运行选择。因此,必须在上载命令中启动WorkspaceJob
时通知它。
因此,我希望使用额外的IJobChangeListener
对该命令进行参数化,并在安排WorkspaceJob
时添加该命令。
不幸的是,在我看来,它只能将Strings作为参数传递给命令或者可以轻松转换为Strings的对象。但是,像这样的Listener不能作为String传递。
答案 0 :(得分:1)
由于您的“上传并运行”操作将开始上传,因此您可以为运行操作安排另一个作业,该作业只需在工作区作业上调用join()
- 在做任何其他事情之前参考你。
<强>更新强> 我认为你在那里遇到了框架的限制。这些命令旨在作为用户界面的抽象,而不是完成任务的抽象。我只是重复使用您拥有的Java代码,并直接从联合功能的按钮调用这两个操作的代码。