Confluence 8.0 版:
import com.atlassian.confluence.search.v2.searchfilter.SiteSearchPermissionsSearchFilter;
已被删除,文档说:
com.atlassian.confluence.search.v2.searchfilter (use the equivalent class that extends SearchQuery in 8.0)
现在创建 searchQuery / searchFilter 的正确方法是什么?
当前(已弃用)代码:
import com.atlassian.confluence.search.v2.query.BooleanQuery;
import com.atlassian.confluence.search.v2.searchfilter.SiteSearchPermissionsSearchFilter;
....
ContentSearch search = new ContentSearch(BooleanQuery.composeAndQuery(allQueries), RELEVANCE_SORT, SiteSearchPermissionsSearchFilter.getInstance(), 0, 1);
如何使用 Confluence 8.0 API 来完成此操作?
编辑: 我们正在开发一个插件以及文档中相应的 8.0 类 SiteSearchPermissionsSearchFilter、SiteSearchPermissionsQuery 被标记为内部(不用于插件使用)
我认为,这是 Atlassian 工作人员提供的最佳答案: https://community.developer.atlassian.com/t/broken-java-api-in-confluence-8-eap-contentsearch-getbyid-etc/62907/8
总结:
SearchFilter
替换为 SearchQuery
并且
SiteSearchPermissionsSearchFilter
,作者:SiteSearchPermissionsQuery
。
这个答案对我有用(所以我没有学分)
基本代码:
private final SiteSearchPermissionsQueryFactory siteSearchPermissionsQueryFactory;
public YourService(@ComponentImport SiteSearchPermissionsQueryFactory siteSearchPermissionsQueryFactory) {
this.siteSearchPermissionsQueryFactory = siteSearchPermissionsQueryFactory;
}
...
Set<SearchQuery> queries = new HashSet<>();
queries.add(siteSearchPermissionsQueryFactory.create());
SearchQuery query = BooleanQuery.composeAndQuery(queries);
...