使用Eclipse BIRT扩展点:聚合 - 编程入门网
一下。首先是 getParameterDefn() 方法,它返回一个 IParameterDefn 对象数组,可以在该数组中定义聚合需要的参数。一个聚合可以 有多个参数,这就是为什么要以数组的形式返回参数。此方法向 BIRT 引擎简单 描述这些参数及其类型。在本例中,仅有一个参数(列表达式),它将是一个字 符串。
那么,如果参数在 getParameterDefn() 方法中进行描述,要将它们传入到何 处来执行实际工作呢?IAggrFunction 对象还充当着 Accumulator 类的工厂,该 对象应该在 newAccumulator 方法中创建。Accumulator 是在聚合中执行实际工 作的类。它有两个方法需要重载:getValue() 和 onRow()。对于在 BIRT 中处理 的每一行,如果使用此聚合,数据绑定将调用 onRow()。作为一个参数,onRow 接收一个包含聚合参数的数组,这些参数由 getParameterDefn() 描述。在更加 健壮的方案中,可以调用 getParameterDefn() 并测试传入 onRow() 的参数是否 与定义匹配。但是,本文中的简单示例跳过了这一步。onRow() 方法还负责执行 处理工作。在上面的聚合代码示例中,它仅用于增加正在计算的字符串总字数。 当报告准备好显示值时,它调用 getValue() 方法。 需要进一步说明的另一个元素是 IAggrFunctions getType() 方法。两种聚合 类型(SUMMARY_AGGR 和 RUNNING_AGGR)定义该方法属于哪种聚合类型;它出现 在报告表的表头或表尾,还是显示在每一行中;它在计算时显示的是累计总计, 还是平均值。 测试插件 可以轻松测试此插件,无需象测试任何 Eclipse 插件一样进行部署:只需启 动另一个 Eclipse 实例即可。启动另一个实例的最简单方式是从 plugin.xml/manifest 窗口的 Overview 选项卡上启动。在此选项卡上,在 Testing 区域,单击 Launch an Eclipse application 链接,如图 8 所示。 图 8. 测试插件 图 9 显示了一个简单报告,可以根据该报告来测试插件。将一个聚合组件插 入到此报告的表尾。 图 9. 向报告添加聚合 使用Eclipse BIRT扩展点:聚合(8)时间:2011-09-04 IBM John Ward在 Aggregation Widgets 下拉列表中,选择 Basic Word Count 聚合器并输 入列表达式,以指向包含想要统计的句子的列,如图 10 所示。 图 10. Aggregation Builder 运行报告并验证结果。图 11 显示了生成的报告。 图 11. 报告结果 结束语 借助本文中的示例,您现在很好地了解了 BIRT 扩展点框架。现在您可以自行 构建一些聚合来在报告中使用,本文还展示了 BIRT 延伸到其开箱即用功能之外 的能力。请确保您使用了 plugin.xml/manifest 窗口的 Export Wizard 向导来 导出插件,并将该插件复制到您的 BIRT 目标环境(可以是 Web 应用程序或其他 BIRT 设计器环境)的 Plugins 文件夹内。否则,您部署的报告将无法运行,而 且编辑您报告的任何人都需要删除聚合定义。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |