基于 IBM 和 FileNet 内容管理产品的联合查询服务
2010-02-05 00:00:00 来源:WEB开发网某些存储库可能不支持查询操作,因此在进行相关操作之前,应该获取存储库的配置信息,并判断其是否支持查询。IBM Content Manager 和 P8 Content Manager 都支持查询,因此接下来可创建一个 ICI 联合查询实例,并指定要查询的存储库连接器。
清单 2. 判断存储库是否支持查询,如果支持,创建一个联合查询实例
if(!cmRepo.getRepositoryProfile().getCanQuery()
|| !p8Repo.getRepositoryProfile().getCanQuery()){
System.out.println("选定的存储库不支持联合查询");
return;
}
MultiQuery query = repoUser.getMultiQueryInstance(); // 创建联合查询对象
query.addRepository(cmRepo);
query.addRepository(p8Repo);
调用相关 API 设置查询条件,如数据映射关系、最大查询结果数、查询限制条件、显示结果的字段和排序规则等,设置完毕后执行查询。ICI 有自己特定的查询语句格式,在对存储库进行查询操作之前,会将其转化为可被存储库所接受的查询语言。
清单 3. 设置查询条件和定制返回结果
query.setDataMapInUseName("TwoCMDataMap"); // 将数据映射关系添加到查询中
query.setMaxResults(5); // 设置最大查询结果数
query.setSelectionCriteria("Name Is NotNull"); // 设置查询限制条件
// 定制返回结果列表的字段
query.addSelectionProperties("stringType, dateType, integerType");
// 定义排序规则
SortSpecification aSpec =
new SortSpecification("integerType", SortSpecification.DESCENDING);
SortSpecification[] sortSpecs = {aSpec};
query.setSortSpecifications(sortSpecs);
// 指定查询类别如内容(Content)还是文件夹(Folder)
IResultSet irs = query.execItemQuery(IQuery.CONTENT_QUERY); // 执行查询
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››IBM WebSphere常见问题解答
- ››IBM WebSphere Studio V5相关认证资料
更多精彩
赞助商链接