//刷新Query数据
CacheServiceFactory.getInstance().discardQuery(this.mainQueryPK);
4.26.5 设置选中根结点
treeMain.setSelectionRow(0);
4.26.6 类别新增与修改时,刷新当前选中结点
KDTreeNode treeNode = (KDTreeNode) treeMain .getLastSelectedPathComponent();
if (treeNode != null && treeNode.getParent() == null) {
TreePath oldPath = treeMain.getSelectionPath();
treeBuilder.refreshTreeNode(treeMain , treeNode,this.getDefaultFilterForTree());
treeMain.setSelectionPath(oldPath);
treeMain.expandPath(oldPath);
}
4.26.7 修改类别时刷新当前结点的父结点,并定位到当前结
点
KDTreeNode treeNode = (KDTreeNode) treeMain.getLastSelectedPathComponent(); if (treeNode != null && treeNode.getParent() != null) {
TreePath oldPath = treeMain.getSelectionPath();
TreePath parentPath = treeMain.getSelectionPath().getParentPath();
KDTreeNode parentNode = (KDTreeNode) treeNode.getParent();
treeBuilder.refreshTreeNode(treeMain , parentNode ,this.getDefaultFilterForTree());
treeMain.setSelectionPath(TreePathUtil.getNewTreePath(treeMain , treeMain.getModel() , oldPath)); }
4.27 手工发送消息
//以下是发送一个消息的核心片断,如果针对的是某组织批量发送,自己的需要取得组织的用户ID集合,然后构造receiver
SenderAgent senderAgent = SenderAgent.getSenderAgent(); Message message;
Locale[] lcla = getContextLocales(ctx);//获取ctx的语言信息列表 Locale locale = null;
message = MessageFactory.newMessage(\生成一个消息对象 for (int j = 0, m = lcla.length; j < m; j++) { //此处循环进行多语言消息的设置 locale = lcla[j]; message.setLocaleStringHeader(\标题\设置消息标题 message.setLocaleStringHeader(\发送人\设置发送人,属于文本,不是ID message.setLocaleStringHeader(\\消息体内容\设置消息体内容,根据具体业务自己设定 }
message.setIntHeader(\设置消息类型为通知
message.setIntHeader(\MsgBizType.WORKFLOW_VALUE);//业务类型设置为工作流
message.setIntHeader(\ALUE);//设置任务状态,此处是通知消息,所以设置空
message.setIntHeader(\MsgPriority.MIDDLE_VALUE);//设置消息优先级,自己根据需要设定相应的级别
message.setStringHeader(\得到数据中心 message.setStringHeader(\设置解决方案
message.setStringHeader(\
'4ff9eebb-0108-1000-e000-15acc0a813c813B7DE7F;4ff9eebb-0108-1000-e000-1db0c0a813c813B7DE7F'); //设置接收者,后面那参数是用户ID,多个ID可用分号\分割 senderAgent.sendMessage(message); //发送消息
/** * 获取ctx的语言信息列表 * * @param ctx * @return */ public static Locale[] getContextLocales(Context ctx) { Locale[] locales = null; SolutionInfo solu = MetaDataLoaderFactory.getLocalMetaDataLoader(ctx) .getSolution();
if (solu != null) { LanguageCollection langs = solu.getLanguages(); if (langs != null) {
locales = new Locale[langs.size()];
for (int i = 0; i < langs.size(); i++) { locales[i] = langs.get(i).getLocale(); } } }
return locales;
}
<完>