执行后重新检查rcp处理程序

时间:2010-06-17 20:26:20

标签: java handler rcp

我的propertyTester和启用处理程序存在问题。该属性为areUpdatesAvailable,并且当此属性为true时启用处理程序。在处理程序执行之后,areUpdatesAvailable值变为false,但是我当前如何设置它,它只检查选择何时更改。因此,如果我右键单击某个项目并调用更新处理程序,然后再次右键单击该项目而不更改我的选择,则仍会启用更新,因为它不会再次调用属性测试程序。是否有办法在处理程序执行后再次检查?

<handler
      class="com.cerner.automation.touchstone.handlers.UpdateExternalReference"
      commandId="com.cerner.automation.touchstone.workflow.Update">
      <enabledWhen>
           <with
                variable="selection">
                <test
                     property="com.cerner.automation.touchstone.testers.nodeItem.areUpdatesAvailable" value="true" forcePluginActivation="true">
                </test>
                <iterate
                     ifEmpty="false"
                     operator="and">
                     <instanceof
                          value="com.cerner.automation.touchstone.model.ExternalReferenceItem">
                     </instanceof>
                </iterate>
               <test
                forcePluginActivation="true"
                property="com.cerner.automation.touchstone.testers.nodeItem.isInternal"
                value="true">
                    </test>
           </with>
      </enabledWhen>
 </handler>

1 个答案:

答案 0 :(得分:1)

我最终做的是在处理程序完成后使用requestEvaluation。

final IEvaluationService evaluationService = (IEvaluationService) window.getService(IEvaluationService.class);
        evaluationService.requestEvaluation(property);