java - 在 FileNet ContentEngine 中搜索文件夹并检索其类

标签 java filenet-p8 filenet-content-engine

我已经获得了用于搜索文件夹和检索属性的代码。引用:Search folder hierarchy in FileNet for a particular folder

我正在尝试检索文件夹对象的类名,以便区分将存储在自定义文件夹中的不同类型的文档。

我遍历了 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();
}

我尝试了 row.getClass() 但它只是返回:RepositoryRowImpl

最佳答案

如果您在 SELECT 子句中使用 *,那么存储库行对象将包含该对象的所有属性。这还将包括一个名为 This 的属性。此属性是对返回对象的引用。因此,您可以使用以下代码来获取文件夹的类:

EngineObject eo = row.getProperties().getEngineObjectValue("This");
String className = eo.getClassName();

除了*,您还可以明确选择This。在这种情况下,您的查询将是这样的:

String sqlStatement = "SELECT This,Id FROM [Folder] WHERE ([FolderName] LIKE '%MyFolder%')";

这将限制从服务器获取的数据量。

关于java - 在 FileNet ContentEngine 中搜索文件夹并检索其类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56210730/

相关文章:

java - 将登录页面添加到现有的 angular2 应用程序

c# - FileNet P8 工作场所 token 问题

java - 使用路径获取 Filenet 中的 FileStorageArea [文档移动]

java - 使用 FileNet API 获取文档集中最新版本文档的检索名称

java - Filenet 中通过 EJB 传输的事务管理

c# - 如何使用某些客户端工具将批量数据插入 Membase Server 1.6

java - 为什么这个 Java 数组被认为是二维的?

java - 删除 Sprite 颜色键 libGDX

javascript - IBM Filenet 如何与 Angular 应用程序集成

filenet-p8 - 无需额外往返即可获取对象存储属性