我的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>
答案 0 :(得分:1)
我最终做的是在处理程序完成后使用requestEvaluation。
final IEvaluationService evaluationService = (IEvaluationService) window.getService(IEvaluationService.class);
evaluationService.requestEvaluation(property);