1、在扩展插件中必须通过applicationContext.xml文件声明至少一个组件,该组件的类名为类似于 smartbi.extension.test.TestExtensionModule,并必须将此组件向framework模块注册,例如:
<bean id="framework" class="smartbi.framework.Framework" factory-method="getInstance"> <property name="modules"> <map> <entry><key><value>TestExt</value></key><ref bean="testExt"/></entry> </map> </property> </bean> <bean id="testExt" class="smartbi.extension.test.TestExtensionModule" factory-method="getInstance" > <property name="daoModule"> <ref bean="dao" /> </property> </bean> |
2、Smartbi会查找framework中所有组件,并根据组件的类名确定知识库升级包目录。上述示例中升级包名为 smartbi.extension.test.upgrade。
3、编写继承 smartbi.repository.UpgradeTask类的升级类,第一个版本必须命名为UpgradeTask_New;
3、升级类有两个方法需要实现:
在升级类"UpgradeTask_New.java"中创建了一个知识库表,该表与"ExtSample9_2_A.java"中的描述相对应。另外还有两个升级类"UpgradeTask_0_0_1.java" 和 "UpgradeTask_0_0_2.java",其中前者仅仅是修改了模块的版本号,后者则往上述知识库表中增加一个字段。总共有3个升级类,该模块的当前版本为最后一个升级类(在此为"UpgradeTask_0_0_2.java")的"getNewVersion()"方法的返回值(源码中该值为"0.0.3")。测试界面如下:
示例代码下载: Sample9_2.rar