Maximo启动中心改造
来源:互联网 发布:网络外教口语 编辑:程序博客网 时间:2024/05/05 17:07
Maximo启动中心通常是我们登陆系统后通常看到的第一个界面
用户进入系统就可以看到感兴趣的消息,关心的指标,快速打开常用的程序等。这非常像操作系统的桌面环境,当我们登陆操作系统后,图形化桌面展示在眼前,有开始菜单、快速启动、任务栏、系统托盘、小窗口部件等,当然,这些都是可以根据用户需求进行灵活配置的。
同时,启动中心配置的功能就是固定的几种,扩展性差。随着业务和技术的发展,我们需要在启动中心展示更多信息,比如说图形化BI指标等,这些都不在Maximo的默认配置中,我们需要研究Maximo的技术实现,对启动中心进行改造以满足更加灵活的展示需求。
经过对代码的追踪,发现就像其他的Maximo应用一样,启动中心也可以看作是一个Maximo应用,是登陆Maximo后系统首先加载的特殊应用;由于启动中心的显示内容和用户、用户组相关的,因此启动中心会获取相关用户信息并加载该用户所属的布局模版;此时加载的布局模版是xml格式的,这时通过启动中心管理服务将xml转换为对象,实例化小窗口部件;最后,小窗口部件读取配置数据,渲染jsp页面,将内容显示到启动中心页面。
改造的基本内容如下:
创建一个自定义的PortletBean和展示页面,如下所示:
Java代码
- try
- {
- if(sessionContext.getCurrentApp().get(portletId) == null)
- {
- portletBean = new DBCntCfgPortletBean();
- portletBean.setId(portletId);
- portletBean.setupBean(sessionContext,"DBCNTCFG");
- portletBean.setPortletInfo(currentPortlet);
- sessionContext.getCurrentApp().put(portletId,portletBean);
- }
- else
- {
- portletBean = (DBCntCfgPortletBean)sessionContext.getCurrentApp().get(portletId);
- }
- dbContent = portletBean.getDBContent();
- }catch(Throwable e )
- {
- System.out.println("Error in the Favorite Applications Portlet Display");
- e.printStackTrace();
- }
从数据库加载数据
Java代码
- if (((String)localObject3).equalsIgnoreCase("dbcntcfg"))
- {
- localElement1 = localDocument.createElement("dbcnt");
- setAttributes(portletAttributes, localLayoutRemote, localElement1);
- localMboSetRemote1 = localLayoutRemote.getMboSet("DBCNTCFG");
- addChildren(localMboSetRemote1, localElement2, localElement1, "attr", new String[] { "miscid" });
- }
从数据库加载数据
Java代码
- localNodeList2 = localElement1.getElementsByTagName("dbcnt");
- for (int j = 0; j < localNodeList2.getLength(); ++j)
- {
- localElement2 = (Element)localNodeList2.item(j);
- localLayoutRemote = (LayoutRemote)localLayoutSetRemote.add();
- setValues(localLayoutRemote, localElement2);
- localNodeList1 = localElement2.getElementsByTagName("attr");
- for (int f = 0; f < localNodeList1.getLength(); ++f)
- {
- localElement3 = (Element)localNodeList1.item(f);
- localObject1 = (DBCntCfgMboSetRemote)localLayoutRemote.getMboSet("DBCNTCFG");
- localObject2 = (DBCntCfgMboRemote)((DBCntCfgMboSetRemote)localObject1).add();
- setValues((MboRemote)localObject2, localElement3);
- ((MboRemote)localObject2).getLong("miscid");
- }
- }
- Maximo启动中心改造
- maximo后台启动了啥?
- asterisk 呼叫中心改造 命令跳转 判断输入等
- 微服务化改造系列之三:配置中心
- 微服务化改造系列之四:授权中心
- Motorola ROKR E8改造计划启动
- 更新启动中心如何运作
- Dubbo注册中心启动配置
- MAXIMO解决方案
- MAXIMO介绍
- Maximo 二次开发
- MAXIMO是什么
- maximo 按钮
- maximo库存
- MAXIMO研究成果
- maximo经验
- 家里旧电脑改造媒体中心打造最强播放器geexbox 转载
- 技术揭秘12306改造(二):探讨12306两地三中心混合云架构
- iPhone开发之深入浅出 (1) — ARC是什么
- 网络编程相关
- J2EE开发手册大全
- android 界面布局
- QT QTableView用法小结
- Maximo启动中心改造
- synchronization
- c++特殊符号用法 -- (一)冒号(:)和双冒号(::)
- 文本框在鼠标离开时触发JS方法
- poj Buy Tickets(线段树)
- 何时需要虚函数(虚析构造函数的好处)
- 一个游戏程序员的学习资料
- HTML服务器推送技术简介
- xcode4的环境变量,Build Settings参数,workspace及联编设置