如何使用cmis查询过滤文件夹子项?

时间:2016-09-12 20:56:29

标签: alfresco cmis opencmis

我想使用一个查询从cmis 1.0兼容的存储库中过滤文件夹的子项。到目前为止似乎没有可能,所以我已经决定执行两个查询来检索子项(即文件夹和文档),但是仍然希望按自定义类型过滤子项,所以我有以下查询:

SELECT cmis:objectTypeId, cmis:objectId FROM cmis:folder WHERE cmis:objectTypeId = 'my:custom1' OR cmis:objectTypeId = 'my:custom2' OR cmis:objectTypeId = 'cmis:folder' IN_FOLDER('workspace://SpacesStore/fhj738tw-45hW-659u-9DS1-9cX3Nh95r089')

由于我不断收到有关输入不匹配的错误,因此无法正常工作。

1 个答案:

答案 0 :(得分:1)

我已使用此查询以获取特定folder

的子项
String query;
query = "SELECT * FROM cmis:document WHERE IN_FOLDER('" + folderId + "')";

并让所有孩子

ItemIterable<QueryResult> resultList = session.query(query, false);// No need to say about session ???

最后

for (QueryResult qr : resultList) {

String idDocument = qr.getPropertyByQueryName("cmis:objectId").getFirstValue().toString();
Document doc = (Document) session.getObject(idDocument);

}

请注意,在我的示例中,我只获得cmis:objectId您可以从Cmis Query获得更多

希望对你有所帮助。