BI Component 开发(5)--处理用户交互及为什么要创建Component?

本文介绍Pentaho BI Suite中处理用户交互的方法及组件(Component)的重要性。Component不仅可独立运作,还能通过组合实现多种功能。文章详细解释了用于创建用户提示信息的九种方法,以及Component创建和使用的背景。
一,处理用户交互的接口
      以下这些方法用来创建提示信息并显示给用户。它们对于自动生成参数页面(parameter pages)非常有用。创建这些页面时在action序列中可以指定布局,页面布局可用的模板有HTML模板或者XSTL模板。若没有指定模板,则默认的XSTL模板将会被使用,默认模板位于:system/custom/xsl/DefaultParameterForm.xsl

处理用户交互涉及到的方法如下:
①   createFeedbackParameter() - 3 个参数
②   createFeedbackParameter() - 5 个参数
③   createFeedbackParameter() - 7 个参数
④    feedbackAllowed()
⑤    getFeedbackOutputStream()
⑥    isPromptPending()
⑦    promptNeeded()
⑧    promptNow()
⑨    setFeedbackMimeType()

①   createFeedbackParameter() - 3 个参数

②   createFeedbackParameter() - 5 个参数
参数:   String fieldname, String displayName, String hint, String defaultValue, boolean visible
返回值:无
创建提示参数并以文本的形式呈现给用户
fieldname:为提示指定表单元素的id,当用户点击提交时,该id将会出现在请求中,若action序列所定义的输入中没有id与fieldname所代表的id相匹配,Component不会接受用户提交的这个值。同时会导致无限循环给用户相同的提示。
displayName:参数的标签。以文本的形式呈现给用户
hint:一个帮助消息,提示用户将会看到下一条参数
defaultValue:当用户看到提示页面时,该默认值将会自动呈现
visible:决定用户能否看到表单控制(form control)

③   createFeedbackParameter() - 7 个参数

④    feedbackAllowed()
参数:无
返回值:boolean
若Component被设置成能够请求获取参数,则返回true。如果执行action序列的请求来自于web 应用程序,该方法将返回true;如果请求来自于WebService客户端、调度器或者工作流引擎,该方法返回false。(PS: action序列可以通过四种方法来执行)

⑤    getFeedbackOutputStream()
参数:无
返回值: java.io.OutputStream
该方法表明:对于Component而言,除了需要从用户处获取原始的输入之外,还可以给用户提供关于某个执行结果的反馈。比如说,当Email 服务器未定义时,Email Component调用该方法给用户提示有效的信息帮助用户修正错误。

⑥    isPromptPending()
参数:无
返回值:boolean
该方法让Component找出是否有其它的Component从用户那里请求参数。若该方法返回true,该Component不应该继续执行或生成内容而是决定是否需要提示参数。

⑦    promptNeeded()
参数:无
返回值:无
该方法通知运行时上下文是否提示用户输入Component执行所需要的参数。在同一个action序列中的其它Component也会看到它是否需要提示用户输入参数。这使得系统只需要为用户生成一个表单,而不是生成连续不断的表单(因为action序列中有多个Component)。比如,action序列中的第一个Component是报表Component,它需要一个部门的id;第二个Component是打印Component,它需要一个打印机名称,那么用户只会收到一个表单让他同时选择部门id和打印机名称。

⑧    promptNow()
参数:无
返回值:无
该方法通知运行时上下文提示用户是否需要输入后续的Component执行时所需要的参数。这样可以防止无效的处理和保证安全。比如,在一个action序列中定义了二个action,第一个是WebService服务,若它没有在请求中获得客户id则提示用户输入客户id;第二个Component把第一个Component的处理结果作为它的输入。若客户id没有提供,则第一个Component需要给用户发提示信息,那么就没有任何意义执行第二个Component去检查它是否需要提示用户输入它执行时所需要的其它参数了。

⑨    setFeedbackMimeType()
参数:String mimeType
返回值:无
设置提示页面的 MIME类型。目前只支持"text/html"类型。

二,为什么要创建Component?

        Pentaho BI Suite的底层是一个轻量级、但功能强大可扩展性强的处理商业智能相关任务的框架。底层的构件允许Component按顺序组织起来并把上一个Component的处理结果作为下一个Component的输入。Component即可以单独使用也可以组合起来使用从而创造无穷多的结果。Component可以通过JAVA API ,WebService,调度器,工作流引擎来调用。
BI Suite的底层构建紧凑且高效,并且可以以lib库的形式部署到JAVA 应用程序中。
通过创建一个简单的Java类将lib库和引擎整合进Component层,新功能就可以立即与现有的Component的功能结合起来,并且整个平台的方法都可以拿来使用。比如说:只要创建了一个Component:
1)它可以被调度
2)可以作为WebService执行
3)可以与其他的Component顺序地结合起来,并可以接受其它Component的输出作为其输入,也可以把自己的输出作为其他Component的输入。
4)能够提示用户输入本Component执行所需要的参数
5)当使用Component时,自动具有审计功能和日志功能。
6)BI Component 非常容易地创建并部署到Pentaho BI Suite中。

扩展:
Action序列文件是一个解决方案的定义,为运行时上下文提供了执行环境,Components则是业务逻辑。一个Component执行一个单一的功能或一组相关的功能,或者作为BI 平台和外部应用程序连接的桥梁。对于Component而言,主要调用二个方法:一个是验证方法,另一个是执行方法(execute()),执行方法实际上执行的是Action对象。



内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值