我想使用一个查询从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')
由于我不断收到有关输入不匹配的错误,因此无法正常工作。
答案 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获得更多
希望对你有所帮助。