// Create the doc search cache and register a user master searcher
_documentSearchCache = new EHCachingSearchCache(name + "User", cacheManager, new EHCachingSearchCache.Searcher() {
@Override
public ObjectsPair<Integer, List<UniqueId>> search(Bean request, PagingRequest pagingRequest) {
// Fetch search results from underlying master
UserSearchResult result = ((UserMaster) getUnderlying()).search((UserSearchRequest)
EHCachingSearchCache.withPagingRequest((UserSearchRequest) request, pagingRequest));
// Cache the result documents
EHCachingSearchCache.cacheDocuments(result.getDocuments(), getUidToDocumentCache());
// Return the list of result UniqueIds
return new ObjectsPair<>(result.getPaging().getTotalItems(),
EHCachingSearchCache.extractUniqueIds(result.getDocuments()));
}
});
// Create the history search cache and register a security master searcher
_historySearchCache = new EHCachingSearchCache(name + "UserHistory", cacheManager, new EHCachingSearchCache.Searcher() {
@Override
public ObjectsPair<Integer, List<UniqueId>> search(Bean request, PagingRequest pagingRequest) {
// Fetch search results from underlying master
UserHistoryResult result = ((UserMaster) getUnderlying()).history((UserHistoryRequest)
EHCachingSearchCache.withPagingRequest((UserHistoryRequest) request, pagingRequest));
// Cache the result documents
EHCachingSearchCache.cacheDocuments(result.getDocuments(), getUidToDocumentCache());
// Return the list of result UniqueIds
return new ObjectsPair<>(result.getPaging().getTotalItems(),
EHCachingSearchCache.extractUniqueIds(result.getDocuments()));
}
});
// Prime document search cache
UserSearchRequest defaultSearch = new UserSearchRequest();