Confluence 8.0 插件,searchFilter 已弃用/删除

问题描述 投票:0回答:2

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 被标记为内部(不用于插件使用)

java maven confluence atlassian-plugin-sdk
2个回答
0
投票

我认为,这是 Atlassian 工作人员提供的最佳答案: https://community.developer.atlassian.com/t/broken-java-api-in-confluence-8-eap-contentsearch-getbyid-etc/62907/8

总结:

SearchFilter
替换为
SearchQuery
并且
SiteSearchPermissionsSearchFilter
,作者:
SiteSearchPermissionsQuery


0
投票

这个答案对我有用(所以我没有学分)

基本代码:

    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);

    ...
© www.soinside.com 2019 - 2024. All rights reserved.