java - Alfresco 选择为子节点属性创建的最大日期

标签 java alfresco

我正在使用 Alfresco 社区版。目前,我正在尝试为节点开发自定义行为,其中我根据直接子节点的最大创建日期(不需要子节点的子节点)采取操作。

有没有办法通过查询/方法获取节点子节点的最大创建日期?我想避免获得所有 child ,然后为每个 child 获得属性(property) - 这看起来相当丑陋并且可能很慢。

最佳答案

我相信您正在使用 java 类来添加该行为。对于搜索,您可以使用 SearchParameter 类,您可以在其中根据属性对结果集进行排序。 因此,以下代码将帮助您创建搜索参数,为您获取排序结果集(根据创建日期排序)。

SearchParameters sp = new SearchParameters();
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.setQuery(query);
sp.addStore(Repository.getStoreRef());
String field = org.alfresco.repo.search.impl.lucene.QueryParser.escape("@cm:created"); 
sp.addSort(org.alfresco.repo.search.impl.lucene.QueryParser.escape(field), false);

如果您有机会使用 JavaScript,那么您可以按如下方式对结果集进行排序。在以下查询中,您的搜索结果将根据创建日期按降序排序。

var nodes = search.luceneSearch("TEXT:alfresco", "@cm:created", false);

关于java - Alfresco 选择为子节点属性创建的最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582712/

相关文章:

具有重复外观的两个字符之间的 Java 正则表达式模式

hyperlink - 外部文件的链接

java - "cannot find symbol: variable input"错误

java - MapReduce分布式 reducer

apache-poi - 是否可以在露天使用 apache POI 转换?

java - ephesoft 中不存在 webscanner.nocache.js

alfresco - cmis或web脚本使用?

php - 通过 Chemistry in PHP 从 Alfresco 下载文件

java - 将Excel单元格文本转换为数字poi

Java 空字符串等于 NULL