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

1.说明

       Smartbi 允许使用升级类进行导入资源的维护,当扩展插件中需要在启动过程中自动导入已经定制好的报表、数据源等功能时,就可以使用自动导入资源机制。类似于升级知识库。


2.自动导入的规范

       1、与知识库升级类相同,在applicationContext.xml声明至少一个组件并向framework注册。

       2、上述例子中自动导入资源升级包名为 smartbi.extension.test.postupgrade。

       3、简单自动导入资源升级类可以先通过Smartbi系统内置的导出资源生成migrate.xml文件,并编写一个继承smartbi.composite.postupgrade.BasePostTask的升级类,并将migrate.xml重命名与类名相同的xml文件。例如,编写升级类 smartbi.extension.test.postupgrade.PostTask_New类,并将migrate.xml重命名为PostTask_New.xml放到与类相同的路径下。

       4、如果复杂的导入升级,则可以编写继承 smartbi.composite.postupgrade.PostTask类的升级类,第一个版本必须命名为PostTask_New,升级类有两个方法:

    1. public abstract boolean doUpgrade(); 升级类的具体实现,Smartbi会调用该方法执行升级任务,返回true表示升级成功,返回false表示升级失败。
    2. public abstract String getNewVersion(); 声明当升级成功以后当前版本号,格式应该为"0.0.1"。Smartbi会根据返回的版本号查找下一个升级类继续下一版本的升级。
    3. Smartbi会重复上面的升级,直到找不到更高版本的升级类为止。

3.示例说明

       其中文件"PostTask_New.xml"的生成过程如下:先在Smartbi中创建好需要导入的资源(比如:数据源、业务查询等等),然后再导入这些资源(本示例仅导出了一个关系数据源),最后将导出生成的xml文件重命名为与升级类同名(后续仍是xml)的文件并放到升级类所在的目录下。

       示例中升级类"PostTask_New.java"是继承"BasePostTask.java"所以需要在相同路径下提供同名的xml资源文件(即"PostTask_New.xml")。而升级类"PostTask_0_0_1.java"是继承"PostTask.java"的所以不强制要求在相同路径下提供同名的xml资源文件,具体升级操作可自由定义。测试链接:http://localhost:18080/smartbi/vision/demo/ImportResourcesModuleDemo.html, 测试界面如下:

示例代码下载: ImportResources.rar 




  • 无标签