@Override
public QueryResult<Sample> count(String studyStr, Query query, String sessionId) throws CatalogException {
query = ParamUtils.defaultObject(query, Query::new);
String userId = userManager.getUserId(sessionId);
Study study = catalogManager.getStudyManager().resolveId(studyStr, userId, new QueryOptions(QueryOptions.INCLUDE,
StudyDBAdaptor.QueryParams.VARIABLE_SET.key()));
AnnotationUtils.fixQueryAnnotationSearch(study, query);
fixQueryObject(study, query, sessionId);
query.append(SampleDBAdaptor.QueryParams.STUDY_UID.key(), study.getUid());
QueryResult<Long> queryResultAux = sampleDBAdaptor.count(query, userId, StudyAclEntry.StudyPermissions.VIEW_SAMPLES);
return new QueryResult<>("count", queryResultAux.getDbTime(), 0, queryResultAux.first(), queryResultAux.getWarningMsg(),
queryResultAux.getErrorMsg(), Collections.emptyList());
}