页面树结构
转至元数据结尾
转至元数据起始

1、简介

Smartbi 提供了一个资源目录树的组积结构,当扩展插件中需要将新增的资源添加到树上时,则需要对Smartbi中资源树作为一些相应的扩展。扩展插件包含以下几个方面:

文档目录:

  1. 扩展插件增强了Smartbi原有的资源类型,即Smartbi原来已经有相应的实体表,在扩展插件额外添加了一个实体表保存增强的信息。例如:扩展插件中添加了"主机查询对象"类型,实际上是对Smartbi中原有的关系数据源中的基础表扩展得来的。当通过资源目录树删除基础表时需要同时删除资源目录树中的记录、基础表中的记录以及扩展插件中"主机查询对象"中的记录。扩展插件组件应在激活方法public void activate()中调用catalogTreeModule中的catalogTreeModule.registerCascadeDeleteDAO("BASETABLE", CMBDAOFactory.getCopyBookBeanDAO())方法注册相应的DAO。在注册后,资源目录树删除基础表的时候将会同时调用copyBookBeanDAO中的deleteByResourceId方法删除相关资源。
  2. 扩展插件中增加资源类型,该类型会映射到知识库中的一张表。例如,扩展插件中添加了"文本报表"资源类型,在树节点删除时需要将"文本报表"所对应的记录删除。扩展插件组件应在激活方法public void activate()中调用catalogTreeModule中registerDAO("TXTDATASOURCE", CMBDAOFactory.getTxtDataSourceDAO())方法注册相应的DAO。在注册后当资源目录树删除此节点的时候将会调用txtDataSourceDAO中的delete方法删除相关资源。
  3. 默认情况下新增加的资源类型在树上显示时都会显示    ,表示该节点可以展开。若新增的类型不会有子节点,可以在组件的激活方法public void activate()中调用catalogTreeModule中的registerNonChildElementType("TXTQUERYOBJECT")声明TXTQUERYOBJECT类型的节点一定不存在子节点。
  4. Smartbi在资源授权中【应用到】选项有"目录"与"文件"的区分,这个是一个逻辑上的概念。主要是处理资源授权时,判断是否应该将授权传递到下一层子结点。扩展插件若将增加的类型视作目录(视为目录则表示在资源授权中会将传递到下一层中),可以在在组件的激活方法public void activate()中调用catalogTreeModule中的public void registerFolderType(String type)方法注册为目录类型。

2、示例说明

其中在升级类"UpgradeTask_New.java"中创建了两个知识库表,分别与"ExtSample9_4_Folder.java" 和 "ExtSample9_4_File.java"中的描述相对应,前者代表目录结点,后者代表叶子结点。文件 "Sample9_4_Service.java"中定义了对应结点的添加与读取方法,测试界面如下:


3、示例代码下载

示例代码下载: Sample9_4.rar


  • 无标签