Reputation: 4026
With Confluence Version 8.0 the:
import com.atlassian.confluence.search.v2.searchfilter.SiteSearchPermissionsSearchFilter;
has been removed and the docs say:
com.atlassian.confluence.search.v2.searchfilter (use the equivalent class that extends SearchQuery in 8.0)
Which is now the right way to create a searchQuery / searchFilter?
Current (Deprecated) Code:
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);
How can this be done with the Confluence 8.0 API?
Edit: We are developing a Plugin and the corresponding 8.0 classes from the docs SiteSearchPermissionsSearchFilter, SiteSearchPermissionsQuery are marked as Internal (not for plugin use)
Upvotes: 1
Views: 277
Reputation: 2388
This answer worked for me (so no credits for me)
Basic code:
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);
...
Upvotes: 0
Reputation: 963
I think, here is the best answer provided by a Atlassian staff member: https://community.developer.atlassian.com/t/broken-java-api-in-confluence-8-eap-contentsearch-getbyid-etc/62907/8
Summary: SearchFilter
is replaced with SearchQuery
and
SiteSearchPermissionsSearchFilter
by SiteSearchPermissionsQuery
.
Upvotes: 0