相关功能 | 9.0写法 | 10.0新写法 |
---|---|---|
国际化
| Inter.getLocText(key) | 设计器:com.fr.design.i18n.Toolkit.i18nText(key) 不带参数的国际化 com.fr.design.i18n.Toolkit.i18nText(String key, Object... args) 带参数的国际化国际化命名规范详见国际化规范 |
服务器:InterProviderFactory.getProvider().getLocText(key) | ||
日志打印方式 | FRLogger.getLogger() FRContext.getLogger() FRLoggerFactory.getLogger() | FineLoggerFactory.getLogger() |
日志接口 | FRLoggerProvider | FineLoggerProvider |
模板访问路径 | ?reportlet=xxx.cpt?formlet=xxx.frm | /view/form?viewlet=xxx.frm/view/report?viewlet=xxx.cpt |
env接口 | Env | Workspace |
env获取方式 | FRContext.getCurrentEnv() | WorkContext.getCurrent() |
session信息类名修改 | SessionIDInfor | SessionIDInfo |
session操作类 | 9.0使用SessionDealWith | 10.0使用SessionPoolManager |
获取当前登录用户方式 | FSAuthentication/getUserInfo() | LoginService.getInstance().getCurrentUserNameFromRequest(req) |
管理员的判断 | FSAuthentication/isRoot() | 需要通过获取用户id并和AuthorityStaticItemId.SUPER_USER_CUSTOM_ROLE比较 |
配置文件的写法修改 | 继承XMLFileManager读取和写入xml | 继承Configuration写入数据库和从数据库读取,具体写法参考其他文档 |
插件功能点记录 | 使用@FunctionRecorder(id,localKey)和@ExecuteFunctionRecord注解 | 需要在记录功能点的方法上添加@Focus(id = "xxx", text = "xxx", source = Original.PLUGIN)注解同时要在记录功能点的类上添加@EnableMetrics注解 |
sessionid的传送 | 9.0在前台通过post方式传递sessionid | 10.0将sessionid添加到header中传递,也可以使用get方式传递sessionid |
平台消息接口 | com.fr.base.platform.msg.Message | com.fr.decision.system.bean.message.Message |
系统消息发送 | SystemMessageDeal.getInstance().save(message) | SystemContext.getInstance().getMessageController().saveMessage(message) |
module启动方式 | ModuleContext.startModule("XXModule.class") | 定义activator的方式,并将声明的activator注册到xml中 |
参数map转字符串 | FRLogger.createParamString(para) FRLogger.createParamString(para,excludeParas) | TextUtils.createParamString(para) TextUtils.createParamString(para,excludeParas) |
后台http连接 | HttpClient(String url) HttpClient(String url,HashMap<String, String> para) HttpClient(String url, HashMap<String, String> para, boolean encode) | HttpToolbox.get(url) HttpToolbox.appendQuery(prefix, new String[]{xxx}, new String[]{}) |
平台所有配置邮箱用户获取 | ConfigManager.getProviderInstance() .getEmailManager().getAllMailUsers(true) | UserService.getInstance().getAllUsers(currentUsername, userSearchBean, true) userSearchBean是用户搜索附加的一些属性(分页、关键字、部门职位等) |
多报表访问 | 9.0使用这种格式({reportlet:/k1.cpt},{reportlet:/k2.cpt}) | 10.0使用encodeURIComponent("[{reportlet:k1.cpt}, {reportlet:k2.cpt}]") |
日志记录存储 | 9.0日志是存储在logdb里面连接方式驱动器:com.fr.third.org.hsqldb.jdbcDriver url:emb:jdbc:hsqldb:file://${ENV_HOME}/logdb/db用户名:sa 密码为空,详见http://help.finereport.com/doc-view-891.html | 10.0是存储在swift中连接方式驱动器:com.fr.swift.jdbc.Driverurl:jdbc:swift:emb://DECISION_LOG用户名和密码暂时不支持 |
插件或功能集群的适配 | 对于一些开发平台的功能或者插件,需要在插件里面做下请求转发到主机处理 添加的service需要继承AbstractClusterDispatchService 内部有处理转发的逻辑 | 具体参考相应文档 |
插件访问数据库的方式 | 9.0是自定义DAO,可参考MessageDataAccessObject | 10.0使用DBAccessProvider注册DAO,详见数据库读写 |
平台请求处理 | 9.0是通过注册service和action实现请求的分发和处理 | 10.0使用spring通过添加@Controller和@RequestMapping注解实现请求的映射和处理 |