@Override public Iterable<User> find(int skip, int limit) { QueryResultsIterable<Vertex> userVertices = graph.query(authorizations) .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), userConceptId) .skip(skip) .limit(limit) .vertices(); return new ConvertingIterable<Vertex, User>(userVertices) { @Override protected User convert(Vertex vertex) { return createFromVertex(vertex); } }; }
@Override public Iterable<User> findByStatus(int skip, int limit, UserStatus status) { QueryResultsIterable<Vertex> userVertices = graph.query(authorizations) .has(VisalloProperties.CONCEPT_TYPE.getPropertyName(), userConceptId) .has(UserVisalloProperties.STATUS.getPropertyName(), status.toString()) .skip(skip) .limit(limit) .vertices(); return new ConvertingIterable<Vertex, User>(userVertices) { @Override protected User convert(Vertex vertex) { return createFromVertex(vertex); } }; }
@Override public QueryResultsIterableSearchResults run( SearchOptions searchOptions, User user, Authorizations authorizations ) { JSONArray filterJson = getFilterJson(searchOptions, searchOptions.getWorkspaceId()); QueryAndData queryAndData = getQuery(searchOptions, authorizations); applyFiltersToQuery(queryAndData, filterJson, user, searchOptions); applyConceptTypeFilterToQuery(queryAndData, searchOptions); applyEdgeLabelFilterToQuery(queryAndData, searchOptions); applySortToQuery(queryAndData, searchOptions); applyAggregationsToQuery(queryAndData, searchOptions); applyExtendedDataFilters(queryAndData, searchOptions); EnumSet<FetchHint> fetchHints = getFetchHints(searchOptions); Long size = searchOptions.getOptionalParameter("size", defaultSearchResultCount); if (size != null) { queryAndData.getQuery().limit(size); } Long offset = searchOptions.getOptionalParameter("offset", 0L); if (offset != null) { queryAndData.getQuery().skip(offset.intValue()); } QueryResultsIterable<? extends VertexiumObject> searchResults = getSearchResults(queryAndData, fetchHints); return new QueryResultsIterableSearchResults(searchResults, queryAndData, offset, size); }