两年前的代码必须升级到E4,现在很多东西不再起作用。其中之一是IEvaluationService
如果这样使用:
<handler class="org.acme.PrintHandler" commandId="org.eclipse.ui.file.print">
<activeWhen>
<with variable="activePart">
<test property="org.acme.printable" />
</with>
</activeWhen>
</handler>
IEvaluationService service = (IEvaluationService) PlatformUI.getWorkbench().getService(IEvaluationService.class);
service.requestEvaluation("org.acme.printable");
如何(重新)触发对a的求值PropertyTester
?由于E4确实还没有准备好投入生产,因此我需要E3(兼容层)的解决方法。
相关问题但是此用户正在E4中搜索等效项,而我需要在E3中可用的等效项。
有趣的是,如果我将其替换为<activeWhen>
标签,<enabledWhen>
它将起作用。在这种情况下IEventBroker#post
,并IEventBroker#send
工作了。
EvaluationService在E3兼容性层中与API兼容。但是E4中的实现完全不同,导致的行为requestEvaluation
发生根本性的变化。
我能找到的最佳解决方案是手动停用并激活当前活动零件的所有上下文。这将导致内部重新评估,并在需要时重新呈现各个部分的所有UI元素。
有人可能会说,这比要求评估非常特定的属性的效率低,正如EvaluationService应该这样做的那样。但是由于评估仅限于活动部件,因此不应产生过多的开销。它确实可以全局工作,因为不再需要特定的属性字符串。
唯一尚未包括的用例可能是RCP应用程序的主工具栏。
/**
* Triggers evaluation of all UI elements (buttons, etc.) of the active part.
* Also causes test of all property testers of all opened parts implicitly.
* Workaround of the broken <code>IEvaluationService.requestEvaluation</code>.
*/
public static void triggerUIElementsEvaluation() {
try {
final EPartService partService = PlatformUI.getWorkbench().getService(EPartService.class);
final MPart activePart = partService.getActivePart();
/* Toggle context of active part to trigger re-evaluation of its UI elements. */
if (activePart != null) {
activePart.getContext().deactivate();
activePart.getContext().activateBranch();
}
} catch (IllegalStateException e) {
/* Ignore "Application does not have an active window" exception to allow program to continue. */
}
}
有时(例如用于测试和bechmark)我想强制执行在DataFrame上定义的转换。AFAIK调用像这样的操作并不能确保所有都被实际计算,可能只计算所有的子集(参见下面的示例) 我的解决方案是使用df将数据帧写入HDFS。写saveAsTable,但这会将我的系统与我不想再保留的表“混在一起”。 那么,触发数据帧评估的最佳方式是什么呢? 编辑: 请注意,最近还讨论了火花开发者列表:http://a
问题内容: 我为eclipse打印命令添加了一个处理程序,如下所示: 哪个真的很好。但是有时,即使活动部分没有更改,命令的启用也会更改。因此,我想强制对该activeWhen零件进行重新评估。我该怎么做呢? 我尝试过这样的事情: 问题答案: 我认为该IEvaluationService.requestEvaluation方法可以满足您的要求: JavaDoc说 请求此服务重新评估包含给定属性名称的
评估可能的员工,却没有得到它应得的能量。一个糟糕的雇佣,就像糟糕的婚姻,是非常糟糕的。每个人首要的一部分精力应该投入到招聘上,尽管这很少发生。 有不同的面试风格。有的是折磨人的,设计用来把候选人放在巨大压力下。这是为了这样一个有用的目的:在压力下折射出性格缺陷和弱点。候选人对待面试官不会比对待他们自己更诚实,而且,人的自欺能力是令人惊奇的。 你应当,最少,对候选人进行两个小时的与口头考核等价的技术
我正在使用Spring 3.1.0。发布和JUnit 4.8.1.我很难弄清楚为什么类的成员字段在JUnit测试中没有自动生成。我的测试看起来像... 类"EventFeed"调用以下类的实例... 但当它出现时,AbstractEventParser的“netUtilsService”成员字段为空。这很奇怪,因为在我的“testApplicationContext.xml”文件中,我有这个,我认
问题内容: 我想编写一个TestNG测试,以确保在特定条件下引发了异常,如果未引发异常,则使测试失败。有没有一种简单的方法,而不必创建额外的布尔变量? 有关此主题的相关博客文章:http : //konigsberg.blogspot.com/2007/11/testng-and- expectedexceptions-ive.html 问题答案: 在最常见的情况下很有用: 您期望会引发特定的异常
我正在尝试使用线性回归解决WEKA中数字属性的数字分类问题,然后我想在现有数据集上测试我的模型,并在当前测试数据集上重新评估模型。 作为评估的结果,我得到了总结: 相关系数0.9924平均绝对误差1.1017均方根误差1.2445实例总数17 但我没有这里显示的结果:http://weka.wikispaces.com/Making预言 如何让WEKA达到我需要的结果? 非常感谢。 要回答我的问题