BI Component 开发(5)--处理用户交互及为什么要创建Component?
2015-12-08 14:11
246 查看
一,处理用户交互的接口
以下这些方法用来创建提示信息并显示给用户。它们对于自动生成参数页面(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中。
翻译自:http://wiki.pentaho.com/display/ServerDoc2x/Handling+User+Interaction
http://wiki.pentaho.com/pages/viewpage.action?pageId=1125
扩展:
Action序列文件是一个解决方案的定义,为运行时上下文提供了执行环境,Components则是业务逻辑。一个Component执行一个单一的功能或一组相关的功能,或者作为BI 平台和外部应用程序连接的桥梁。对于Component而言,主要调用二个方法:一个是验证方法,另一个是执行方法(execute()),执行方法实际上执行的是Action对象。
以下这些方法用来创建提示信息并显示给用户。它们对于自动生成参数页面(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中。
翻译自:http://wiki.pentaho.com/display/ServerDoc2x/Handling+User+Interaction
http://wiki.pentaho.com/pages/viewpage.action?pageId=1125
扩展:
Action序列文件是一个解决方案的定义,为运行时上下文提供了执行环境,Components则是业务逻辑。一个Component执行一个单一的功能或一组相关的功能,或者作为BI 平台和外部应用程序连接的桥梁。对于Component而言,主要调用二个方法:一个是验证方法,另一个是执行方法(execute()),执行方法实际上执行的是Action对象。
相关文章推荐
- jQuery 学习第七课 扩展jQuery的功能 插件开发
- jquery 插件开发方法小结
- jQuery 插件开发 其实很简单
- jQuery插件开发全解析
- jquery插件开发方法(初学者)
- jQuery插件开发详细教程
- FCKeditor 插件开发 示例(详细版本)
- fckeditor 插件开发参考文档
- ckeditor插件开发简单实例
- jQuery插件开发的五种形态小结
- mysql bin_log 日志格式详解
- BI实战案例第2季:权限控制之“非礼勿视”
- Chrome插件开发进阶
- BI项目中ETL设计与思考【转】
- SYBASE IQ 相关资料
- SQL Server 2012 的12个激动人心的功能
- 怎么创建一个基本的jQuery插件 - How to Create a Basic Plugin
- jquery easyui 插件开发
- javap -s 查看java方法签名
- wo cao