我知道的唯一方法是迭代对象存储的属性模板,并通过比较符号名称和一些String来找到我需要的那个:
String propertySymName = "someName";
ObjectStore os = Factory.ObjectStore.fetchInstance(...); //assume object store is fetched correctly
String[] properties = {PropertyNames.PROPERTY_TEMPLATES};
os.fetchProperties(properties);
PropertyTemplateSet propertyTemplates = os.get_PropertyTemplates();
Iterator<?> iterator = propertyTemplates.iterator();
while (iterator.hasNext()) {
PropertyTemplate propertyTemplate = (PropertyTemplate) iterator.next();
String[] arg = {PropertyNames.SYMBOLIC_NAME};
propertyTemplate.refresh(arg);
if (propertyTemplate.get_SymbolicName().equals(propertySymName)) {
//do some stuff
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果对象存储库有很多属性模板,那么它可能会相当慢.有任何想法吗?我正在使用CE API 5.1
我们的组织使用IBM FileNet作为文档管理系统.FileNet P8附带了一个可以在.net中使用的Web服务API
有没有人试过这个?如果是的话,请指导我任何资源开始?
非常感谢提前.
其中一个要求是用新内容更新文档也删除旧文档.文档ID和上一个文档的其他属性应该指向具有新内容的新文档.
有任何样本片段做同样的感谢.
编辑:由于基于意见和基于事实而关闭,但答案基于事实:Case Manager是FileNet的超集,而不是竞争产品.
在我的项目中,我们正在考虑使用IBM Case Manager而不是FileNet P8 + ILOG JRules来实现贷款发放系统.我有责任研究通过FileNet P8迁移到案例管理的优缺点(我们已经在几个项目中使用过).
但我仍然不熟悉Case Manager.有人试过这个产品吗?请给我一些意见.整体体验是什么?是否值得改变?
我正在尝试更改给定文档的类,下面是我使用的代码
Document p8Document = Factory.Document.getInstance(p8ObjectStore,
oldDocumentClassName, new Id(documentId));
p8Document.changeClass(newDocClassName);
p8Document.save(RefreshMode.REFRESH);
Run Code Online (Sandbox Code Playgroud)
执行代码后,我可以看到文档类正在成功更改。现在的问题是,如果我为相同的 guid 再次运行代码,下面的行将使用旧文档类名称再次获取文档。
Document p8Document = Factory.Document.getInstance(p8ObjectStore,
oldDocumentClassName, new Id(documentId));
Run Code Online (Sandbox Code Playgroud) 我正在使用 IBM FileNet CE API 5.1 并面临性能问题,因为循环中的额外刷新和大量迭代(25000+)。这是代码示例:
for (Document document : documents) {
ObjectStore objectStore = document.getObjectStore();
objectStore.refresh(); //round-trip
String symbolicName = objectStore.get_SymbolicName();
...
}
Run Code Online (Sandbox Code Playgroud)
问题是,刷新前的 objectStore 对象根本没有任何缓存属性,甚至没有对象标识(如果我有我可以创建对象存储缓存以避免在每次迭代中刷新)。
文档可能有不同的对象存储(我正在搜索多个对象存储)。
我已经得到了用于搜索文件夹和检索属性的代码。参考:在 FileNet 中搜索特定文件夹的文件夹层次结构
我正在尝试检索文件夹对象的类名,以便区分将存储在自定义文件夹中的不同类型的文档。
我遍历 Properties 集合,但类的名称不是属性。
String sqlStatement = "SELECT * FROM [Folder] WHERE ([FolderName] LIKE '%MyFolder%')";
SearchSQL sqlObject = new SearchSQL(sqlStatement);
RepositoryRowSet rowSet = searchScope.fetchRows(sqlObject, null, null, new Boolean(true));
Iterator iter = myRows.iterator();
while (iter.hasNext()) {
RepositoryRow row = (RepositoryRow) iter.next();
String folderID = row.getProperties().getIdValue("ID").toString();
}
Run Code Online (Sandbox Code Playgroud)
我试过 row.getClass() 但它只是返回: RepositoryRowImpl
我是Filenet的新手,我被要求用Java开发一个事件动作处理程序.
我正在尝试为jace.jar库定义一个Javadoc ,但没有成功.
有谁知道这个Javadoc的URL是什么?(我需要com.filenet.api包装)
在 FileNet P8 中,我需要使用 JAVA API 获取自定义类的属性的数据类型。有没有办法做同样的事情?
我需要在 FileNet 中创建多内容文档。例如,假设我需要一个文档,其中包含一个 Word 文档、一个 JPEG 文件和一个 MP4 视频文件作为其内容。
任何帮助表示赞赏。谢谢!
我想删除当前版本中已设置特定属性的文档.如果已设置此属性,则需要删除该文档的所有版本.我当前搜索的实现IsCurrentVersion = TRUE and foo = 'bar'有一个问题,即只删除当前版本而不是旧版本.所以我假设我需要删除完整的VersionSeries?直到现在我用
doc.delete();
doc.save(RefreshMode.NO_REFRESH);
Run Code Online (Sandbox Code Playgroud)
我找到的每个文件.如何从系列中检索所有文档并将其删除?如果我将它添加到批处理中会更有效吗?
我正在开发一个需要从FileNet系统中提取文档的项目.我需要提取由Object_ID标识的文档并将它们存储在文件中.该系统在Windows下运行,并且正在使用Oracle 11G数据库.问题是:有没有办法使用直接数据库访问和SQL检索文档内容?我可以编写一个SQL查询,通过将其Object_ID作为参数传递来检索文档的二进制内容.谢谢